[WebAssembly] Define the `end` opcode value.

CFGStackify differentiates between END_LOOP and END_BLOCK, but wasm
itself doesn't. For now, just use the same opcode for both.

llvm-svn: 285016
This commit is contained in:
Dan Gohman 2016-10-24 20:32:04 +00:00
parent 4631be7402
commit 4becc58587
1 changed files with 4 additions and 2 deletions

View File

@ -63,8 +63,10 @@ def BR_TABLE_I64 : I<(outs), (ins I64:$index, variable_ops),
let Uses = [VALUE_STACK], Defs = [VALUE_STACK] in {
def BLOCK : I<(outs), (ins Signature:$sig), [], "block \t$sig", 0x02>;
def LOOP : I<(outs), (ins Signature:$sig), [], "loop \t$sig", 0x03>;
def END_BLOCK : I<(outs), (ins), [], "end_block">;
def END_LOOP : I<(outs), (ins), [], "end_loop">;
// END_BLOCK and END_LOOP are represented with the same opcode in wasm.
def END_BLOCK : I<(outs), (ins), [], "end_block", 0x0f>;
def END_LOOP : I<(outs), (ins), [], "end_loop", 0x0f>;
} // Uses = [VALUE_STACK], Defs = [VALUE_STACK]
multiclass RETURN<WebAssemblyRegClass vt> {