From bfc6d8b59b7b3f736f43ba16666c1f7ed9c780e4 Mon Sep 17 00:00:00 2001 From: Sam Parker Date: Fri, 21 Aug 2020 13:10:25 +0100 Subject: [PATCH] [NFC][SimplifyCFG] Formatting and variable rename --- llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 1f9e73f..2e41ccc 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -2043,22 +2043,23 @@ bool SimplifyCFGOpt::SpeculativelyExecuteBB(BranchInst *BI, BasicBlock *ThenBB, BasicBlock *EndBB = ThenBB->getTerminator()->getSuccessor(0); TargetTransformInfo::TargetCostKind CostKind = - BI->getFunction()->hasMinSize() ? - TargetTransformInfo::TCK_CodeSize : - TargetTransformInfo::TCK_SizeAndLatency; + BI->getFunction()->hasMinSize() + ? TargetTransformInfo::TCK_CodeSize + : TargetTransformInfo::TCK_SizeAndLatency; // Check how expensive it will be to insert the necessary selects. - unsigned CostOfSelects = 0; + int BudgetRemaining = + PHINodeFoldingThreshold * TargetTransformInfo::TCC_Basic; for (PHINode &PN : EndBB->phis()) { unsigned OrigI = PN.getBasicBlockIndex(BB); unsigned ThenI = PN.getBasicBlockIndex(ThenBB); Value *OrigV = PN.getIncomingValue(OrigI); Value *ThenV = PN.getIncomingValue(ThenI); if (OrigV != ThenV) - CostOfSelects += + BudgetRemaining -= TTI.getCmpSelInstrCost(Instruction::Select, PN.getType(), nullptr, CostKind); } - if (CostOfSelects > PHINodeFoldingThreshold * TargetTransformInfo::TCC_Basic) + if (BudgetRemaining < 0) return false; // If ThenBB is actually on the false edge of the conditional branch, remember -- 2.7.4