1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00
llvm-mirror/lib/Transforms/Scalar
Kristof Beyls 7bee5ceb02 Mark that SpeculativeExecution preserves Globals Alias Analysis.
A few benchmarks with lots of accesses to global variables in the hot
loops regressed a lot since r266399, which added the
SpeculativeExecution pass to the default pipeline. The problem is that
this pass doesn't mark Globals Alias Analysis as preserved. Globals
Alias Analysis is computed in a module pass, whereas
SpeculativeExecution is a function pass, and a lot of passes dependent
on the Globals Alias Analysis to optimize these benchmarks are also
function passes. As such, the Globals Alias Analysis information cannot
be recomputed between SpeculativeExecution and the following function
passes needing that information.

SpeculativeExecution doesn't invalidate Globals Alias Analysis, so mark
it as such to fix those performance regressions.

Differential Revision: http://reviews.llvm.org/D19806

llvm-svn: 268370
2016-05-03 08:33:26 +00:00
..
ADCE.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
AlignmentFromAssumptions.cpp [SCEV] Add and use SCEVConstant::getAPInt; NFCI 2015-12-17 20:28:46 +00:00
BDCE.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
CMakeLists.txt Introduce a @llvm.experimental.guard intrinsic 2016-03-31 00:18:46 +00:00
ConstantHoisting.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
ConstantProp.cpp use range loop; NFCI 2016-04-04 23:05:06 +00:00
CorrelatedValuePropagation.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
DCE.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
DeadStoreElimination.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
EarlyCSE.cpp Mark guards on true as "trivially dead" 2016-04-29 22:23:16 +00:00
FlattenCFGPass.cpp Scalar: Remove some implicit ilist iterator conversions, NFC 2015-10-13 18:26:00 +00:00
Float2Int.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
GVN.cpp [GVN] Minor code cleanup. NFC. 2016-04-28 16:00:15 +00:00
InductiveRangeCheckElimination.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
IndVarSimplify.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
JumpThreading.cpp [ValueTracking] Improve isImpliedCondition when the dominating cond is false. 2016-04-25 17:23:36 +00:00
LICM.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LLVMBuild.txt
LoadCombine.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LoopDataPrefetch.cpp [LoopDataPrefetch] Centralize the tuning cl::opts under the pass 2016-03-29 23:45:52 +00:00
LoopDeletion.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LoopDistribute.cpp [LoopDist] Also emit optimization remark on success (-Rpass=) 2016-04-29 07:10:46 +00:00
LoopIdiomRecognize.cpp [LIR] Set attributes on memset_pattern16. 2016-04-27 19:04:50 +00:00
LoopInstSimplify.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LoopInterchange.cpp LPM: Stop threading Pass * through all of the loop utility APIs. NFC 2015-12-15 19:40:57 +00:00
LoopLoadElimination.cpp [LLE] Fix typo from r263058 2016-05-02 16:52:00 +00:00
LoopRerollPass.cpp Reroll loops with multiple IV and negative step part 3 2016-04-30 00:51:22 +00:00
LoopRotation.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LoopSimplifyCFG.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LoopStrengthReduce.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LoopUnrollPass.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LoopUnswitch.cpp [LoopUnroll] Unroll loops which have exit blocks to EH pads 2016-05-03 03:57:40 +00:00
LoopVersioningLICM.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LowerAtomic.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LowerExpectIntrinsic.cpp [LowerExpectIntrinsic] make default likely/unlikely ratio bigger 2016-04-26 22:23:38 +00:00
LowerGuardIntrinsic.cpp [LowerGuardIntrinsics] Keep track of !make.implicit metadata 2016-04-30 00:55:59 +00:00
MemCpyOptimizer.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
MergedLoadStoreMotion.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
NaryReassociate.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
PartiallyInlineLibCalls.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
PlaceSafepoints.cpp [PlaceSafepoints] Use DEBUG() instead of TraceLSP 2016-01-28 23:49:27 +00:00
Reassociate.cpp PM: Port Reassociate to the new pass manager 2016-04-26 23:39:29 +00:00
Reg2Mem.cpp Scalar: Remove remaining ilist iterator implicit conversions 2015-10-13 19:26:58 +00:00
RewriteStatepointsForGC.cpp Unify XDEBUG and EXPENSIVE_CHECKS (into the latter), and add an option to the cmake build to enable them. 2016-04-29 15:22:48 +00:00
Scalar.cpp PM: Port Reassociate to the new pass manager 2016-04-26 23:39:29 +00:00
Scalarizer.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ScalarReplAggregates.cpp isSafeToLoadUnconditionally support queries without a context 2016-04-27 11:00:48 +00:00
SCCP.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
SeparateConstOffsetFromGEP.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
SimplifyCFGPass.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
Sink.cpp PM: Port SinkingPass to the new pass manager 2016-04-22 19:54:10 +00:00
SpeculativeExecution.cpp Mark that SpeculativeExecution preserves Globals Alias Analysis. 2016-05-03 08:33:26 +00:00
SROA.cpp isSafeToLoadUnconditionally support queries without a context 2016-04-27 11:00:48 +00:00
StraightLineStrengthReduce.cpp SLSR: Use UnknownAddressSpace instead of 0 for pure arithmetic. 2016-04-27 00:32:09 +00:00
StructurizeCFG.cpp [StructurizeCFG] Annotate branches that were treated as uniform 2016-04-14 17:42:35 +00:00
TailRecursionElimination.cpp isSafeToLoadUnconditionally support queries without a context 2016-04-27 11:00:48 +00:00