Lines Matching defs:CodeGenPrepare
1 //===- CodeGenPrepare.cpp - Prepare a function for code generation --------===//
15 #include "llvm/CodeGen/CodeGenPrepare.h"
138 cl::desc("Disable branch optimizations in CodeGenPrepare"));
142 cl::desc("Disable GC optimizations in CodeGenPrepare"));
159 cl::desc("Disable store(extract) optimizations in CodeGenPrepare"));
163 cl::desc("Stress test store(extract) optimizations in CodeGenPrepare"));
168 "CodeGenPrepare"));
173 "optimization in CodeGenPrepare"));
258 "CodeGenPrepare."));
262 cl::desc("Enable converting phi types in CodeGenPrepare"));
305 class CodeGenPrepare {
370 CodeGenPrepare(){};
371 CodeGenPrepare(const TargetMachine *TM) : TM(TM){};
512 CodeGenPrepare CGP(TM);
547 CodeGenPrepare CGP(TM);
560 bool CodeGenPrepare::run(Function &F, FunctionAnalysisManager &AM) {
577 bool CodeGenPrepare::_run(Function &F) {
777 bool CodeGenPrepare::eliminateAssumptions(Function &F) {
799 void CodeGenPrepare::removeAllAssertingVHReferences(Value *V) {
821 void LLVM_ATTRIBUTE_UNUSED CodeGenPrepare::verifyBFIUpdates(Function &F) {
832 bool CodeGenPrepare::eliminateFallThrough(Function &F, DominatorTree *DT) {
887 BasicBlock *CodeGenPrepare::findDestBlockOfMergeableEmptyBlock(BasicBlock *BB) {
922 bool CodeGenPrepare::eliminateMostlyEmptyBlocks(Function &F) {
959 bool CodeGenPrepare::isMergingEmptyBlockProfitable(BasicBlock *BB,
1046 bool CodeGenPrepare::canMergeBlocks(const BasicBlock *BB,
1129 void CodeGenPrepare::eliminateMostlyEmptyBlock(BasicBlock *BB) {
1369 bool CodeGenPrepare::simplifyOffsetableRelocate(GCStatepointInst &I) {
1556 bool CodeGenPrepare::replaceMathCmpWithIntrinsic(BinaryOperator *BO,
1669 bool CodeGenPrepare::combineToUAddWithOverflow(CmpInst *Cmp,
1703 bool CodeGenPrepare::combineToUSubWithOverflow(CmpInst *Cmp,
2146 bool CodeGenPrepare::optimizeURem(Instruction *Rem) {
2177 bool CodeGenPrepare::optimizeCmp(CmpInst *Cmp, ModifyDT &ModifiedDT) {
2576 bool CodeGenPrepare::optimizeCallInst(CallInst *CI, ModifyDT &ModifiedDT) {
2872 bool CodeGenPrepare::dupRetToEnableTailCallOpts(BasicBlock *BB,
3754 /// The instructions inserted by other CodeGenPrepare optimizations.
3797 /// \p InsertedInsts The instructions inserted by other CodeGenPrepare
4781 /// other CodeGenPrepare optimizations. This information is important
4782 /// because we do not want to promote these instructions as CodeGenPrepare
5625 /// Note that this (like most of CodeGenPrepare) is just a rough heuristic. If
5739 bool CodeGenPrepare::optimizeMemoryInst(Instruction *MemoryInst, Value *Addr,
6154 bool CodeGenPrepare::optimizeGatherScatterInst(Instruction *MemoryInst,
6290 bool CodeGenPrepare::optimizeInlineAsmInst(CallInst *CS) {
6369 bool CodeGenPrepare::tryToPromoteExts(
6468 bool CodeGenPrepare::mergeSExts(Function &F) {
6542 bool CodeGenPrepare::splitLargeGEPOffsets() {
6663 bool CodeGenPrepare::optimizePhiType(
6806 bool CodeGenPrepare::optimizePhiTypes(Function &F) {
6830 bool CodeGenPrepare::canFormExtLd(
6888 bool CodeGenPrepare::optimizeExt(Instruction *&Inst) {
6935 bool CodeGenPrepare::performAddressTypePromotion(
7000 bool CodeGenPrepare::optimizeExtUses(Instruction *I) {
7127 bool CodeGenPrepare::optimizeLoadExt(LoadInst *Load) {
7334 bool CodeGenPrepare::optimizeShiftInst(BinaryOperator *Shift) {
7367 bool CodeGenPrepare::optimizeFunnelShift(IntrinsicInst *Fsh) {
7404 bool CodeGenPrepare::optimizeSelectInst(SelectInst *SI) {
7596 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) {
7636 bool CodeGenPrepare::tryToSinkFreeOperands(Instruction *I) {
7711 bool CodeGenPrepare::optimizeSwitchType(SwitchInst *SI) {
7761 bool CodeGenPrepare::optimizeSwitchPhiConstants(SwitchInst *SI) {
7839 bool CodeGenPrepare::optimizeSwitchInst(SwitchInst *SI) {
8170 bool CodeGenPrepare::optimizeExtractElementInst(Instruction *Inst) {
8252 /// it in CodeGenPrepare to catch the case in which pattern is across
8586 bool CodeGenPrepare::optimizeInst(Instruction *I, ModifyDT &ModifiedDT) {
8774 bool CodeGenPrepare::makeBitReverse(Instruction &I) {
8794 bool CodeGenPrepare::optimizeBlock(BasicBlock &BB, ModifyDT &ModifiedDT) {
8835 bool CodeGenPrepare::fixupDbgValue(Instruction *I) {
8859 bool CodeGenPrepare::fixupDbgVariableRecordsOnInst(Instruction &I) {
8868 bool CodeGenPrepare::fixupDbgVariableRecord(DbgVariableRecord &DVR) {
8915 bool CodeGenPrepare::placeDbgValues(Function &F) {
8989 bool CodeGenPrepare::placePseudoProbes(Function &F) {
9038 bool CodeGenPrepare::splitBranchCondition(Function &F, ModifyDT &ModifiedDT) {