mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-22 03:28:35 +00:00
45bb1bbd1b
llvm-svn: 12865
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
|
|
}
|