aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen/X86/pre-split4.ll
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-05-02 18:29:22 +0000
committerDan Gohman <gohman@apple.com>2009-05-02 18:29:22 +0000
commitafc36a9520971832dfbebc0333593bf5d3098296 (patch)
tree9f9a8cd11e9dfce8900d1a030300eed0ffca00a0 /test/CodeGen/X86/pre-split4.ll
parentfb7d35f22a958747dd3ae8861ae3ce018146131c (diff)
downloadexternal_llvm-afc36a9520971832dfbebc0333593bf5d3098296.zip
external_llvm-afc36a9520971832dfbebc0333593bf5d3098296.tar.gz
external_llvm-afc36a9520971832dfbebc0333593bf5d3098296.tar.bz2
Previously, RecursivelyDeleteDeadInstructions provided an option
of returning a list of pointers to Values that are deleted. This was unsafe, because the pointers in the list are, by nature of what RecursivelyDeleteDeadInstructions does, always dangling. Replace this with a simple callback mechanism. This may eventually be removed if all clients can reasonably be expected to use CallbackVH. Use this to factor out the dead-phi-cycle-elimination code from LSR utility function, and generalize it to use the RecursivelyDeleteTriviallyDeadInstructions utility function. This makes LSR more aggressive about eliminating dead PHI cycles; adjust tests to either be less trivial or to simply expect fewer instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70636 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/pre-split4.ll')
-rw-r--r--test/CodeGen/X86/pre-split4.ll2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/CodeGen/X86/pre-split4.ll b/test/CodeGen/X86/pre-split4.ll
index 013402d..97401b3 100644
--- a/test/CodeGen/X86/pre-split4.ll
+++ b/test/CodeGen/X86/pre-split4.ll
@@ -14,6 +14,8 @@ bb: ; preds = %bb, %entry
%2 = tail call double @sin(double %k.0.reg2mem.0) nounwind readonly ; <double> [#uses=1]
%3 = mul double 0.000000e+00, %2 ; <double> [#uses=1]
%4 = fdiv double 1.000000e+00, %3 ; <double> [#uses=1]
+ store double %Flint.0.reg2mem.0, double* null
+ store double %twoThrd.0.reg2mem.0, double* null
%5 = add double %4, %Flint.0.reg2mem.0 ; <double> [#uses=1]
%6 = add double %k.0.reg2mem.0, 1.000000e+00 ; <double> [#uses=1]
br label %bb