hanchenye-llvm-project/llvm
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
..
autoconf Make R600 non-experimental. 2013-05-22 00:35:47 +00:00
bindings We're in 3.4 land now. 2013-05-07 20:31:28 +00:00
cmake Add colored diagnostics when building LLVM with cmake + ninja + clang 2013-05-29 20:41:35 +00:00
docs We are now in 3.4 land. We don't need the 3.3 releaese notes in ToT anymore. 2013-06-04 06:12:31 +00:00
examples ExceptionDemo: Corresponding to r181820, SectionMemoryManager should belong to RTDyldMemoryManager. 2013-05-14 23:05:00 +00:00
include IEEE-754R 5.7.2 General Operations is* operations (except for isCanonical). 2013-06-04 03:46:25 +00:00
lib IndVarSimplify: check if loop invariant expansion can trap 2013-06-04 17:51:58 +00:00
projects sync projects/sample's autohell. 2013-05-22 12:37:27 +00:00
runtime Remove "-Wl,-seg1addr -Wl,0xE0000000" from link options. 2013-06-04 15:26:37 +00:00
test IndVarSimplify: check if loop invariant expansion can trap 2013-06-04 17:51:58 +00:00
tools Remove "-Wl,-seg1addr -Wl,0xE0000000" from link options. 2013-06-04 15:26:37 +00:00
unittests IEEE-754R 5.7.2 General Operations is* operations (except for isCanonical). 2013-06-04 03:46:25 +00:00
utils Make SubRegIndex size mandatory, following r183020. 2013-05-31 23:45:26 +00:00
.arcconfig
.gitignore
CMakeLists.txt Allow duplicates in LLVM_TARGETS_TO_BUILD and LLVM_EXPERIMENTAL_TARGETS_TO_BUILD. 2013-05-22 02:45:28 +00:00
CODE_OWNERS.TXT Add myself as SystemZ code owner 2013-05-08 14:41:29 +00:00
CREDITS.TXT Test commit. 2013-05-09 12:32:36 +00:00
LICENSE.TXT Be more specific and capitalize filenames. 2013-05-21 21:22:34 +00:00
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Add basic zlib support to LLVM. This would allow to use compression/uncompression in selected LLVM tools. 2013-04-23 08:28:39 +00:00
Makefile.rules Remove redundant rpath. 2013-05-23 02:53:22 +00:00
README.txt test 2013-04-17 05:34:03 +00:00
configure Make R600 non-experimental. 2013-05-22 00:35:47 +00:00
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.