1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 05:52:53 +02:00
llvm-mirror/lib
David Majnemer 8fc22c5507 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

llvm-svn: 216911
2014-09-02 16:22:00 +00:00
..
Analysis Remove an errant outer loop that contains nothing but an inner loop over exactly the same elements. While no functionality is change intended (and hence there are no changes to tests), you don't want to skip this revision if bisecting for errors. 2014-09-01 05:17:15 +00:00
AsmParser Fix typos in comments, NFC 2014-08-29 21:53:01 +00:00
Bitcode Fix a double free in llvm::getBitcodeTargetTriple. 2014-08-27 21:11:13 +00:00
CodeGen Enable splitting indexing from loads with TargetConstants 2014-09-02 16:05:23 +00:00
DebugInfo Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
ExecutionEngine [MCJIT] Move endian-aware read/writes from RuntimeDyldMachO into 2014-08-29 23:17:47 +00:00
IR Add a convenience method to copy wrapping, exact, and fast-math flags (NFC). 2014-09-01 18:44:57 +00:00
IRReader Pass a std::unique_ptr<MemoryBuffer>& to getLazyBitcodeModule. 2014-08-26 22:00:09 +00:00
LineEditor
Linker Set comdats when lazily linking functions. 2014-08-15 20:17:08 +00:00
LTO Return a std::unique_ptr when creating a new MemoryBuffer. 2014-08-27 20:03:13 +00:00
MC MC: remove unnecessary enumeration prefix 2014-09-01 23:48:29 +00:00
Object Fix typo and formatting 2014-08-30 01:57:34 +00:00
Option Fix PR17239 by changing the semantics of the RemainingArgsClass Option kind 2014-08-22 19:29:17 +00:00
ProfileData llvm-cov: add code coverage tool that's based on coverage mapping format and clang's pgo. 2014-08-22 22:56:03 +00:00
Support Fix some cases where StringRef was being passed by const reference. Remove const from some other StringRefs since its implicitly const already. 2014-08-30 16:48:02 +00:00
TableGen Comment only: Annotate loop as per mailing list discussion 2014-08-29 22:43:30 +00:00
Target Fix left shifts of negative integers in AArch64 InstPrinter/Disassembler 2014-09-02 16:19:41 +00:00
Transforms LICM: Don't crash when an instruction is used by an unreachable BB 2014-09-02 16:22:00 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile