diff options
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td index 953dd05fda5..d172537bb34 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td +++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td @@ -197,49 +197,49 @@ defm "": ARGUMENT<F32, f32>; defm "": ARGUMENT<F64, f64>; defm "": ARGUMENT<EXCEPT_REF, ExceptRef>; -// get_local and set_local are not generated by instruction selection; they +// local.get and local.set are not generated by instruction selection; they // are implied by virtual register uses and defs. multiclass LOCAL<WebAssemblyRegClass vt> { let hasSideEffects = 0 in { - // COPY is not an actual instruction in wasm, but since we allow get_local and - // set_local to be implicit during most of codegen, we can have a COPY which - // is actually a no-op because all the work is done in the implied get_local - // and set_local. COPYs are eliminated (and replaced with - // get_local/set_local) in the ExplicitLocals pass. + // COPY is not an actual instruction in wasm, but since we allow local.get and + // local.set to be implicit during most of codegen, we can have a COPY which + // is actually a no-op because all the work is done in the implied local.get + // and local.set. COPYs are eliminated (and replaced with + // local.get/local.set) in the ExplicitLocals pass. let isAsCheapAsAMove = 1, isCodeGenOnly = 1 in defm COPY_#vt : I<(outs vt:$res), (ins vt:$src), (outs), (ins), [], - "copy_local\t$res, $src", "copy_local">; + "local.copy\t$res, $src", "local.copy">; // TEE is similar to COPY, but writes two copies of its result. Typically // this would be used to stackify one result and write the other result to a // local. let isAsCheapAsAMove = 1, isCodeGenOnly = 1 in defm TEE_#vt : I<(outs vt:$res, vt:$also), (ins vt:$src), (outs), (ins), [], - "tee_local\t$res, $also, $src", "tee_local">; + "local.tee\t$res, $also, $src", "local.tee">; - // This is the actual get_local instruction in wasm. These are made explicit + // This is the actual local.get instruction in wasm. These are made explicit // by the ExplicitLocals pass. It has mayLoad because it reads from a wasm // local, which is a side effect not otherwise modeled in LLVM. let mayLoad = 1, isAsCheapAsAMove = 1 in - defm GET_LOCAL_#vt : I<(outs vt:$res), (ins local_op:$local), + defm LOCAL_GET_#vt : I<(outs vt:$res), (ins local_op:$local), (outs), (ins local_op:$local), [], - "get_local\t$res, $local", "get_local\t$local", 0x20>; + "local.get\t$res, $local", "local.get\t$local", 0x20>; - // This is the actual set_local instruction in wasm. These are made explicit + // This is the actual local.set instruction in wasm. These are made explicit // by the ExplicitLocals pass. It has mayStore because it writes to a wasm // local, which is a side effect not otherwise modeled in LLVM. let mayStore = 1, isAsCheapAsAMove = 1 in - defm SET_LOCAL_#vt : I<(outs), (ins local_op:$local, vt:$src), + defm LOCAL_SET_#vt : I<(outs), (ins local_op:$local, vt:$src), (outs), (ins local_op:$local), [], - "set_local\t$local, $src", "set_local\t$local", 0x21>; + "local.set\t$local, $src", "local.set\t$local", 0x21>; - // This is the actual tee_local instruction in wasm. TEEs are turned into - // TEE_LOCALs by the ExplicitLocals pass. It has mayStore for the same reason - // as SET_LOCAL. + // This is the actual local.tee instruction in wasm. TEEs are turned into + // LOCAL_TEEs by the ExplicitLocals pass. It has mayStore for the same reason + // as LOCAL_SET. let mayStore = 1, isAsCheapAsAMove = 1 in - defm TEE_LOCAL_#vt : I<(outs vt:$res), (ins local_op:$local, vt:$src), + defm LOCAL_TEE_#vt : I<(outs vt:$res), (ins local_op:$local, vt:$src), (outs), (ins local_op:$local), [], - "tee_local\t$res, $local, $src", "tee_local\t$local", + "local.tee\t$res, $local, $src", "local.tee\t$local", 0x22>; // Unused values must be dropped in some contexts. @@ -247,15 +247,15 @@ let hasSideEffects = 0 in { "drop\t$src", "drop", 0x1a>; let mayLoad = 1 in - defm GET_GLOBAL_#vt : I<(outs vt:$res), (ins global_op:$local), + defm GLOBAL_GET_#vt : I<(outs vt:$res), (ins global_op:$local), (outs), (ins global_op:$local), [], - "get_global\t$res, $local", "get_global\t$local", + "global.get\t$res, $local", "global.get\t$local", 0x23>; let mayStore = 1 in - defm SET_GLOBAL_#vt : I<(outs), (ins global_op:$local, vt:$src), + defm GLOBAL_SET_#vt : I<(outs), (ins global_op:$local, vt:$src), (outs), (ins global_op:$local), [], - "set_global\t$local, $src", "set_global\t$local", + "global.set\t$local, $src", "global.set\t$local", 0x24>; } // hasSideEffects = 0 |