diff options
author | Owen Anderson <resistor@mac.com> | 2008-03-12 07:37:44 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2008-03-12 07:37:44 +0000 |
commit | 6bb0bd52ecf7481c26cb2d211d6f4f41a6edc855 (patch) | |
tree | 6e8449d6b570ead03b2348aae6df4aead814fd9f /test/Transforms/GVN | |
parent | c8e3b147eea6155eb047340205730b5332259bb6 (diff) | |
download | external_llvm-6bb0bd52ecf7481c26cb2d211d6f4f41a6edc855.zip external_llvm-6bb0bd52ecf7481c26cb2d211d6f4f41a6edc855.tar.gz external_llvm-6bb0bd52ecf7481c26cb2d211d6f4f41a6edc855.tar.bz2 |
Improve the return slot optimization to be both more aggressive (not limited to sret parameters), and
safer (when the passed pointer might be invalid). Thanks to Duncan and Chris for the idea behind this,
and extra thanks to Duncan for helping me work out the trap-safety.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48280 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/GVN')
-rw-r--r-- | test/Transforms/GVN/2008-02-24-MultipleUseofSRet.ll | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/test/Transforms/GVN/2008-02-24-MultipleUseofSRet.ll b/test/Transforms/GVN/2008-02-24-MultipleUseofSRet.ll index 797dba2..21dff98 100644 --- a/test/Transforms/GVN/2008-02-24-MultipleUseofSRet.ll +++ b/test/Transforms/GVN/2008-02-24-MultipleUseofSRet.ll @@ -1,4 +1,6 @@ -; RUN: llvm-as < %s | opt -gvn -dse | llvm-dis | grep {call.*initialize} | grep memtmp | count 1 +; RUN: llvm-as < %s | opt -gvn -dse | llvm-dis | grep {call.*initialize} | not grep memtmp +; PR2077 + target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32" target triple = "i386-pc-linux-gnu" @@ -29,4 +31,4 @@ entry: ret void } -declare void @llvm.memcpy.i32(i8*, i8*, i32, i32) nounwind
\ No newline at end of file +declare void @llvm.memcpy.i32(i8*, i8*, i32, i32) nounwind |