[llvm] [NFC][AArch64] ConditionOptimizer: add CmpCondPair and tryOptimizePair (PR #187160)

Hussam Alhassan via llvm-commits llvm-commits at lists.llvm.org
Sat Mar 21 10:57:50 PDT 2026


================
@@ -436,6 +428,96 @@ static bool isLessThan(AArch64CC::CondCode Cmp) {
   return Cmp == AArch64CC::LT || Cmp == AArch64CC::LO;
 }
 
+bool AArch64ConditionOptimizerImpl::tryOptimizePair(CmpCondPair &First,
+                                                    CmpCondPair &Second) {
+  int FirstImmTrueValue = First.getImm();
+  int SecondImmTrueValue = Second.getImm();
+  if (First.getOpc() == AArch64::ADDSWri || First.getOpc() == AArch64::ADDSXri)
+    FirstImmTrueValue = -FirstImmTrueValue;
----------------
hussam-alhassan wrote:

Given that a `CMP`s immediate is 12 bits, my understanding is that it shouldn't be possible

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


More information about the llvm-commits mailing list