mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-21 19:20:28 +00:00
20 lines
599 B
Plaintext
20 lines
599 B
Plaintext
|
; Linear scan does not currently coalesce any two variables that have
|
||
|
; overlapping live intervals. When two overlapping intervals have the same
|
||
|
; value, they can be joined though.
|
||
|
;
|
||
|
; RUN: llvm-as < %s | llc -march=x86 -regalloc=linearscan | not grep 'mov %[A-Z]\{2,3\}, %[A-Z]\{2,3\}'
|
||
|
|
||
|
int %main() {
|
||
|
%ptr = alloca uint
|
||
|
br label %Loop
|
||
|
Loop:
|
||
|
%I = phi int [0, %0], [%i2, %Loop]
|
||
|
%i2 = add int %I, 1
|
||
|
%i3 = cast int %i2 to uint
|
||
|
store uint %i3, uint* %ptr
|
||
|
%C = seteq int %i2, 10
|
||
|
br bool %C, label %Out, label %Loop
|
||
|
Out:
|
||
|
ret int 0
|
||
|
}
|