mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
new testcase distilled from 176.gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8094 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7d6c24cdbf
commit
ae1c1ffacd
30
test/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll
Normal file
30
test/ExecutionEngine/2003-08-23-RegisterAllocatePhysReg.ll
Normal file
@ -0,0 +1,30 @@
|
||||
; This testcase exposes a bug in the local register allocator where it runs out
|
||||
; of registers (due to too many overlapping live ranges), but then attempts to
|
||||
; use the ESP register (which is not allocatable) to hold a value.
|
||||
|
||||
int %main(uint %A) {
|
||||
%Ap2 = alloca uint, uint %A ; ESP gets used again...
|
||||
%B = add uint %A, 1 ; Produce lots of overlapping live ranges
|
||||
%C = add uint %A, 2
|
||||
%D = add uint %A, 3
|
||||
%E = add uint %A, 4
|
||||
%F = add uint %A, 5
|
||||
%G = add uint %A, 6
|
||||
%H = add uint %A, 7
|
||||
%I = add uint %A, 8
|
||||
%J = add uint %A, 9
|
||||
%K = add uint %A, 10
|
||||
|
||||
store uint %A, uint *%Ap2 ; Uses of all of the values
|
||||
store uint %B, uint *%Ap2
|
||||
store uint %C, uint *%Ap2
|
||||
store uint %D, uint *%Ap2
|
||||
store uint %E, uint *%Ap2
|
||||
store uint %F, uint *%Ap2
|
||||
store uint %G, uint *%Ap2
|
||||
store uint %H, uint *%Ap2
|
||||
store uint %I, uint *%Ap2
|
||||
store uint %J, uint *%Ap2
|
||||
store uint %K, uint *%Ap2
|
||||
ret int 0
|
||||
}
|
Loading…
Reference in New Issue
Block a user