diff options
| author | Heejin Ahn <aheejin@gmail.com> | 2019-03-29 19:36:51 +0000 |
|---|---|---|
| committer | Heejin Ahn <aheejin@gmail.com> | 2019-03-29 19:36:51 +0000 |
| commit | 67f74aceab191c5ecad2394edb267ecee49d872d (patch) | |
| tree | 8c19d52ac196b6b94b91d4bc31ceb219b142e9ce /llvm/test/CodeGen | |
| parent | 055e4dce45c3f2194c0610db1cee6dedfa6040ab (diff) | |
| download | bcm5719-llvm-67f74aceab191c5ecad2394edb267ecee49d872d.tar.gz bcm5719-llvm-67f74aceab191c5ecad2394edb267ecee49d872d.zip | |
[WebAssembly] Handle END_LOOP in unreachable BB in CFGStackify
Summary:
This fixes crashes when a BB in which an END_LOOP is to be placed is
unreachable and does not have any predecessors. Fixes PR41307.
Reviewers: dschuff
Subscribers: yurydelendik, sbc100, jgravelle-google, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60004
llvm-svn: 357303
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/WebAssembly/cfg-stackify-dbg.mir | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/cfg-stackify-dbg.mir b/llvm/test/CodeGen/WebAssembly/cfg-stackify-dbg.mir new file mode 100644 index 00000000000..cd76d9132f9 --- /dev/null +++ b/llvm/test/CodeGen/WebAssembly/cfg-stackify-dbg.mir @@ -0,0 +1,27 @@ +# RUN: llc -mtriple=wasm32-unknown-unknown -run-pass wasm-cfg-stackify %s -o - | FileCheck %s + +# This tests if END_LOOP marker is placed correctly when the BB it is to be +# placed is unreachable. Regression test for PR41307. + +# CHECK-LABEL: unreachable_test +name: unreachable_test +liveins: + - { reg: '$arguments' } +body: | + bb.0: + successors: %bb.1 + + bb.1: + ; predecessors: %bb.0, %bb.2 + successors: %bb.2 + + bb.2: + ; predecessors: %bb.1 + successors: %bb.1 + BR %bb.1, implicit-def dead $arguments + + ; CHECK: bb.3 + ; CHECK: END_LOOP + bb.3: + UNREACHABLE implicit-def $arguments +... |

