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){};
511 CodeGenPrepare CGP(TM);
546 CodeGenPrepare CGP(TM);
559 bool CodeGenPrepare::run(Function &F, FunctionAnalysisManager &AM) {
576 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) {
1363 bool CodeGenPrepare::simplifyOffsetableRelocate(GCStatepointInst &I) {
1550 bool CodeGenPrepare::replaceMathCmpWithIntrinsic(BinaryOperator *BO,
1663 bool CodeGenPrepare::combineToUAddWithOverflow(CmpInst *Cmp,
1697 bool CodeGenPrepare::combineToUSubWithOverflow(CmpInst *Cmp,
1977 bool CodeGenPrepare::optimizeCmp(CmpInst *Cmp, ModifyDT &ModifiedDT) {
2373 bool CodeGenPrepare::optimizeCallInst(CallInst *CI, ModifyDT &ModifiedDT) {
2623 bool CodeGenPrepare::dupRetToEnableTailCallOpts(BasicBlock *BB,
3467 /// The instructions inserted by other CodeGenPrepare optimizations.
3510 /// \p InsertedInsts The instructions inserted by other CodeGenPrepare
4494 /// other CodeGenPrepare optimizations. This information is important
4495 /// because we do not want to promote these instructions as CodeGenPrepare
5340 /// Note that this (like most of CodeGenPrepare) is just a rough heuristic. If
5454 bool CodeGenPrepare::optimizeMemoryInst(Instruction *MemoryInst, Value *Addr,
5869 bool CodeGenPrepare::optimizeGatherScatterInst(Instruction *MemoryInst,
6005 bool CodeGenPrepare::optimizeInlineAsmInst(CallInst *CS) {
6084 bool CodeGenPrepare::tryToPromoteExts(
6183 bool CodeGenPrepare::mergeSExts(Function &F) {
6257 bool CodeGenPrepare::splitLargeGEPOffsets() {
6378 bool CodeGenPrepare::optimizePhiType(
6521 bool CodeGenPrepare::optimizePhiTypes(Function &F) {
6545 bool CodeGenPrepare::canFormExtLd(
6603 bool CodeGenPrepare::optimizeExt(Instruction *&Inst) {
6650 bool CodeGenPrepare::performAddressTypePromotion(
6715 bool CodeGenPrepare::optimizeExtUses(Instruction *I) {
6842 bool CodeGenPrepare::optimizeLoadExt(LoadInst *Load) {
7042 bool CodeGenPrepare::optimizeShiftInst(BinaryOperator *Shift) {
7075 bool CodeGenPrepare::optimizeFunnelShift(IntrinsicInst *Fsh) {
7112 bool CodeGenPrepare::optimizeSelectInst(SelectInst *SI) {
7304 bool CodeGenPrepare::optimizeShuffleVectorInst(ShuffleVectorInst *SVI) {
7344 bool CodeGenPrepare::tryToSinkFreeOperands(Instruction *I) {
7422 bool CodeGenPrepare::optimizeSwitchType(SwitchInst *SI) {
7472 bool CodeGenPrepare::optimizeSwitchPhiConstants(SwitchInst *SI) {
7550 bool CodeGenPrepare::optimizeSwitchInst(SwitchInst *SI) {
7881 bool CodeGenPrepare::optimizeExtractElementInst(Instruction *Inst) {
7963 /// it in CodeGenPrepare to catch the case in which pattern is across
8297 bool CodeGenPrepare::optimizeInst(Instruction *I, ModifyDT &ModifiedDT) {
8481 bool CodeGenPrepare::makeBitReverse(Instruction &I) {
8501 bool CodeGenPrepare::optimizeBlock(BasicBlock &BB, ModifyDT &ModifiedDT) {
8542 bool CodeGenPrepare::fixupDbgValue(Instruction *I) {
8566 bool CodeGenPrepare::fixupDbgVariableRecordsOnInst(Instruction &I) {
8575 bool CodeGenPrepare::fixupDbgVariableRecord(DbgVariableRecord &DVR) {
8622 bool CodeGenPrepare::placeDbgValues(Function &F) {
8696 bool CodeGenPrepare::placePseudoProbes(Function &F) {
8745 bool CodeGenPrepare::splitBranchCondition(Function &F, ModifyDT &ModifiedDT) {