diff options
| author | 2013-03-01 12:12:30 +0100 | |
|---|---|---|
| committer | 2013-03-01 14:25:42 +0100 | |
| commit | 2ffe4f1352b877b9139697015c45a877847042f4 (patch) | |
| tree | 16274cf135a8de748a441a8e73f5f36ea6ac0229 /src/compiler_llvm/compiler_llvm.cc | |
| parent | c21da53213018a27f1df61e61f05eef6f9ae5d8e (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