diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-04-21 20:57:54 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-04-21 20:57:54 +0000 |
commit | e3dd8550c6c65d02b067ec96ac12a560dabd4452 (patch) | |
tree | 7bb16bfe2aeabb359aa753205572c7f05710805e /test/CodeGen/X86/2010-04-21-CoalescerBug.ll | |
parent | 708e474c2ff2922786a9ea6562772d2f271dec28 (diff) | |
download | external_llvm-e3dd8550c6c65d02b067ec96ac12a560dabd4452.zip external_llvm-e3dd8550c6c65d02b067ec96ac12a560dabd4452.tar.gz external_llvm-e3dd8550c6c65d02b067ec96ac12a560dabd4452.tar.bz2 |
Do not try to optimize a copy that has already been marked for deletion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102027 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2010-04-21-CoalescerBug.ll')
-rw-r--r-- | test/CodeGen/X86/2010-04-21-CoalescerBug.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2010-04-21-CoalescerBug.ll b/test/CodeGen/X86/2010-04-21-CoalescerBug.ll new file mode 100644 index 0000000..d598764 --- /dev/null +++ b/test/CodeGen/X86/2010-04-21-CoalescerBug.ll @@ -0,0 +1,15 @@ +; RUN: llc < %s -mtriple=x86_64-apple-darwin +; rdar://7886733 + +%struct.CMTime = type <{ i64, i32, i32, i64 }> +%struct.CMTimeMapping = type { %struct.CMTimeRange, %struct.CMTimeRange } +%struct.CMTimeRange = type { %struct.CMTime, %struct.CMTime } + +define void @t(%struct.CMTimeMapping* noalias nocapture sret %agg.result) nounwind optsize ssp { +entry: + %agg.result1 = bitcast %struct.CMTimeMapping* %agg.result to i8* ; <i8*> [#uses=1] + tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %agg.result1, i8* null, i64 96, i32 4, i1 false) + ret void +} + +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i32, i1) nounwind |