1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 14:02:52 +02:00
llvm-mirror/lib/Transforms/Scalar
David Majnemer f6b2c81f95 IndVarSimplify: check if loop invariant expansion can trap
IndVarSimplify is willing to move divide instructions outside of their
loop bodies if they are invariant of the loop.  However, it may not be
safe to expand them if we do not know if they can trap.

Instead, check to see if it is not safe to expand the instruction and
skip the expansion.

This fixes PR16041.

Testcase by Rafael Ávila de Espíndola.

llvm-svn: 183239
2013-06-04 17:51:58 +00:00
..
ADCE.cpp
BasicBlockPlacement.cpp
CMakeLists.txt Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
CodeGenPrepare.cpp Fix a bug in codegenprep where it was losing track of values OptimizeMemoryInst 2013-05-08 09:00:10 +00:00
ConstantProp.cpp
CorrelatedValuePropagation.cpp CVP: If we have a PHI with an incoming select, try to skip the select. 2013-02-24 15:34:43 +00:00
DCE.cpp
DeadStoreElimination.cpp Change GetPointerBaseWithConstantOffset's DataLayout argument from a 2013-01-31 02:00:45 +00:00
EarlyCSE.cpp
GlobalMerge.cpp Clarify that llvm.used can contain aliases. 2013-04-22 14:58:02 +00:00
GVN.cpp [GVN] Split critical-edge on the fly, instead of postpone edge-splitting to next 2013-05-09 18:34:27 +00:00
IndVarSimplify.cpp IndVarSimplify: check if loop invariant expansion can trap 2013-06-04 17:51:58 +00:00
JumpThreading.cpp
LICM.cpp
LLVMBuild.txt
LoopDeletion.cpp Make method private. Keep coding standard. 2013-03-18 23:31:30 +00:00
LoopIdiomRecognize.cpp
LoopInstSimplify.cpp Remove #includes from the commonly used LoopInfo.h. 2013-02-09 01:04:28 +00:00
LoopRotation.cpp Rotate multi-exit loops even if the latch was simplified. 2013-05-06 17:58:18 +00:00
LoopStrengthReduce.cpp Loop Strength Reduce: Scaling factor cost. 2013-05-31 21:29:03 +00:00
LoopUnrollPass.cpp Switch CodeMetrics itself over to use TTI to determine if an instruction 2013-01-21 13:04:33 +00:00
LoopUnswitch.cpp Switch CodeMetrics itself over to use TTI to determine if an instruction 2013-01-21 13:04:33 +00:00
LowerAtomic.cpp
Makefile
MemCpyOptimizer.cpp
Reassociate.cpp Fix a XOR reassociation bug. 2013-04-27 18:02:12 +00:00
Reg2Mem.cpp
Scalar.cpp This patch breaks up Wrap.h so that it does not have to include all of 2013-05-01 20:59:00 +00:00
ScalarReplAggregates.cpp Fix a comment, PR15777. 2013-04-18 17:42:14 +00:00
SCCP.cpp Remove dead code and whitespace. 2013-02-21 21:40:51 +00:00
SimplifyCFGPass.cpp
SimplifyLibCalls.cpp simplify-libcalls: Removed unused variable 2013-03-21 02:44:07 +00:00
Sink.cpp
SROA.cpp SROA: Generate selects instead of shuffles when blending values because this is the cannonical form. 2013-05-01 19:53:30 +00:00
TailRecursionElimination.cpp Begin fleshing out an interface in TTI for modelling the costs of 2013-01-22 11:26:02 +00:00