hanchenye-llvm-project/llvm/lib
David Majnemer 29130c5e8d 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
..
Analysis Silencing an MSVC warning about */ being found outside of a comment. 2013-06-04 01:01:56 +00:00
Archive Fix auto_ptr is deprecated warnings 2013-02-26 21:20:35 +00:00
AsmParser Add a new function attribute 'cold' to functions. 2013-05-24 12:26:52 +00:00
Bitcode Remove the Copied parameter from MemoryObject::readBytes. 2013-05-24 10:54:58 +00:00
CodeGen Fix a defect in code-layout pass, improving Benchmarks/Olden/em3d/em3d by about 30% 2013-06-04 01:00:57 +00:00
DebugInfo Change how we iterate over relocations on ELF. 2013-05-30 03:05:14 +00:00
ExecutionEngine Preserve const correctness. 2013-06-04 09:09:15 +00:00
IR Move getRealLinkageName to a common place and remove all the duplicates of it. 2013-06-01 17:51:14 +00:00
IRReader Measure time that IR parsing took as part of the -time-passes measurement. 2013-04-03 15:33:45 +00:00
Linker Extend RemapInstruction and friends to take an optional new parameter, a ValueMaterializer. 2013-05-28 15:17:05 +00:00
MC Make SubRegIndex size mandatory, following r183020. 2013-05-31 23:45:26 +00:00
Object [Object/COFF] Fix Windows .lib name handling. 2013-06-03 00:27:03 +00:00
Option Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
Support Introduce needsCleanup() for APFloat and APInt. 2013-06-03 13:03:05 +00:00
TableGen Allow TableGen DAG arguments to be just a name. 2013-03-24 19:36:51 +00:00
Target ARM: Fix crash in ARM backend inside of ARMConstantIslandPass 2013-06-04 17:46:15 +00:00
Transforms IndVarSimplify: check if loop invariant expansion can trap 2013-06-04 17:51:58 +00:00
CMakeLists.txt Split out the IRReader header and the utility functions it provides into 2013-03-26 02:25:37 +00:00
LLVMBuild.txt Split out the IRReader header and the utility functions it provides into 2013-03-26 02:25:37 +00:00
Makefile Split out the IRReader header and the utility functions it provides into 2013-03-26 02:25:37 +00:00