[llvm] r241364 - Use getValue instead of getAddress in a few MachO only cases.

Rafael Espindola rafael.espindola at gmail.com
Fri Jul 3 10:44:19 PDT 2015


Author: rafael
Date: Fri Jul  3 12:44:18 2015
New Revision: 241364

URL: http://llvm.org/viewvc/llvm-project?rev=241364&view=rev
Log:
Use getValue instead of getAddress in a few MachO only cases.

In MachO the value of the symbol is always the address, so we can use the
simpler function.

Modified:
    llvm/trunk/lib/Object/MachOObjectFile.cpp
    llvm/trunk/tools/llvm-objdump/MachODump.cpp

Modified: llvm/trunk/lib/Object/MachOObjectFile.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/MachOObjectFile.cpp?rev=241364&r1=241363&r2=241364&view=diff
==============================================================================
--- llvm/trunk/lib/Object/MachOObjectFile.cpp (original)
+++ llvm/trunk/lib/Object/MachOObjectFile.cpp Fri Jul  3 12:44:18 2015
@@ -392,9 +392,7 @@ uint32_t MachOObjectFile::getSymbolAlign
 }
 
 uint64_t MachOObjectFile::getCommonSymbolSizeImpl(DataRefImpl DRI) const {
-  uint64_t Value;
-  getSymbolAddress(DRI, Value);
-  return Value;
+  return getSymbolValue(DRI);
 }
 
 SymbolRef::Type MachOObjectFile::getSymbolType(DataRefImpl Symb) const {
@@ -434,8 +432,7 @@ uint32_t MachOObjectFile::getSymbolFlags
   if (MachOType & MachO::N_EXT) {
     Result |= SymbolRef::SF_Global;
     if ((MachOType & MachO::N_TYPE) == MachO::N_UNDF) {
-      uint64_t Value;
-      getSymbolAddress(DRI, Value);
+      uint64_t Value = getSymbolValue(DRI);
       if (Value && Value != UnknownAddress)
         Result |= SymbolRef::SF_Common;
     }

Modified: llvm/trunk/tools/llvm-objdump/MachODump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/MachODump.cpp?rev=241364&r1=241363&r2=241364&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/MachODump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/MachODump.cpp Fri Jul  3 12:44:18 2015
@@ -178,18 +178,8 @@ static const Target *GetTarget(const Mac
 
 struct SymbolSorter {
   bool operator()(const SymbolRef &A, const SymbolRef &B) {
-    SymbolRef::Type AType = A.getType();
-    SymbolRef::Type BType = B.getType();
-
-    uint64_t AAddr, BAddr;
-    if (AType != SymbolRef::ST_Function)
-      AAddr = 0;
-    else
-      A.getAddress(AAddr);
-    if (BType != SymbolRef::ST_Function)
-      BAddr = 0;
-    else
-      B.getAddress(BAddr);
+    uint64_t AAddr = (A.getType() != SymbolRef::ST_Function) ? 0 : A.getValue();
+    uint64_t BAddr = (B.getType() != SymbolRef::ST_Function) ? 0 : B.getValue();
     return AAddr < BAddr;
   }
 };
@@ -592,8 +582,7 @@ static void CreateSymbolAddressMap(MachO
     SymbolRef::Type ST = Symbol.getType();
     if (ST == SymbolRef::ST_Function || ST == SymbolRef::ST_Data ||
         ST == SymbolRef::ST_Other) {
-      uint64_t Address;
-      Symbol.getAddress(Address);
+      uint64_t Address = Symbol.getValue();
       ErrorOr<StringRef> SymNameOrErr = Symbol.getName();
       if (std::error_code EC = SymNameOrErr.getError())
         report_fatal_error(EC.message());
@@ -2456,7 +2445,7 @@ static const char *get_symbol_64(uint32_
   // and return its name.
   const char *SymbolName = nullptr;
   if (reloc_found && isExtern) {
-    Symbol.getAddress(n_value);
+    n_value = Symbol.getValue();
     if (n_value == UnknownAddress)
       n_value = 0;
     ErrorOr<StringRef> NameOrError = Symbol.getName();
@@ -5640,7 +5629,7 @@ static const char *GuessLiteralPointer(u
     if (info->O->getAnyRelocationPCRel(RE)) {
       unsigned Type = info->O->getAnyRelocationType(RE);
       if (Type == MachO::X86_64_RELOC_SIGNED) {
-        Symbol.getAddress(ReferenceValue);
+        ReferenceValue = Symbol.getValue();
       }
     }
   }
@@ -6131,8 +6120,7 @@ static void DisassembleMachO(StringRef F
       SymbolRef::Type ST = Symbol.getType();
       if (ST == SymbolRef::ST_Function || ST == SymbolRef::ST_Data ||
           ST == SymbolRef::ST_Other) {
-        uint64_t Address;
-        Symbol.getAddress(Address);
+        uint64_t Address = Symbol.getValue();
         ErrorOr<StringRef> SymNameOrErr = Symbol.getName();
         if (std::error_code EC = SymNameOrErr.getError())
           report_fatal_error(EC.message());
@@ -6194,9 +6182,8 @@ static void DisassembleMachO(StringRef F
         continue;
 
       // Start at the address of the symbol relative to the section's address.
-      uint64_t Start = 0;
+      uint64_t Start = Symbols[SymIdx].getValue();
       uint64_t SectionAddress = Sections[SectIdx].getAddress();
-      Symbols[SymIdx].getAddress(Start);
       Start -= SectionAddress;
 
       // Stop disassembling either at the beginning of the next symbol or at
@@ -6209,7 +6196,7 @@ static void DisassembleMachO(StringRef F
         if (NextSymType == SymbolRef::ST_Function) {
           containsNextSym =
               Sections[SectIdx].containsSymbol(Symbols[NextSymIdx]);
-          Symbols[NextSymIdx].getAddress(NextSym);
+          NextSym = Symbols[NextSymIdx].getValue();
           NextSym -= SectionAddress;
           break;
         }
@@ -6815,8 +6802,7 @@ void llvm::printMachOUnwindInfo(const Ma
     if (Section == Obj->section_end())
       continue;
 
-    uint64_t Addr;
-    SymRef.getAddress(Addr);
+    uint64_t Addr = SymRef.getValue();
     Symbols.insert(std::make_pair(Addr, SymRef));
   }
 





More information about the llvm-commits mailing list