[lld] r329337 - [WebAssembly] Remove StackPointerGlobal member variable from the driver.

Rui Ueyama via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 5 12:37:48 PDT 2018


Author: ruiu
Date: Thu Apr  5 12:37:48 2018
New Revision: 329337

URL: http://llvm.org/viewvc/llvm-project?rev=329337&view=rev
Log:
[WebAssembly] Remove StackPointerGlobal member variable from the driver.

Since InputGlobal makes a copy of a given object, we can use a temporary
object allocated on the stack here.

Differential Revision: https://reviews.llvm.org/D43924

Modified:
    lld/trunk/wasm/Driver.cpp

Modified: lld/trunk/wasm/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/wasm/Driver.cpp?rev=329337&r1=329336&r2=329337&view=diff
==============================================================================
--- lld/trunk/wasm/Driver.cpp (original)
+++ lld/trunk/wasm/Driver.cpp Thu Apr  5 12:37:48 2018
@@ -57,7 +57,6 @@ private:
   void addFile(StringRef Path);
   void addLibrary(StringRef Name);
   std::vector<InputFile *> Files;
-  llvm::wasm::WasmGlobal StackPointerGlobal;
 };
 } // anonymous namespace
 
@@ -336,10 +335,11 @@ void LinkerDriver::link(ArrayRef<const c
     // globals aren't yet supported in the official binary format.
     // TODO(sbc): Remove WASM_SYMBOL_VISIBILITY_HIDDEN if/when the
     // "mutable global" proposal is accepted.
-    StackPointerGlobal.Type = {WASM_TYPE_I32, true};
-    StackPointerGlobal.InitExpr.Value.Int32 = 0;
-    StackPointerGlobal.InitExpr.Opcode = WASM_OPCODE_I32_CONST;
-    InputGlobal *StackPointer = make<InputGlobal>(StackPointerGlobal);
+    llvm::wasm::WasmGlobal Global;
+    Global.Type = {WASM_TYPE_I32, true};
+    Global.InitExpr.Value.Int32 = 0;
+    Global.InitExpr.Opcode = WASM_OPCODE_I32_CONST;
+    InputGlobal *StackPointer = make<InputGlobal>(Global);
     StackPointer->Live = true;
 
     static WasmSignature NullSignature = {{}, WASM_TYPE_NORESULT};




More information about the llvm-commits mailing list