[llvm] [X86][APX] Reuse EFLAGS across multi-predecessor blocks via NF in optimizeCompareInstr (PR #208184)
Feng Zou via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 16 21:08:12 PDT 2026
================
@@ -1221,26 +1221,24 @@ define i32 @two_address_no_subreg(i32 %arg0, ptr %arg1, i1 %arg2) nounwind {
; NF-NEXT: jne .LBB50_2 # encoding: [0x75,A]
; NF-NEXT: # fixup A - offset: 1, value: .LBB50_2, kind: FK_PCRel_1
; NF-NEXT: # %bb.1: # %bb2
-; NF-NEXT: xorl %r12d, %r12d # encoding: [0x45,0x31,0xe4]
+; NF-NEXT: movl $0, %r12d # encoding: [0x41,0xbc,0x00,0x00,0x00,0x00]
; NF-NEXT: .LBB50_2: # %bb1
-; NF-NEXT: movl %r13d, %esi # encoding: [0x44,0x89,0xee]
-; NF-NEXT: addl (%rsp), %esi # 4-byte Folded Reload
-; NF-NEXT: # encoding: [0x03,0x34,0x24]
-; NF-NEXT: {nf} imull %ebx, %ebx, %r13d # EVEX TO EVEX Compression encoding: [0x62,0xf4,0x14,0x1c,0xaf,0xdb]
-; NF-NEXT: testb $1, %bpl # encoding: [0x40,0xf6,0xc5,0x01]
+; NF-NEXT: movq (%rsp), %rax # 8-byte Reload
+; NF-NEXT: # encoding: [0x48,0x8b,0x04,0x24]
+; NF-NEXT: {nf} addl %eax, %r13d, %ebp # encoding: [0x62,0xd4,0x54,0x1c,0x01,0xc5]
+; NF-NEXT: {nf} imull %ebx, %ebx, %r13d # encoding: [0x62,0xf4,0x14,0x1c,0xaf,0xdb]
----------------
fzou1 wrote:
Yes. That may be better.
https://github.com/llvm/llvm-project/pull/208184
More information about the llvm-commits
mailing list