mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-17 21:29:20 +00:00
1. If part of a register is re-defined, an implicit kill and an implicit def are added to denote read / mod / write. However, this should only be necessary if the register is actually read later. This is a performance issue. 2. If a sub-register is being defined, and it doesn't have a previous use, do not add a implicit kill to the last use of a super-register: = EAX, AX<imp-use,kill> ... AX = In this case, EAX is live but AX is killed, this is wrong and will cause the coalescer to do bad things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48521 91177308-0d34-0410-b5e6-96231b3b80d8
9 lines
163 B
LLVM
9 lines
163 B
LLVM
; RUN: llvm-as < %s | llc -march=x86-64 | grep mov | count 1
|
|
|
|
define i32 @f() nounwind {
|
|
tail call void @t( i32 1 ) nounwind
|
|
ret i32 0
|
|
}
|
|
|
|
declare void @t(i32)
|