[llvm-branch-commits] [llvm] [ctx_prof] Add support for ICP (PR #105469)

Mircea Trofin via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Aug 26 19:34:48 PDT 2024


================
@@ -572,6 +575,89 @@ CallBase &llvm::promoteCallWithIfThenElse(CallBase &CB, Function *Callee,
   return promoteCall(NewInst, Callee);
 }
 
+CallBase *llvm::promoteCallWithIfThenElse(CallBase &CB, Function &Callee,
+                                          PGOContextualProfile &CtxProf) {
+  assert(CB.isIndirectCall());
+  if (!CtxProf.isFunctionKnown(Callee))
+    return nullptr;
+  auto &Caller = *CB.getParent()->getParent();
+  auto *CSInstr = CtxProfAnalysis::getCallsiteInstrumentation(CB);
+  if (!CSInstr)
+    return nullptr;
+  const auto CSIndex = CSInstr->getIndex()->getZExtValue();
----------------
mtrofin wrote:

Done.

https://github.com/llvm/llvm-project/pull/105469


More information about the llvm-branch-commits mailing list