[llvm] [BOLT][AArch64]support `inline-small-functions` for AArch64 (PR #120187)

Vladislav Khmelevsky via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 17 13:48:17 PST 2024


================
@@ -133,6 +133,34 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
 public:
   using MCPlusBuilder::MCPlusBuilder;
 
+  MCPhysReg getStackPointer() const override { return AArch64::SP; }
+
+  bool isPush(const MCInst &Inst) const override { return false; }
+
+  bool isPop(const MCInst &Inst) const override { return false; }
+
+  void createCall(MCInst &Inst, const MCSymbol *Target,
+                  MCContext *Ctx) override {
+    createDirectCall(Inst, Target, Ctx, false);
+  }
+
+  bool convertTailCallToCall(MCInst &Inst) override {
+    int NewOpcode;
+    switch (Inst.getOpcode()) {
+    default:
+      return false;
+    case AArch64::B:
+      NewOpcode = AArch64::BL;
+      break;
+    case AArch64::BR:
+      NewOpcode = AArch64::BLR;
+      break;
+    }
----------------
yota9 wrote:

New line please

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


More information about the llvm-commits mailing list