[llvm] [Reland][X86] Remove redundant `cmp` before `adc` after `lzcnt` or `tzcnt` (PR #210069)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 20 09:02:06 PDT 2026
================
@@ -5619,6 +5647,19 @@ bool X86InstrInfo::optimizeCompareInstr(MachineInstr &CmpInstr, Register SrcReg,
ShouldUpdateCC = true;
}
+ if (LTZCNTInst) {
+ unsigned InstCode = Instr.getOpcode();
+ bool UsesOnlyCF = X86::isADC(InstCode) || X86::isSBB(InstCode) ||
+ X86::isRCL(InstCode) || X86::isRCR(InstCode) ||
+ OldCC == X86::COND_B || OldCC == X86::COND_AE;
+ if (!UsesOnlyCF)
+ return false;
+
+ MI = LTZCNTInst;
+ FlagsMayLiveOut = false;
----------------
phoebewang wrote:
Why set it false?
https://github.com/llvm/llvm-project/pull/210069
More information about the llvm-commits
mailing list