[llvm] [ARM] Stop gluing ALU nodes to branches / selects (PR #116970)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 20 11:36:41 PST 2024


================
@@ -1965,32 +1965,34 @@ define float @debug_info(float %gamma, float %slopeLimit, i1 %or.cond, double %t
 ; ARM-ENABLE-NEXT:  @ %bb.1: @ %bb3
 ; ARM-ENABLE-NEXT:    push {r4, r7, lr}
 ; ARM-ENABLE-NEXT:    add r7, sp, #4
-; ARM-ENABLE-NEXT:    sub r4, sp, #16
+; ARM-ENABLE-NEXT:    sub r4, sp, #24
----------------
s-barannikov wrote:

I *think* that the reason is that DAG scheduler placed VADD before the call to `pow` and this increased register pressure over the limit. (Unfortunately, *machine* scheduler can't reorder instructions around calls.)


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


More information about the llvm-commits mailing list