diff options
Diffstat (limited to 'lib/CodeGen/CodeGenPrepare.cpp')
| -rw-r--r-- | lib/CodeGen/CodeGenPrepare.cpp | 17 | 
1 files changed, 5 insertions, 12 deletions
diff --git a/lib/CodeGen/CodeGenPrepare.cpp b/lib/CodeGen/CodeGenPrepare.cpp index c4794380f791..d6f55bba716f 100644 --- a/lib/CodeGen/CodeGenPrepare.cpp +++ b/lib/CodeGen/CodeGenPrepare.cpp @@ -352,8 +352,6 @@ bool CodeGenPrepare::runOnFunction(Function &F) {    // Clear per function information.    InsertedInsts.clear();    PromotedInsts.clear(); -  BFI.reset(); -  BPI.reset();    ModifiedDT = false;    if (auto *TPC = getAnalysisIfAvailable<TargetPassConfig>()) { @@ -365,14 +363,16 @@ bool CodeGenPrepare::runOnFunction(Function &F) {    TLInfo = &getAnalysis<TargetLibraryInfoWrapperPass>().getTLI();    TTI = &getAnalysis<TargetTransformInfoWrapperPass>().getTTI(F);    LI = &getAnalysis<LoopInfoWrapperPass>().getLoopInfo(); +  BPI.reset(new BranchProbabilityInfo(F, *LI)); +  BFI.reset(new BlockFrequencyInfo(F, *BPI, *LI));    OptSize = F.optForSize();    ProfileSummaryInfo *PSI =        getAnalysis<ProfileSummaryInfoWrapperPass>().getPSI();    if (ProfileGuidedSectionPrefix) { -    if (PSI->isFunctionHotInCallGraph(&F)) +    if (PSI->isFunctionHotInCallGraph(&F, *BFI))        F.setSectionPrefix(".hot"); -    else if (PSI->isFunctionColdInCallGraph(&F)) +    else if (PSI->isFunctionColdInCallGraph(&F, *BFI))        F.setSectionPrefix(".unlikely");    } @@ -652,13 +652,6 @@ bool CodeGenPrepare::isMergingEmptyBlockProfitable(BasicBlock *BB,    if (SameIncomingValueBBs.count(Pred))      return true; -  if (!BFI) { -    Function &F = *BB->getParent(); -    LoopInfo LI{DominatorTree(F)}; -    BPI.reset(new BranchProbabilityInfo(F, LI)); -    BFI.reset(new BlockFrequencyInfo(F, *BPI, LI)); -  } -    BlockFrequency PredFreq = BFI->getBlockFreq(Pred);    BlockFrequency BBFreq = BFI->getBlockFreq(BB); @@ -3704,7 +3697,7 @@ bool AddressingModeMatcher::matchOperationAddr(User *AddrInst, unsigned Opcode,        } else {          uint64_t TypeSize = DL.getTypeAllocSize(GTI.getIndexedType());          if (ConstantInt *CI = dyn_cast<ConstantInt>(AddrInst->getOperand(i))) { -          ConstantOffset += CI->getSExtValue()*TypeSize; +          ConstantOffset += CI->getSExtValue() * TypeSize;          } else if (TypeSize) {  // Scales of zero don't do anything.            // We only allow one variable index at the moment.            if (VariableOperand != -1)  | 
