Temporary rever invalid commit
authorAnton Korobeynikov <asl@math.spbu.ru>
Sat, 28 Jun 2008 11:09:48 +0000 (11:09 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Sat, 28 Jun 2008 11:09:48 +0000 (11:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52865 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ATTAsmPrinter.cpp
lib/Target/X86/X86ATTAsmPrinter.h

index a731504e316cf6b0deb8d4f1674c010ac5d4e04b..41afdb17dccc0481b9d0f00f2d535dd8da53a2ee 100644 (file)
@@ -658,7 +658,7 @@ void X86ATTAsmPrinter::printPICJumpTableEntry(const MachineJumpTableInfo *MJTI,
     printBasicBlockLabel(MBB, false, false, false);
 }
 
-bool X86ATTAsmPrinter::printAsmMRegister(const MachineOperand &MO,
+bool X86ATTAsmPrinter::PrintAsmMRegister(const MachineOperand &MO,
                                          const char Mode) {
   unsigned Reg = MO.getReg();
   switch (Mode) {
@@ -688,7 +688,7 @@ bool X86ATTAsmPrinter::printAsmMRegister(const MachineOperand &MO,
 
 /// PrintAsmOperand - Print out an operand for an inline asm expression.
 ///
-bool X86ATTAsmPrinter::printAsmOperand(const MachineInstr *MI, unsigned OpNo,
+bool X86ATTAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
                                        unsigned AsmVariant,
                                        const char *ExtraCode) {
   // Does this asm operand have a single letter operand modifier?
@@ -892,8 +892,6 @@ void X86ATTAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
     }
     break;
    case GlobalValue::DLLExportLinkage:
-    DLLExportedGVs.insert(Mang->makeNameProper(GVar->getName(),""));
-    // FALL THROUGH
    case GlobalValue::AppendingLinkage:
     // FIXME: appending linkage variables should go into a section of
     // their name or something.  For now, just emit them as external.
@@ -983,9 +981,13 @@ void X86ATTAsmPrinter::printModuleLevelGV(const GlobalVariable* GVar) {
 bool X86ATTAsmPrinter::doFinalization(Module &M) {
   // Print out module-level global variables here.
   for (Module::const_global_iterator I = M.global_begin(), E = M.global_end();
-       I != E; ++I)
+       I != E; ++I) {
     printModuleLevelGV(I);
 
+    if (I->hasDLLExportLinkage())
+      DLLExportedGVs.insert(Mang->makeNameProper(I->getName(),""));
+  }
+
   // Output linker support code for dllexported globals
   if (!DLLExportedGVs.empty())
     SwitchToDataSection(".section .drectve");
index 0bd8423c55224e161177e43e24434eb1a0d6071f..4f17a12b10b1a59e34cd61923b8aa570ebc6b947 100644 (file)
@@ -98,9 +98,9 @@ struct VISIBILITY_HIDDEN X86ATTAsmPrinter : public AsmPrinter {
   }
 
   bool printAsmMRegister(const MachineOperand &MO, const char Mode);
-  bool printAsmOperand(const MachineInstr *MI, unsigned OpNo,
+  bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo,
                        unsigned AsmVariant, const char *ExtraCode);
-  bool printAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,
+  bool PrintAsmMemoryOperand(const MachineInstr *MI, unsigned OpNo,
                              unsigned AsmVariant, const char *ExtraCode);
 
   void printMachineInstruction(const MachineInstr *MI);