[llvm] [CodeGen] Treat hasOrderedMemoryRef as implying arbitrary loads or stores (PR #182000)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 3 06:53:14 PST 2026
================
@@ -1156,17 +1156,17 @@ define arm_aapcs_vfpcc void @_Z37_arm_radix4_butterfly_inverse_f32_mvePK21arm_cf
; CHECK-NEXT: bne .LBB7_6
; CHECK-NEXT: b .LBB7_2
; CHECK-NEXT: .LBB7_9:
+; CHECK-NEXT: adr r1, .LCPI7_0
----------------
jayfoad wrote:
After this patch machine-sink refuses to sink the t2LEApcrel...MVE_VLDRWU32 instruction past t2WhileLoopSetup and t2WhileLoopStart which both have side effects.
```
%132:rgpr = t2LEApcrel %const.0, 14, $noreg
%133:mqpr = MVE_VLDRWU32 killed %132:rgpr, 0, 0, $noreg, $noreg :: (load (s128) from constant-pool)
%135:mqpr = IMPLICIT_DEF
%134:mqpr = MVE_VADD_qr_i32 killed %133:mqpr, %54:rgpr, 0, $noreg, $noreg, %135:mqpr(tied-def 0)
%10:mqpr, early-clobber %9:mqpr = MVE_VLDRWU32_qi_pre %134:mqpr(tied-def 0), 64, 0, $noreg, $noreg :: (load (s128), align 1)
%136:gprlr = t2WhileLoopSetup killed %131:rgpr
t2WhileLoopStart %136:gprlr, %bb.12, implicit-def dead $cpsr
```
https://github.com/llvm/llvm-project/pull/182000
More information about the llvm-commits
mailing list