LLVM 19.0.0git
Functions | Variables
SeparateConstOffsetFromGEP.cpp File Reference
#include "llvm/Transforms/Scalar/SeparateConstOffsetFromGEP.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/MemoryBuiltins.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
#include <cassert>
#include <cstdint>
#include <string>

Go to the source code of this file.

Functions

 INITIALIZE_PASS_BEGIN (SeparateConstOffsetFromGEPLegacyPass, "separate-const-offset-from-gep", "Split GEPs to a variadic base and a constant offset for better CSE", false, false) INITIALIZE_PASS_END(SeparateConstOffsetFromGEPLegacyPass
 

Variables

static cl::opt< boolDisableSeparateConstOffsetFromGEP ("disable-separate-const-offset-from-gep", cl::init(false), cl::desc("Do not separate the constant offset from a GEP instruction"), cl::Hidden)
 
static cl::opt< boolVerifyNoDeadCode ("reassociate-geps-verify-no-dead-code", cl::init(false), cl::desc("Verify this pass produces no dead code"), cl::Hidden)
 
separate const offset from gep
 
separate const offset from Split GEPs to a variadic base and a constant offset for better CSE
 
separate const offset from Split GEPs to a variadic base and a constant offset for better false
 

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( SeparateConstOffsetFromGEPLegacyPass  ,
"separate-const-offset-from-gep"  ,
"Split GEPs to a variadic base and a constant offset for better CSE"  ,
false  ,
false   
)

Variable Documentation

◆ CSE

separate const offset from Split GEPs to a variadic base and a constant offset for better CSE

Definition at line 504 of file SeparateConstOffsetFromGEP.cpp.

Referenced by llvm::EarlyCSEPass::run().

◆ DisableSeparateConstOffsetFromGEP

cl::opt< bool > DisableSeparateConstOffsetFromGEP("disable-separate-const-offset-from-gep", cl::init(false), cl::desc("Do not separate the constant offset from a GEP instruction"), cl::Hidden) ( "disable-separate-const-offset-from-gep"  ,
cl::init(false)  ,
cl::desc("Do not separate the constant offset from a GEP instruction")  ,
cl::Hidden   
)
static

◆ false

separate const offset from Split GEPs to a variadic base and a constant offset for better false

Definition at line 504 of file SeparateConstOffsetFromGEP.cpp.

◆ gep

separate const offset from gep

◆ VerifyNoDeadCode

cl::opt< bool > VerifyNoDeadCode("reassociate-geps-verify-no-dead-code", cl::init(false), cl::desc("Verify this pass produces no dead code"), cl::Hidden) ( "reassociate-geps-verify-no-dead-code"  ,
cl::init(false)  ,
cl::desc("Verify this pass produces no dead code")  ,
cl::Hidden   
)
static