Added a test case for PR1279.
[oota-llvm.git] / test / CodeGen / ARM / 2007-03-27-RegScavengerAssert.ll
1 ; RUN: llvm-as < %s | llc -march=arm -mtriple=arm-linux-gnueabi
2 ; PR1279
3
4         %struct.rtx_def = type { i16, i8, i8, %struct.u }
5         %struct.u = type { [1 x i64] }
6
7 implementation   ; Functions:
8
9 define fastcc void @find_reloads_address(%struct.rtx_def** %loc) {
10 entry:
11         %ad_addr = alloca %struct.rtx_def*              ; <%struct.rtx_def**> [#uses=2]
12         br i1 false, label %cond_next416, label %cond_true340
13
14 cond_true340:           ; preds = %entry
15         ret void
16
17 cond_next416:           ; preds = %entry
18         %tmp1085 = load %struct.rtx_def** %ad_addr              ; <%struct.rtx_def*> [#uses=1]
19         br i1 false, label %bb1084, label %cond_true418
20
21 cond_true418:           ; preds = %cond_next416
22         ret void
23
24 bb1084:         ; preds = %cond_next416
25         br i1 false, label %cond_true1092, label %cond_next1102
26
27 cond_true1092:          ; preds = %bb1084
28         %tmp1094 = getelementptr %struct.rtx_def* %tmp1085, i32 0, i32 3                ; <%struct.u*> [#uses=1]
29         %tmp10981099 = bitcast %struct.u* %tmp1094 to %struct.rtx_def**         ; <%struct.rtx_def**> [#uses=2]
30         %tmp1101 = load %struct.rtx_def** %tmp10981099          ; <%struct.rtx_def*> [#uses=1]
31         store %struct.rtx_def* %tmp1101, %struct.rtx_def** %ad_addr
32         br label %cond_next1102
33
34 cond_next1102:          ; preds = %cond_true1092, %bb1084
35         %loc_addr.0 = phi %struct.rtx_def** [ %tmp10981099, %cond_true1092 ], [ %loc, %bb1084 ]         ; <%struct.rtx_def**> [#uses=0]
36         ret void
37 }