Added a test case for PR1279.
authorEvan Cheng <evan.cheng@apple.com>
Wed, 28 Mar 2007 01:32:57 +0000 (01:32 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 28 Mar 2007 01:32:57 +0000 (01:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35398 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/ARM/2007-03-27-RegScavengerAssert.ll [new file with mode: 0644]

diff --git a/test/CodeGen/ARM/2007-03-27-RegScavengerAssert.ll b/test/CodeGen/ARM/2007-03-27-RegScavengerAssert.ll
new file mode 100644 (file)
index 0000000..0bb664e
--- /dev/null
@@ -0,0 +1,37 @@
+; RUN: llvm-as < %s | llc -march=arm -mtriple=arm-linux-gnueabi
+; PR1279
+
+       %struct.rtx_def = type { i16, i8, i8, %struct.u }
+       %struct.u = type { [1 x i64] }
+
+implementation   ; Functions:
+
+define fastcc void @find_reloads_address(%struct.rtx_def** %loc) {
+entry:
+       %ad_addr = alloca %struct.rtx_def*              ; <%struct.rtx_def**> [#uses=2]
+       br i1 false, label %cond_next416, label %cond_true340
+
+cond_true340:          ; preds = %entry
+       ret void
+
+cond_next416:          ; preds = %entry
+       %tmp1085 = load %struct.rtx_def** %ad_addr              ; <%struct.rtx_def*> [#uses=1]
+       br i1 false, label %bb1084, label %cond_true418
+
+cond_true418:          ; preds = %cond_next416
+       ret void
+
+bb1084:                ; preds = %cond_next416
+       br i1 false, label %cond_true1092, label %cond_next1102
+
+cond_true1092:         ; preds = %bb1084
+       %tmp1094 = getelementptr %struct.rtx_def* %tmp1085, i32 0, i32 3                ; <%struct.u*> [#uses=1]
+       %tmp10981099 = bitcast %struct.u* %tmp1094 to %struct.rtx_def**         ; <%struct.rtx_def**> [#uses=2]
+       %tmp1101 = load %struct.rtx_def** %tmp10981099          ; <%struct.rtx_def*> [#uses=1]
+       store %struct.rtx_def* %tmp1101, %struct.rtx_def** %ad_addr
+       br label %cond_next1102
+
+cond_next1102:         ; preds = %cond_true1092, %bb1084
+       %loc_addr.0 = phi %struct.rtx_def** [ %tmp10981099, %cond_true1092 ], [ %loc, %bb1084 ]         ; <%struct.rtx_def**> [#uses=0]
+       ret void
+}