[llvm] r204891 - Update MCSymbolizer and its subclasses' constructors to reflect the fact that

Lang Hames lhames at gmail.com
Wed Mar 26 19:39:01 PDT 2014


Author: lhames
Date: Wed Mar 26 21:39:01 2014
New Revision: 204891

URL: http://llvm.org/viewvc/llvm-project?rev=204891&view=rev
Log:
Update MCSymbolizer and its subclasses' constructors to reflect the fact that
they take ownership of the RelocationInfo they're constructed with.


Modified:
    llvm/trunk/include/llvm/MC/MCExternalSymbolizer.h
    llvm/trunk/include/llvm/MC/MCObjectSymbolizer.h
    llvm/trunk/include/llvm/MC/MCSymbolizer.h
    llvm/trunk/lib/MC/MCDisassembler.cpp
    llvm/trunk/lib/MC/MCExternalSymbolizer.cpp
    llvm/trunk/lib/MC/MCObjectSymbolizer.cpp
    llvm/trunk/lib/MC/MCSymbolizer.cpp
    llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp

Modified: llvm/trunk/include/llvm/MC/MCExternalSymbolizer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCExternalSymbolizer.h?rev=204891&r1=204890&r2=204891&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCExternalSymbolizer.h (original)
+++ llvm/trunk/include/llvm/MC/MCExternalSymbolizer.h Wed Mar 26 21:39:01 2014
@@ -39,11 +39,11 @@ class MCExternalSymbolizer : public MCSy
 
 public:
   MCExternalSymbolizer(MCContext &Ctx,
-                       std::unique_ptr<MCRelocationInfo> &RelInfo,
+                       std::unique_ptr<MCRelocationInfo> RelInfo,
                        LLVMOpInfoCallback getOpInfo,
                        LLVMSymbolLookupCallback symbolLookUp, void *disInfo)
-      : MCSymbolizer(Ctx, RelInfo), GetOpInfo(getOpInfo),
-        SymbolLookUp(symbolLookUp), DisInfo(disInfo) {}
+    : MCSymbolizer(Ctx, std::move(RelInfo)), GetOpInfo(getOpInfo),
+      SymbolLookUp(symbolLookUp), DisInfo(disInfo) {}
 
   bool tryAddingSymbolicOperand(MCInst &MI, raw_ostream &CommentStream,
                                 int64_t Value, uint64_t Address, bool IsBranch,

Modified: llvm/trunk/include/llvm/MC/MCObjectSymbolizer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCObjectSymbolizer.h?rev=204891&r1=204890&r2=204891&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCObjectSymbolizer.h (original)
+++ llvm/trunk/include/llvm/MC/MCObjectSymbolizer.h Wed Mar 26 21:39:01 2014
@@ -41,7 +41,7 @@ protected:
   const object::RelocationRef *findRelocationAt(uint64_t Addr);
   const object::SectionRef *findSectionContaining(uint64_t Addr);
 
-  MCObjectSymbolizer(MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo,
+  MCObjectSymbolizer(MCContext &Ctx, std::unique_ptr<MCRelocationInfo> RelInfo,
                      const object::ObjectFile *Obj);
 
 public:
@@ -65,7 +65,7 @@ public:
   /// \brief Create an object symbolizer for \p Obj.
   static MCObjectSymbolizer *
   createObjectSymbolizer(MCContext &Ctx,
-                         std::unique_ptr<MCRelocationInfo> &RelInfo,
+                         std::unique_ptr<MCRelocationInfo> RelInfo,
                          const object::ObjectFile *Obj);
 
 private:

Modified: llvm/trunk/include/llvm/MC/MCSymbolizer.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCSymbolizer.h?rev=204891&r1=204890&r2=204891&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCSymbolizer.h (original)
+++ llvm/trunk/include/llvm/MC/MCSymbolizer.h Wed Mar 26 21:39:01 2014
@@ -46,7 +46,7 @@ protected:
 
 public:
   /// \brief Construct an MCSymbolizer, taking ownership of \p RelInfo.
-  MCSymbolizer(MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo);
+  MCSymbolizer(MCContext &Ctx, std::unique_ptr<MCRelocationInfo> RelInfo);
   virtual ~MCSymbolizer();
 
   /// \brief Try to add a symbolic operand instead of \p Value to the MCInst.

Modified: llvm/trunk/lib/MC/MCDisassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDisassembler.cpp?rev=204891&r1=204890&r2=204891&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCDisassembler.cpp (original)
+++ llvm/trunk/lib/MC/MCDisassembler.cpp Wed Mar 26 21:39:01 2014
@@ -25,8 +25,9 @@ void MCDisassembler::setupForSymbolicDis
   this->Ctx = Ctx;
   assert(Ctx != 0 && "No MCContext given for symbolic disassembly");
   if (!Symbolizer)
-    Symbolizer.reset(new MCExternalSymbolizer(*Ctx, RelInfo, GetOpInfo,
-                                              SymbolLookUp, DisInfo));
+    Symbolizer.reset(new MCExternalSymbolizer(*Ctx, std::move(RelInfo),
+                                              GetOpInfo, SymbolLookUp,
+                                              DisInfo));
 }
 
 void MCDisassembler::setupForSymbolicDisassembly(

Modified: llvm/trunk/lib/MC/MCExternalSymbolizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCExternalSymbolizer.cpp?rev=204891&r1=204890&r2=204891&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCExternalSymbolizer.cpp (original)
+++ llvm/trunk/lib/MC/MCExternalSymbolizer.cpp Wed Mar 26 21:39:01 2014
@@ -191,8 +191,8 @@ MCSymbolizer *createMCSymbolizer(StringR
                                  MCRelocationInfo *RelInfo) {
   assert(Ctx != 0 && "No MCContext given for symbolic disassembly");
 
-  std::unique_ptr<MCRelocationInfo> RelInfoOwingPtr(RelInfo);
-  return new MCExternalSymbolizer(*Ctx, RelInfoOwingPtr, GetOpInfo,
-                                  SymbolLookUp, DisInfo);
+  return new MCExternalSymbolizer(*Ctx,
+                                  std::unique_ptr<MCRelocationInfo>(RelInfo),
+                                  GetOpInfo, SymbolLookUp, DisInfo);
 }
 }

Modified: llvm/trunk/lib/MC/MCObjectSymbolizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCObjectSymbolizer.cpp?rev=204891&r1=204890&r2=204891&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCObjectSymbolizer.cpp (original)
+++ llvm/trunk/lib/MC/MCObjectSymbolizer.cpp Wed Mar 26 21:39:01 2014
@@ -35,7 +35,7 @@ class MCMachObjectSymbolizer : public MC
 
 public:
   MCMachObjectSymbolizer(MCContext &Ctx,
-                         std::unique_ptr<MCRelocationInfo> &RelInfo,
+                         std::unique_ptr<MCRelocationInfo> RelInfo,
                          const MachOObjectFile *MOOF);
 
   StringRef findExternalFunctionAt(uint64_t Addr) override;
@@ -46,10 +46,10 @@ public:
 } // End unnamed namespace
 
 MCMachObjectSymbolizer::MCMachObjectSymbolizer(
-    MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo,
+    MCContext &Ctx, std::unique_ptr<MCRelocationInfo> RelInfo,
     const MachOObjectFile *MOOF)
-    : MCObjectSymbolizer(Ctx, RelInfo, MOOF), MOOF(MOOF), StubsStart(0),
-      StubsCount(0), StubSize(0), StubsIndSymIndex(0) {
+  : MCObjectSymbolizer(Ctx, std::move(RelInfo), MOOF), MOOF(MOOF),
+    StubsStart(0), StubsCount(0), StubSize(0), StubsIndSymIndex(0) {
 
   for (const SectionRef &Section : MOOF->sections()) {
     StringRef Name;
@@ -121,9 +121,10 @@ tryAddingPcLoadReferenceComment(raw_ostr
 //===- MCObjectSymbolizer -------------------------------------------------===//
 
 MCObjectSymbolizer::MCObjectSymbolizer(
-    MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo,
-    const ObjectFile *Obj)
-    : MCSymbolizer(Ctx, RelInfo), Obj(Obj), SortedSections(), AddrToReloc() {}
+  MCContext &Ctx, std::unique_ptr<MCRelocationInfo> RelInfo,
+  const ObjectFile *Obj)
+  : MCSymbolizer(Ctx, std::move(RelInfo)), Obj(Obj), SortedSections(),
+    AddrToReloc() {}
 
 bool MCObjectSymbolizer::
 tryAddingSymbolicOperand(MCInst &MI, raw_ostream &cStream,
@@ -191,11 +192,11 @@ StringRef MCObjectSymbolizer::findExtern
 }
 
 MCObjectSymbolizer *MCObjectSymbolizer::createObjectSymbolizer(
-    MCContext &Ctx, std::unique_ptr<MCRelocationInfo> &RelInfo,
+    MCContext &Ctx, std::unique_ptr<MCRelocationInfo> RelInfo,
     const ObjectFile *Obj) {
   if (const MachOObjectFile *MOOF = dyn_cast<MachOObjectFile>(Obj))
-    return new MCMachObjectSymbolizer(Ctx, RelInfo, MOOF);
-  return new MCObjectSymbolizer(Ctx, RelInfo, Obj);
+    return new MCMachObjectSymbolizer(Ctx, std::move(RelInfo), MOOF);
+  return new MCObjectSymbolizer(Ctx, std::move(RelInfo), Obj);
 }
 
 // SortedSections implementation.

Modified: llvm/trunk/lib/MC/MCSymbolizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCSymbolizer.cpp?rev=204891&r1=204890&r2=204891&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCSymbolizer.cpp (original)
+++ llvm/trunk/lib/MC/MCSymbolizer.cpp Wed Mar 26 21:39:01 2014
@@ -13,8 +13,8 @@
 using namespace llvm;
 
 MCSymbolizer::MCSymbolizer(MCContext &Ctx,
-                           std::unique_ptr<MCRelocationInfo> &RelInfo)
-    : Ctx(Ctx), RelInfo(RelInfo.release()) {}
+                           std::unique_ptr<MCRelocationInfo> RelInfo)
+    : Ctx(Ctx), RelInfo(std::move(RelInfo)) {}
 
 MCSymbolizer::~MCSymbolizer() {
 }

Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=204891&r1=204890&r2=204891&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Wed Mar 26 21:39:01 2014
@@ -325,7 +325,8 @@ static void DisassembleObject(const Obje
         TheTarget->createMCRelocationInfo(TripleName, *Ctx.get()));
     if (RelInfo) {
       std::unique_ptr<MCSymbolizer> Symzer(
-          MCObjectSymbolizer::createObjectSymbolizer(*Ctx.get(), RelInfo, Obj));
+        MCObjectSymbolizer::createObjectSymbolizer(*Ctx.get(),
+                                                   std::move(RelInfo), Obj));
       if (Symzer)
         DisAsm->setSymbolizer(std::move(Symzer));
     }





More information about the llvm-commits mailing list