summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
diff options
context:
space:
mode:
authorJF Bastien <jfb@google.com>2015-07-31 21:04:18 +0000
committerJF Bastien <jfb@google.com>2015-07-31 21:04:18 +0000
commit4a2d56044f966007ec76519d2998f5d687aa16fc (patch)
tree378c20eb334a8fbee3abf73a135081f4f3b86ce8 /llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
parentc18daf29ae8ca5edcceea7270dbf4b7bc682ca48 (diff)
downloadbcm5719-llvm-4a2d56044f966007ec76519d2998f5d687aa16fc.tar.gz
bcm5719-llvm-4a2d56044f966007ec76519d2998f5d687aa16fc.zip
WebAssembly: handle `ret void`.
Summary: Use -1 as numoperands for the return SDTypeProfile, denoting that return is variadic. Note that the patterns in InstrControl.td still need to match the inputs, so this ins't an "anything goes" variadic on ret! The next step will be to handle other local types (not just int32). Reviewers: sunfish Subscribers: llvm-commits, jfb Differential Revision: http://reviews.llvm.org/D11692 llvm-svn: 243783
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td b/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
index 59e6e3b6711..6ec345bf37d 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
@@ -29,5 +29,6 @@ let hasSideEffects = 1, isReturn = 1, isTerminator = 1, hasCtrlDep = 1,
isBarrier = 1 in {
//FIXME return more than just int32.
def RETURN : I<(outs), (ins Int32:$val), [(WebAssemblyreturn Int32:$val)]>;
+def RETURN_VOID : I<(outs), (ins), [(WebAssemblyreturn)]>;
} // hasSideEffects = 1, isReturn = 1, isTerminator = 1, hasCtrlDep = 1,
// isBarrier = 1
OpenPOWER on IntegriCloud