18 #ifndef LLVM_TRANSFORMS_INSTCOMBINE_INSTCOMBINE_H
19 #define LLVM_TRANSFORMS_INSTCOMBINE_INSTCOMBINE_H
29 bool ExpensiveCombines;
35 : ExpensiveCombines(ExpensiveCombines) {}
46 const bool ExpensiveCombines;
static PassRegistry * getPassRegistry()
getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...
A CRTP mix-in to automatically provide informational APIs needed for passes.
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)
A set of analyses that are preserved following a run of a transformation pass.
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - This function should be overriden by passes that need analysis information to do t...
The legacy pass manager's instcombine pass.
InstructionCombiningPass(bool ExpensiveCombines=true)
InstCombineWorklist - This is the worklist management logic for InstCombine.
bool runOnFunction(Function &F) override
runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass...
InstCombinePass(bool ExpensiveCombines=true)
void initializeInstructionCombiningPassPass(PassRegistry &)
StringRef - Represent a constant reference to a string, i.e.
A container for analyses that lazily runs them and caches their results.
This header defines various interfaces for pass management in LLVM.