blob: 5c55137627d611af45ec6baa9153ca57ab74375a [file] [log] [blame]
Jakob Stoklund Olesena6f74992011-03-31 18:42:43 +00001; RUN: llc < %s -march=mips -regalloc=linearscan | grep {subu.*sp} | count 2
2
3; This test depends on a linearscan optimization, joining copies from reserved
4; registers.
5; After coalescing, copies from %SP remain.
6; They are handled by RALinScan::attemptTrivialCoalescing
Bruno Cardoso Lopesab243df2008-08-08 04:12:42 +00007
8target datalayout = "e-p:32:32:32-i1:8:8-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64"
Duncan Sandscdd4f8c2010-08-30 10:48:29 +00009target triple = "mipsallegrexel-unknown-psp-elf"
Bruno Cardoso Lopesab243df2008-08-08 04:12:42 +000010
11define i32 @twoalloca(i32 %size) nounwind {
12entry:
13 alloca i8, i32 %size ; <i8*>:0 [#uses=1]
14 alloca i8, i32 %size ; <i8*>:1 [#uses=1]
15 call i32 @foo( i8* %0 ) nounwind ; <i32>:2 [#uses=1]
16 call i32 @foo( i8* %1 ) nounwind ; <i32>:3 [#uses=1]
17 add i32 %3, %2 ; <i32>:4 [#uses=1]
18 ret i32 %4
19}
20
21declare i32 @foo(i8*)