[WebAssembly] Don't use set_local instructions explicitly.

The current approach to using get_local and set_local is to use them
implicitly, as register uses and defs. Introduce new copy instructions
which are themselves no-ops except for the get_local and set_local
that they imply, so that we use get_local and set_local consistently.

llvm-svn: 253905
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
index 97e8487..2f1d5eb 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
@@ -37,19 +37,19 @@
   const TargetRegisterClass *RC =
       MBB.getParent()->getRegInfo().getRegClass(SrcReg);
 
-  unsigned SetLocalOpcode;
+  unsigned CopyLocalOpcode;
   if (RC == &WebAssembly::I32RegClass)
-    SetLocalOpcode = WebAssembly::SET_LOCAL_I32;
+    CopyLocalOpcode = WebAssembly::COPY_LOCAL_I32;
   else if (RC == &WebAssembly::I64RegClass)
-    SetLocalOpcode = WebAssembly::SET_LOCAL_I64;
+    CopyLocalOpcode = WebAssembly::COPY_LOCAL_I64;
   else if (RC == &WebAssembly::F32RegClass)
-    SetLocalOpcode = WebAssembly::SET_LOCAL_F32;
+    CopyLocalOpcode = WebAssembly::COPY_LOCAL_F32;
   else if (RC == &WebAssembly::F64RegClass)
-    SetLocalOpcode = WebAssembly::SET_LOCAL_F64;
+    CopyLocalOpcode = WebAssembly::COPY_LOCAL_F64;
   else
     llvm_unreachable("Unexpected register class");
 
-  BuildMI(MBB, I, DL, get(SetLocalOpcode), DestReg)
+  BuildMI(MBB, I, DL, get(CopyLocalOpcode), DestReg)
       .addReg(SrcReg, KillSrc ? RegState::Kill : 0);
 }