[llvm] [LICM] Fold associative binary ops to promote code hoisting (PR #81608)
Chen Zheng via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 19 17:27:09 PST 2024
================
@@ -30,14 +30,16 @@ define dso_local void @P10_Spill_CR_LT() local_unnamed_addr {
; CHECK-NEXT: mflr r0
; CHECK-NEXT: std r0, 16(r1)
; CHECK-NEXT: stw r12, 8(r1)
-; CHECK-NEXT: stdu r1, -48(r1)
-; CHECK-NEXT: .cfi_def_cfa_offset 48
+; CHECK-NEXT: stdu r1, -64(r1)
+; CHECK-NEXT: .cfi_def_cfa_offset 64
; CHECK-NEXT: .cfi_offset lr, 16
+; CHECK-NEXT: .cfi_offset r29, -24
; CHECK-NEXT: .cfi_offset r30, -16
; CHECK-NEXT: .cfi_offset cr2, 8
; CHECK-NEXT: .cfi_offset cr3, 8
; CHECK-NEXT: .cfi_offset cr4, 8
-; CHECK-NEXT: std r30, 32(r1) # 8-byte Folded Spill
+; CHECK-NEXT: std r29, 40(r1) # 8-byte Folded Spill
+; CHECK-NEXT: std r30, 48(r1) # 8-byte Folded Spill
----------------
chenzheng1030 wrote:
This case shows negative impact. After the re-association, more registers are used. It could be an issue to later passes like register allocation or scheduler. I don't think it should be a blocker for this patch. What do you think? @amy-kwan
https://github.com/llvm/llvm-project/pull/81608
More information about the llvm-commits
mailing list