[llvm] r330448 - [WebAssembly] Distinguish debug/symbol names in the Wasm structs. NFC

Nicholas Wilson via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 20 10:07:24 PDT 2018


Author: ncw
Date: Fri Apr 20 10:07:24 2018
New Revision: 330448

URL: http://llvm.org/viewvc/llvm-project?rev=330448&view=rev
Log:
[WebAssembly] Distinguish debug/symbol names in the Wasm structs.  NFC

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

Modified:
    llvm/trunk/include/llvm/BinaryFormat/Wasm.h
    llvm/trunk/lib/Object/WasmObjectFile.cpp

Modified: llvm/trunk/include/llvm/BinaryFormat/Wasm.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/BinaryFormat/Wasm.h?rev=330448&r1=330447&r2=330448&view=diff
==============================================================================
--- llvm/trunk/include/llvm/BinaryFormat/Wasm.h (original)
+++ llvm/trunk/include/llvm/BinaryFormat/Wasm.h Fri Apr 20 10:07:24 2018
@@ -74,7 +74,7 @@ struct WasmGlobal {
   uint32_t Index;
   WasmGlobalType Type;
   WasmInitExpr InitExpr;
-  StringRef Name; // from the "linking" or "names" section
+  StringRef SymbolName; // from the "linking" section
 };
 
 struct WasmImport {
@@ -100,7 +100,8 @@ struct WasmFunction {
   ArrayRef<uint8_t> Body;
   uint32_t CodeSectionOffset;
   uint32_t Size;
-  StringRef Name; // from the "linking" or "names" section
+  StringRef SymbolName; // from the "linking" section
+  StringRef DebugName; // from the "name" section
   uint32_t Comdat; // from the "comdat info" section
 };
 
@@ -108,7 +109,7 @@ struct WasmDataSegment {
   uint32_t MemoryIndex;
   WasmInitExpr Offset;
   ArrayRef<uint8_t> Content;
-  StringRef Name;
+  StringRef Name; // from the "segment info" section
   uint32_t Alignment;
   uint32_t Flags;
   uint32_t Comdat; // from the "comdat info" section
@@ -145,7 +146,7 @@ struct WasmSymbolInfo {
   uint8_t Kind;
   uint32_t Flags;
   union {
-    // For function or global symbols, the index in function of global index
+    // For function or global symbols, the index in function or global index
     // space.
     uint32_t ElementIndex;
     // For a data symbols, the address of the data relative to segment.

Modified: llvm/trunk/lib/Object/WasmObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/WasmObjectFile.cpp?rev=330448&r1=330447&r2=330448&view=diff
==============================================================================
--- llvm/trunk/lib/Object/WasmObjectFile.cpp (original)
+++ llvm/trunk/lib/Object/WasmObjectFile.cpp Fri Apr 20 10:07:24 2018
@@ -283,11 +283,8 @@ Error WasmObjectFile::parseNameSection(c
           return make_error<GenericBinaryError>("Invalid name entry",
                                                 object_error::parse_failed);
         DebugNames.push_back(wasm::WasmFunctionName{Index, Name});
-        if (isDefinedFunctionIndex(Index)) {
-          // Override any existing name; the name specified by the "names"
-          // section is the Function's canonical name.
-          getDefinedFunction(Index).Name = Name;
-        }
+        if (isDefinedFunctionIndex(Index))
+          getDefinedFunction(Index).DebugName = Name;
       }
       break;
     }
@@ -409,11 +406,8 @@ Error WasmObjectFile::parseLinkingSectio
         unsigned FuncIndex = Info.ElementIndex - NumImportedFunctions;
         FunctionType = &Signatures[FunctionTypes[FuncIndex]];
         wasm::WasmFunction &Function = Functions[FuncIndex];
-        if (Function.Name.empty()) {
-          // Use the symbol's name to set a name for the Function, but only if
-          // one hasn't already been set.
-          Function.Name = Info.Name;
-        }
+        if (Function.SymbolName.empty())
+          Function.SymbolName = Info.Name;
       } else {
         wasm::WasmImport &Import = *ImportedFunctions[Info.ElementIndex];
         FunctionType = &Signatures[Import.SigIndex];
@@ -437,11 +431,8 @@ Error WasmObjectFile::parseLinkingSectio
         unsigned GlobalIndex = Info.ElementIndex - NumImportedGlobals;
         wasm::WasmGlobal &Global = Globals[GlobalIndex];
         GlobalType = &Global.Type;
-        if (Global.Name.empty()) {
-          // Use the symbol's name to set a name for the Global, but only if
-          // one hasn't already been set.
-          Global.Name = Info.Name;
-        }
+        if (Global.SymbolName.empty())
+          Global.SymbolName = Info.Name;
       } else {
         wasm::WasmImport &Import = *ImportedGlobals[Info.ElementIndex];
         Info.Name = Import.Field;




More information about the llvm-commits mailing list