mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
Bill's example is still not enough to repro this, but it has other issues that
seem significant as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42564 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
471ab54df7
commit
67a1af9709
@ -1277,6 +1277,14 @@ LBB3_5: # bb114.preheader
|
|||||||
movl %eax, -96(%ebp)
|
movl %eax, -96(%ebp)
|
||||||
movw $0, -98(%ebp)
|
movw $0, -98(%ebp)
|
||||||
|
|
||||||
|
This appears to be bad because the RA is not folding the store to the stack
|
||||||
|
slot into the movl. The above instructions could be:
|
||||||
|
movl $32, -80(%ebp)
|
||||||
|
...
|
||||||
|
movl $32, -84(%ebp)
|
||||||
|
...
|
||||||
|
This seems like a cross between remat and spill folding.
|
||||||
|
|
||||||
This has redundant subtractions of %eax from a stack slot. However, %ecx doesn't
|
This has redundant subtractions of %eax from a stack slot. However, %ecx doesn't
|
||||||
change, so we could simply subtract %eax from %ecx first and then use %ecx (or
|
change, so we could simply subtract %eax from %ecx first and then use %ecx (or
|
||||||
vice-versa).
|
vice-versa).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user