[llvm-branch-commits] [llvm-branch] r168350 - in /llvm/branches/release_32: ./ lib/Target/PowerPC/PPCAsmPrinter.cpp

Hal Finkel hfinkel at anl.gov
Mon Nov 19 19:47:28 PST 2012


Author: hfinkel
Date: Mon Nov 19 21:47:28 2012
New Revision: 168350

URL: http://llvm.org/viewvc/llvm-project?rev=168350&view=rev
Log:
Merge in r167737: Make PPC TOC contents deterministic.

Modified:
    llvm/branches/release_32/   (props changed)
    llvm/branches/release_32/lib/Target/PowerPC/PPCAsmPrinter.cpp

Propchange: llvm/branches/release_32/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 19 21:47:28 2012
@@ -1,3 +1,3 @@
 /llvm/branches/Apple/Pertwee:110850,110961
 /llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,167718-167719,167731,167743,167750,167784,167811,167817,167855,167942,167948,167966,168198,168316
+/llvm/trunk:155241,167718-167719,167731,167737,167743,167750,167784,167811,167817,167855,167942,167948,167966,168198,168316

Modified: llvm/branches/release_32/lib/Target/PowerPC/PPCAsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_32/lib/Target/PowerPC/PPCAsmPrinter.cpp?rev=168350&r1=168349&r2=168350&view=diff
==============================================================================
--- llvm/branches/release_32/lib/Target/PowerPC/PPCAsmPrinter.cpp (original)
+++ llvm/branches/release_32/lib/Target/PowerPC/PPCAsmPrinter.cpp Mon Nov 19 21:47:28 2012
@@ -54,12 +54,13 @@
 #include "llvm/Support/ELF.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/MapVector.h"
 using namespace llvm;
 
 namespace {
   class PPCAsmPrinter : public AsmPrinter {
   protected:
-    DenseMap<MCSymbol*, MCSymbol*> TOC;
+    MapVector<MCSymbol*, MCSymbol*> TOC;
     const PPCSubtarget &Subtarget;
     uint64_t TOCLabelID;
   public:
@@ -465,8 +466,7 @@
         SectionKind::getReadOnly());
     OutStreamer.SwitchSection(Section);
 
-    // FIXME: This is nondeterminstic!
-    for (DenseMap<MCSymbol*, MCSymbol*>::iterator I = TOC.begin(),
+    for (MapVector<MCSymbol*, MCSymbol*>::iterator I = TOC.begin(),
          E = TOC.end(); I != E; ++I) {
       OutStreamer.EmitLabel(I->second);
       MCSymbol *S = OutContext.GetOrCreateSymbol(I->first->getName());





More information about the llvm-branch-commits mailing list