diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-03-28 01:32:57 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-03-28 01:32:57 +0000 |
commit | d03c3e39decc60281f38a7008f00210733cf4207 (patch) | |
tree | 60cc724994f72647efbf48fbd140f74e00dabb5f /test/CodeGen/ARM | |
parent | 404eaa3cf1d196fc097725a4b491e1eff9b6d330 (diff) | |
download | external_llvm-d03c3e39decc60281f38a7008f00210733cf4207.zip external_llvm-d03c3e39decc60281f38a7008f00210733cf4207.tar.gz external_llvm-d03c3e39decc60281f38a7008f00210733cf4207.tar.bz2 |
Added a test case for PR1279.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35398 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM')
-rw-r--r-- | test/CodeGen/ARM/2007-03-27-RegScavengerAssert.ll | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/2007-03-27-RegScavengerAssert.ll b/test/CodeGen/ARM/2007-03-27-RegScavengerAssert.ll new file mode 100644 index 0000000..0bb664e --- /dev/null +++ b/test/CodeGen/ARM/2007-03-27-RegScavengerAssert.ll @@ -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 +} |