summaryrefslogtreecommitdiff
path: root/test/Transforms/GVN
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-03-12 07:37:44 +0000
committerOwen Anderson <resistor@mac.com>2008-03-12 07:37:44 +0000
commit6bb0bd52ecf7481c26cb2d211d6f4f41a6edc855 (patch)
tree6e8449d6b570ead03b2348aae6df4aead814fd9f /test/Transforms/GVN
parentc8e3b147eea6155eb047340205730b5332259bb6 (diff)
downloadllvm-6bb0bd52ecf7481c26cb2d211d6f4f41a6edc855.tar.gz
llvm-6bb0bd52ecf7481c26cb2d211d6f4f41a6edc855.tar.bz2
llvm-6bb0bd52ecf7481c26cb2d211d6f4f41a6edc855.tar.xz
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.ll6
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 797dba2b69..21dff98b61 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