1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/include/llvm/Transforms/Scalar
Daniel Berlin cbf2e6e046 NewGVN: Add UnknownExpression and create them for things we can't symbolize. Kill fragile machinery for handling null expressions.
Summary:
This avoids the very fragile code for null expressions. We could also use a denseset that tracks which things have null expressions instead, but that seems pretty fragile and premature optimization.

This resolves a number of infinite loop cases, test reductions coming.

Reviewers: davide

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D28193

llvm-svn: 290816
2017-01-02 18:00:53 +00:00
..
ADCE.h [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
AlignmentFromAssumptions.h Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
BDCE.h [PM] Port BDCE to the new pass manager. 2016-05-25 01:57:04 +00:00
ConstantHoisting.h This implements a more optimal algorithm for selecting a base constant in 2016-07-14 07:44:20 +00:00
CorrelatedValuePropagation.h [PM] Port CorrelatedValuePropagation 2016-07-06 23:26:29 +00:00
DCE.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
DeadStoreElimination.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
EarlyCSE.h [EarlyCSE] Optionally use MemorySSA. NFC. 2016-08-31 19:24:10 +00:00
Float2Int.h Remove stray comment. NFC. 2016-06-28 00:14:09 +00:00
GuardWidening.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
GVN.h Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
GVNExpression.h NewGVN: Add UnknownExpression and create them for things we can't symbolize. Kill fragile machinery for handling null expressions. 2017-01-02 18:00:53 +00:00
IndVarSimplify.h Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
JumpThreading.h Revert "[JumpThreading] Unfold selects that depend on the same condition" 2016-11-15 15:42:23 +00:00
LICM.h Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopDataPrefetch.h [PM] Port LoopDataPrefetch to new pass manager 2016-08-13 04:11:27 +00:00
LoopDeletion.h Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopDistribute.h [LoopDist] Port to new PM 2016-07-18 16:29:27 +00:00
LoopIdiomRecognize.h Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopInstSimplify.h Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopRotation.h [PM] Introduce a reasonable port of the main per-module pass pipeline 2016-12-22 06:59:15 +00:00
LoopSimplifyCFG.h Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopStrengthReduce.h Consistently use LoopAnalysisManager 2016-08-09 00:28:52 +00:00
LoopUnrollPass.h Reapply "[LoopUnroll] Use the upper bound of the loop trip count to fullly unroll a loop" 2016-10-12 21:29:38 +00:00
LowerAtomic.h [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
LowerExpectIntrinsic.h [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
LowerGuardIntrinsic.h [PM] Port LowerGuardIntrinsic to the new PM. 2016-07-28 22:08:41 +00:00
MemCpyOptimizer.h Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
MergedLoadStoreMotion.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
NaryReassociate.h Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
NewGVN.h [GVN] Initial check-in of a new global value numbering algorithm. 2016-12-22 16:03:48 +00:00
PartiallyInlineLibCalls.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
Reassociate.h [Reassociate] Skip analysis of dead code to avoid infinite loop. 2016-11-02 08:55:19 +00:00
SCCP.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
SimplifyCFG.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
Sink.h Consistently use FunctionAnalysisManager 2016-08-09 00:28:15 +00:00
SpeculativeExecution.h [PM] Port SpeculativeExecution to the new PM 2016-08-01 21:48:33 +00:00
SROA.h Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
TailRecursionElimination.h [PM] Port TailCallElim 2016-07-06 23:48:41 +00:00