llvm-project/llvm
Sanjoy Das d1fb13ce4c Fix crashes in IRCE caused by mismatched types
There are places where the inductive range check elimination pass
depends on two llvm::Values or llvm::SCEVs to be of the same
llvm::Type when they do not need to be. This patch relaxes those
restrictions (by bailing out of the optimization if the types
mismatch), and adds test cases to trigger those paths.

These issues were found by bootstrapping clang with IRCE running in
the -O3 pass ordering.

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

llvm-svn: 226793
2015-01-22 08:29:18 +00:00
..
autoconf Trunk is now 3.7.0svn 2015-01-14 17:38:03 +00:00
bindings IR: Return unique_ptr from MDNode::getTemporary() 2015-01-19 21:30:18 +00:00
cmake Don't pass -Wl,z,defs for now. 2015-01-20 22:08:20 +00:00
docs Explicitly describe '///' versus '//' comment delimiters. 2015-01-22 00:19:56 +00:00
examples Reorder. 2015-01-19 00:35:33 +00:00
include ARM: fail less catastrophically on invalid Windows input 2015-01-22 04:03:32 +00:00
lib Fix crashes in IRCE caused by mismatched types 2015-01-22 08:29:18 +00:00
projects
test Fix crashes in IRCE caused by mismatched types 2015-01-22 08:29:18 +00:00
tools Assigning and copying command line option objects shouldn't be allowed. 2015-01-22 01:49:59 +00:00
unittests Adding a new cl::HideUnrelatedOptions API to allow clang to migrate off cl::getRegisteredOptions. 2015-01-21 22:45:52 +00:00
utils [lit] Format JSONMetricValue strings better. 2015-01-21 16:38:31 +00:00
.arcconfig
.clang-format
.clang-tidy Enable display of compiler diagnostics in clang-tidy by default. 2014-10-29 17:29:38 +00:00
.gitignore .gitignore: add some rules for tagging programs 2015-01-10 19:11:29 +00:00
CMakeLists.txt Trunk is now 3.7.0svn 2015-01-14 17:38:03 +00:00
CODE_OWNERS.TXT Add myself as SystemZ code owner 2014-12-18 19:27:50 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
Makefile.rules Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
README.txt Check commit access 2015-01-16 19:23:34 +00:00
configure Trunk is now 3.7.0svn 2015-01-14 17:38:03 +00:00
llvm.spec.in

README.txt

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

This directory and its subdirectories contain source code for LLVM,
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.