Mirror of official llvm git repository located at http://llvm.org/git/llvm. Updated every five minutes.
Go to file
David Majnemer e759b51ef4 [WinEH] Don't inline an 'unwinds to caller' cleanupret into funclets which locally unwind
It is problematic if the inlinee has a cleanupret which unwinds to
caller and we inline it into a call site which doesn't unwind.

If the funclet unwinds anywhere other than to the caller,
then we will give the funclet two unwind destinations.
This will result in a verifier failure.

Seeing as how the caller wasn't an invoke (which would locally unwind)
and that the funclet cannot unwind to caller, we must conclude that an
'unwind to caller' cleanupret is dynamically unreachable.

This fixes PR26698.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@261656 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 17:11:04 +00:00
bindings Kill LLVMAddTargetData 2016-02-16 00:22:02 +00:00
cmake cmake: Simplify the iOS.cmake toolchain 2016-02-12 23:36:05 +00:00
docs fix the indentation of the example 2016-02-23 11:17:27 +00:00
examples Remove autoconf support 2016-01-26 21:29:08 +00:00
include Add prefix based function layout when profile is available. 2016-02-23 03:39:24 +00:00
lib [WinEH] Don't inline an 'unwinds to caller' cleanupret into funclets which locally unwind 2016-02-23 17:11:04 +00:00
projects Remove autoconf support 2016-01-26 21:29:08 +00:00
resources
test [WinEH] Don't inline an 'unwinds to caller' cleanupret into funclets which locally unwind 2016-02-23 17:11:04 +00:00
tools Fix some abuse of auto flagged by clang's -Wrange-loop-analysis. 2016-02-22 13:11:58 +00:00
unittests [PM] Remove an overly aggressive assert now that I can actually test the 2016-02-23 10:47:57 +00:00
utils [X86] Remove some unused encoding checks from the disassembler table building. 2016-02-20 06:20:21 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [CMake] Properly set CMAKE_BUILD_TYPE to Debug by default 2016-02-18 23:07:09 +00:00
CODE_OWNERS.TXT [docs] Remove references to autotools build. 2016-01-30 01:10:15 +00:00
configure Remove autoconf support 2016-01-26 21:29:08 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt Revert previous test commit. 2016-01-04 19:13:29 +00:00

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 are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.