[llvm-branch-commits] [llvm] [BOLT][BTI] Add MCPlusBuilder::addBTItoBBStart (PR #167329)

Peter Waller via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Nov 24 06:09:27 PST 2025


================
@@ -1888,6 +1888,19 @@ class MCPlusBuilder {
     llvm_unreachable("not implemented");
   }
 
+  /// Checks if the indirect call / jump is accepted by the landing pad at the
+  /// start of the target BasicBlock.
+  virtual bool isBTIVariantCoveringCall(MCInst &Call, MCInst &Pad) const {
+    llvm_unreachable("not implemented");
+    return false;
+  }
+
+  /// Adds a BTI landing pad to the start of the BB, that matches the indirect
+  /// call/jump inst.
+  virtual void addBTItoBBStart(BinaryBasicBlock &BB, MCInst &Call) const {
----------------
peterwaller-arm wrote:

ensureBTITarget?
makeBTITarget?

On the other hand `insertBTI` I think should be reasonably clear. If it begins with `if (alreadyBTITarget) return;` that shouldn't be too surprising to a developer given the purpose of BTI. At least I can't think of a good reason to need to double them up.

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


More information about the llvm-branch-commits mailing list