summaryrefslogtreecommitdiff
path: root/src/compiler_llvm/compiler_llvm.cc
diff options
context:
space:
mode:
author Sebastien Hertz <shertz@google.com> 2013-03-01 12:12:30 +0100
committer Sebastien Hertz <shertz@google.com> 2013-03-01 14:25:42 +0100
commit2ffe4f1352b877b9139697015c45a877847042f4 (patch)
tree16274cf135a8de748a441a8e73f5f36ea6ac0229 /src/compiler_llvm/compiler_llvm.cc
parentc21da53213018a27f1df61e61f05eef6f9ae5d8e (diff)
Fix failing LLVM verification on unreachable blocks.
Bug: 8286478 The LLVM verifier fails if an unreachable block contains PHI instructions. This happens in the Portable compiler when a catch block becomes unreachable. This CL fixes the issue by ensuring catch blocks are always reachable. Under some circumstances, they can be "virtually" reachable by creating fake conditonal branch: "br i1 false, label %catch_block, label %next_insn". In this case, we let LLVM delete these unreachable blocks. Change-Id: I003c25492f32c0e7bbc8e32a48ec4ce47e2c8c32
Diffstat (limited to 'src/compiler_llvm/compiler_llvm.cc')
0 files changed, 0 insertions, 0 deletions