From 777b045cd59cba63ad9d768277a0157f90ad3891 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 24 Oct 2016 20:32:04 +0000 Subject: [PATCH] [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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285016 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/WebAssembly/WebAssemblyInstrControl.td | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/Target/WebAssembly/WebAssemblyInstrControl.td b/lib/Target/WebAssembly/WebAssemblyInstrControl.td index 0252aab794d..7ff5bbdcd48 100644 --- a/lib/Target/WebAssembly/WebAssemblyInstrControl.td +++ b/lib/Target/WebAssembly/WebAssemblyInstrControl.td @@ -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 { -- 2.49.0