[llvm] [AArch64] Adjust comparison constant if adjusting it means less instructions (PR #151024)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 11 06:21:55 PDT 2025


================
@@ -656,14 +656,13 @@ tryAdjustICmpImmAndPred(Register RHS, CmpInst::Predicate P,
   if (isLegalArithImmed(C))
     return {{C, P}};
 
-  auto IsMaterializableInSingleInstruction = [=](uint64_t Imm) {
+  auto NumberOfInstrToLoadImm = [=](uint64_t Imm) {
     SmallVector<AArch64_IMM::ImmInsnModel> Insn;
     AArch64_IMM::expandMOVImm(Imm, 32, Insn);
-    return Insn.size() == 1;
+    return Insn.size();
   };
 
-  if (!IsMaterializableInSingleInstruction(OriginalC) &&
-      IsMaterializableInSingleInstruction(C))
+  if (NumberOfInstrToLoadImm(OriginalC) > NumberOfInstrToLoadImm(C))
----------------
AZero13 wrote:

It's to match seldag

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


More information about the llvm-commits mailing list