[WinEH] Permit branch folding in the face of funclets
authorDavid Majnemer <david.majnemer@gmail.com>
Sun, 4 Oct 2015 02:22:52 +0000 (02:22 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Sun, 4 Oct 2015 02:22:52 +0000 (02:22 +0000)
commit492f1cfa37d9946aee6df14874d0fbd46b33f11c
tree3bcc89c3a56c134f01069d4b157a68210674e3f4
parent9636baa2910753263491fbc158eaeb48fc129ce1
[WinEH] Permit branch folding in the face of funclets

Track which basic blocks belong to which funclets.  Permit branch
folding to fire but only if it can prove that doing so will not cause
code in one funclet to be reused in another.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249257 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/Analysis.h
lib/CodeGen/Analysis.cpp
lib/CodeGen/BranchFolding.cpp
lib/CodeGen/BranchFolding.h
lib/CodeGen/FuncletLayout.cpp
test/CodeGen/X86/funclet-layout.ll