@@ -751,7 +751,7 @@ class InlineCostCallAnalyzer final : public CallAnalyzer {
751751 if (CA.analyze ().isSuccess ()) {
752752 // We were able to inline the indirect call! Subtract the cost from the
753753 // threshold to get the bonus we want to apply, but don't go below zero.
754- Cost -= std::max (0 , CA.getThreshold () - CA.getCost ());
754+ addCost (- std::max (0 , CA.getThreshold () - CA.getCost () ));
755755 }
756756 } else
757757 // Otherwise simply add the cost for merely making the call.
@@ -1191,7 +1191,7 @@ class InlineCostCallAnalyzer final : public CallAnalyzer {
11911191 // If this function uses the coldcc calling convention, prefer not to inline
11921192 // it.
11931193 if (F.getCallingConv () == CallingConv::Cold)
1194- Cost += InlineConstants::ColdccPenalty;
1194+ addCost ( InlineConstants::ColdccPenalty) ;
11951195
11961196 LLVM_DEBUG (dbgs () << " Initial cost: " << Cost << " \n " );
11971197
@@ -2193,7 +2193,7 @@ void InlineCostCallAnalyzer::updateThreshold(CallBase &Call, Function &Callee) {
21932193 // the cost of inlining it drops dramatically. It may seem odd to update
21942194 // Cost in updateThreshold, but the bonus depends on the logic in this method.
21952195 if (isSoleCallToLocalFunction (Call, F)) {
2196- Cost -= LastCallToStaticBonus;
2196+ addCost (- LastCallToStaticBonus) ;
21972197 StaticBonusApplied = LastCallToStaticBonus;
21982198 }
21992199}
0 commit comments