Address comments

- Add llvm-mc test case (and delete the old one)
- Change report_fatal_error to assertions

llvm-svn: 345334
This commit is contained in:
Heejin Ahn 2018-10-25 23:35:14 +00:00
parent 1147d91402
commit 1d13e6be37
3 changed files with 15 additions and 22 deletions

View File

@ -85,14 +85,12 @@ void WebAssemblyInstPrinter::printInst(const MCInst *MI, raw_ostream &OS,
break;
case WebAssembly::END_LOOP:
case WebAssembly::END_LOOP_S:
if (ControlFlowStack.empty())
report_fatal_error("End marker mismatch!");
assert(!ControlFlowStack.empty() && "End marker mismatch!");
ControlFlowStack.pop_back();
break;
case WebAssembly::END_BLOCK:
case WebAssembly::END_BLOCK_S:
if (ControlFlowStack.empty())
report_fatal_error("END marker mismatch!");
assert(!ControlFlowStack.empty() && "End marker mismatch!");
printAnnotation(
OS, "label" + utostr(ControlFlowStack.pop_back_val().first) + ':');
break;

View File

@ -1,18 +0,0 @@
# RUN: not llc -mtriple=wasm32-unknown-unknown -start-after xray-instrumentation %s -o /dev/null 2>&1 | FileCheck %s
# This tests if there are block/loop marker mismatches, the program crashes.
---
name: block_mismatch
liveins:
- { reg: '$arguments', reg: '$value_stack' }
tracksRegLiveness: true
body: |
bb.0:
liveins: $arguments, $value_stack
BLOCK 64, implicit-def $value_stack, implicit $value_stack
END_BLOCK implicit-def $value_stack, implicit $value_stack
; CHECK: LLVM ERROR: END marker mismatch!
END_BLOCK implicit-def $value_stack, implicit $value_stack
RETURN_VOID implicit-def dead $arguments
...

View File

@ -0,0 +1,13 @@
# RUN: not llvm-mc -triple=wasm32-unknown-unknown %s -o - 2>&1 | FileCheck %s
# This tests if there are block/loop marker mismatches, the program crashes.
.text
.type test0,@function
test0:
block
end_block
# CHECK: End marker mismatch!
end_block
end_function
.Lfunc_end1:
.size test1, .Lfunc_end1-test1