[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