[llvm] [BOLT][AArch64] Transform cmpbr ~> cmp + br when inversion not possible (PR #185731)

Paschalis Mpeis via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 08:09:23 PDT 2026


================
@@ -2155,38 +2175,76 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
     }
   }
 
-  bool isReversibleBranch(const MCInst &Inst) const override {
+  bool is32BitVariant(unsigned Opcode) const {
+    switch (Opcode) {
+    default:
+      return false;
+    case AArch64::CBGTWri:
+    case AArch64::CBLTWri:
+    case AArch64::CBHIWri:
+    case AArch64::CBLOWri:
+      return true;
+    }
+  }
+
+  bool isReversibleBranch(const MCInst &Inst,
+                          DataflowInfoManager *DIM = nullptr) const override {
     if (isCompAndBranch(Inst)) {
+      bool IsReversible =
----------------
paschalis-mpeis wrote:

Maybe we could pick another name here, to indicate that LA allows us to eventually rewrite this into a reversed form?

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


More information about the llvm-commits mailing list