llvm/test
Davide Italiano 1b5b740e23 [PartialInliner] Fix crash when inlining functions with unreachable blocks.
CodeExtractor looks up the dominator node corresponding to return blocks
when splitting them. If one of these blocks is unreachable, there's no
node in the Dom and CodeExtractor crashes because it doesn't check
for domtree node validity.
In theory, we could add just a check for skipping null DTNodes in
`splitReturnBlock` but the fix I propose here is slightly different. To the
best of my knowledge, unreachable blocks are irrelevant for the algorithm,
therefore we can just skip them when building the candidate set in the
constructor.

Differential Revision:  https://reviews.llvm.org/D32335

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300946 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-21 04:25:00 +00:00
..
Analysis Revert r300746 (SCEV analysis for or instructions). 2017-04-20 23:59:05 +00:00
Assembler
Bindings
Bitcode
BugPoint
CodeGen Revert r300932 and r300930. 2017-04-21 01:31:50 +00:00
DebugInfo Don't emit locations that need a DW_OP_stack_value in DWARF 2 & 3. 2017-04-20 20:42:33 +00:00
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
LibDriver
Linker
LTO
MC
Object
ObjectYAML
Other
SymbolRewriter
TableGen
ThinLTO/X86
tools
Transforms [PartialInliner] Fix crash when inlining functions with unreachable blocks. 2017-04-21 04:25:00 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh