llvm-6502/test
David Majnemer 9e1f653e2f LICM: Don't crash when an instruction is used by an unreachable BB
Summary:
BBs might contain non-LCSSA'd values after the LCSSA pass is run if they
are unreachable from the entry block.

Normally, the users of the instruction would be PHIs but the unreachable
BBs have normal users; rewrite their uses to be undef values.

An alternative fix could involve fixing this at LCSSA but that would
require this invariant to hold after subsequent transforms.  If a BB
created an unreachable block, they would be in violation of this.

This fixes PR19798.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216911 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-02 16:22:00 +00:00
..
Analysis
Assembler Declare that musttail calls in variadic functions forward the ellipsis 2014-08-26 00:33:28 +00:00
Bindings
Bitcode Teach llvm-bcanalyzer to use one stream's BLOCKINFO to read another stream. 2014-08-30 17:07:55 +00:00
BugPoint
CodeGen Enable splitting indexing from loads with TargetConstants 2014-09-02 16:05:23 +00:00
DebugInfo DebugInfo: Elide lexical scopes which only contain other (inline or lexical) scopes. 2014-08-31 21:26:22 +00:00
ExecutionEngine [PATCH][Interpreter] Add missing FP intrinsic lowering. 2014-08-30 18:33:35 +00:00
Feature
FileCheck
Instrumentation [asan-assembly-instrumentation] Prologue and epilogue are moved out from InstrumentMemOperand(). 2014-09-01 12:51:00 +00:00
Integer
JitListener
Linker Debug info: Add a new explicit DIDescriptor flag for the "public" access 2014-08-29 22:44:07 +00:00
LTO
MC Thumb2 M-class MSR instruction support changes 2014-09-01 11:25:07 +00:00
Object
Other Teach llvm-bcanalyzer to use one stream's BLOCKINFO to read another stream. 2014-08-30 17:07:55 +00:00
TableGen Tablegen fixes for new syntax when initializing bits from variables. 2014-08-29 19:41:04 +00:00
tools Object/llvm-objdump: allow dumping of mach-o exports trie 2014-08-30 00:20:14 +00:00
Transforms LICM: Don't crash when an instruction is used by an unreachable BB 2014-09-02 16:22:00 +00:00
Unit
Verifier Verifier: Don't reject varargs callee cleanup functions 2014-08-29 21:25:28 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Introduce -DLLVM_USE_SANITIZER=Undefined CMake option to build UBSan-ified version of LLVM/Clang. 2014-08-29 00:50:36 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh