1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/CodeGen/WebAssembly/cfg-stackify-dbg.mir
Heejin Ahn d989a16724 [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
2019-03-29 19:36:51 +00:00

28 lines
603 B
YAML

# 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
...