diff options
author | JF Bastien <jfb@google.com> | 2015-07-31 21:04:18 +0000 |
---|---|---|
committer | JF Bastien <jfb@google.com> | 2015-07-31 21:04:18 +0000 |
commit | 4a2d56044f966007ec76519d2998f5d687aa16fc (patch) | |
tree | 378c20eb334a8fbee3abf73a135081f4f3b86ce8 /llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td | |
parent | c18daf29ae8ca5edcceea7270dbf4b7bc682ca48 (diff) | |
download | bcm5719-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.td | 1 |
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 |