diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td index 061a253816e..dfa66cd2dc1 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td +++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td @@ -138,9 +138,20 @@ def : Pat<(i32 (WebAssemblywrapper texternalsym:$addr)), let Defs = [ARGUMENTS] in { // Function signature and local variable declaration "instructions". -def PARAM : I<(outs), (ins variable_ops), [], ".param \t">; -def RESULT : I<(outs), (ins variable_ops), [], ".result \t">; -def LOCAL : I<(outs), (ins variable_ops), [], ".local \t">; +// Set TSFlags{0} to 1 to indicate that the variable_ops are immediates. +// Set TSFlags{1} to 1 to indicate that the immediates represent types. +def PARAM : I<(outs), (ins variable_ops), [], ".param \t"> { + let TSFlags{0} = 1; + let TSFlags{1} = 1; +} +def RESULT : I<(outs), (ins variable_ops), [], ".result \t"> { + let TSFlags{0} = 1; + let TSFlags{1} = 1; +} +def LOCAL : I<(outs), (ins variable_ops), [], ".local \t"> { + let TSFlags{0} = 1; + let TSFlags{1} = 1; +} } // Defs = [ARGUMENTS] |