1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/lib/Transforms/Scalar
David Majnemer 56b0cb8635 [EarlyCSE] Take the intersection of flags on instructions
EarlyCSE had inconsistent behavior with regards to flag'd instructions:
- In some cases, it would pessimize if the available instruction had
  different flags by not performing CSE.
- In other cases, it would miscompile if it replaced an instruction
  which had no flags with an instruction which has flags.

Fix this by being more consistent with our flag handling by utilizing
andIRFlags.

llvm-svn: 267111
2016-04-22 06:37:45 +00:00
..
ADCE.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
AlignmentFromAssumptions.cpp
BDCE.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
CMakeLists.txt Introduce a @llvm.experimental.guard intrinsic 2016-03-31 00:18:46 +00:00
ConstantHoisting.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
ConstantProp.cpp use range loop; NFCI 2016-04-04 23:05:06 +00:00
CorrelatedValuePropagation.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
DCE.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
DeadStoreElimination.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
EarlyCSE.cpp [EarlyCSE] Take the intersection of flags on instructions 2016-04-22 06:37:45 +00:00
FlattenCFGPass.cpp
Float2Int.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
GVN.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
InductiveRangeCheckElimination.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
IndVarSimplify.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
JumpThreading.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LICM.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LLVMBuild.txt
LoadCombine.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopDataPrefetch.cpp [LoopDataPrefetch] Centralize the tuning cl::opts under the pass 2016-03-29 23:45:52 +00:00
LoopDeletion.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopDistribute.cpp [LoopVersioning] Annotate versioned loop with noalias metadata 2016-03-17 20:32:32 +00:00
LoopIdiomRecognize.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopInstSimplify.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopInterchange.cpp
LoopLoadElimination.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopRerollPass.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopRotation.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopSimplifyCFG.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopStrengthReduce.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopUnrollPass.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopUnswitch.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LoopVersioningLICM.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LowerAtomic.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
LowerExpectIntrinsic.cpp
LowerGuardIntrinsic.cpp Introduce a @llvm.experimental.guard intrinsic 2016-03-31 00:18:46 +00:00
MemCpyOptimizer.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
MergedLoadStoreMotion.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
NaryReassociate.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +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 Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
Reg2Mem.cpp
RewriteStatepointsForGC.cpp Add parentheses to silence warning. 2016-04-06 04:22:00 +00:00
Scalar.cpp Introduce a @llvm.experimental.guard intrinsic 2016-03-31 00:18:46 +00:00
Scalarizer.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ScalarReplAggregates.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
SCCP.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
SeparateConstOffsetFromGEP.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
SimplifyCFGPass.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
Sink.cpp Remove uses of builtin comma operator. 2016-02-18 22:09:30 +00:00
SpeculativeExecution.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
SROA.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
StraightLineStrengthReduce.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00
StructurizeCFG.cpp [StructurizeCFG] Annotate branches that were treated as uniform 2016-04-14 17:42:35 +00:00
TailRecursionElimination.cpp Initial implementation of optimization bisect support. 2016-04-21 17:58:54 +00:00