diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-05-20 08:13:21 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-05-20 08:13:21 +0000 |
commit | 7a0f1851ec0ac25d94cebc06f8f611a48e5f4326 (patch) | |
tree | 46a5d4384ee4fa8f8706bb2566ce1e8bbf1892e6 /test/CodeGen/ARM/2008-05-19-ScavengerAssert.ll | |
parent | b0a6f62c9b2e75fc509d84310a9795ffacbc6796 (diff) | |
download | external_llvm-7a0f1851ec0ac25d94cebc06f8f611a48e5f4326.zip external_llvm-7a0f1851ec0ac25d94cebc06f8f611a48e5f4326.tar.gz external_llvm-7a0f1851ec0ac25d94cebc06f8f611a48e5f4326.tar.bz2 |
More local spiller complexity!
If local spiller optimization turns some instruction into an identity copy, it will be removed. If the output register happens to be dead (and source is obviously killed), transfer the kill / dead information to last use / def in the same MBB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51306 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/2008-05-19-ScavengerAssert.ll')
-rw-r--r-- | test/CodeGen/ARM/2008-05-19-ScavengerAssert.ll | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/2008-05-19-ScavengerAssert.ll b/test/CodeGen/ARM/2008-05-19-ScavengerAssert.ll new file mode 100644 index 0000000..e98126b --- /dev/null +++ b/test/CodeGen/ARM/2008-05-19-ScavengerAssert.ll @@ -0,0 +1,22 @@ +; RUN: llvm-as < %s | llc -mtriple=arm-apple-darwin + + %struct.Decoders = type { i32**, i16***, i16****, i16***, i16**, i8**, i8** } +@decoders = external global %struct.Decoders ; <%struct.Decoders*> [#uses=1] + +declare i8* @calloc(i32, i32) + +declare fastcc i32 @get_mem2Dint(i32***, i32, i32) + +define fastcc void @init_global_buffers() nounwind { +entry: + %tmp151 = tail call fastcc i32 @get_mem2Dint( i32*** getelementptr (%struct.Decoders* @decoders, i32 0, i32 0), i32 16, i32 16 ) ; <i32> [#uses=1] + %tmp158 = tail call i8* @calloc( i32 0, i32 4 ) ; <i8*> [#uses=0] + br i1 false, label %cond_true166, label %bb190.preheader + +bb190.preheader: ; preds = %entry + %memory_size.3555 = add i32 0, %tmp151 ; <i32> [#uses=0] + unreachable + +cond_true166: ; preds = %entry + unreachable +} |