summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2006-12-18 03:37:18 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2006-12-18 03:37:18 +0000
commitd7998d0e6db5aaafa9ca06f6fef52dd3a79605af (patch)
treeda159224989d7ebc2ec065dbd9fb27a52b24d845 /llvm/lib/Target/X86
parent0e60d55519549472ebf099f632c1ca823643ef99 (diff)
downloadbcm5719-llvm-d7998d0e6db5aaafa9ca06f6fef52dd3a79605af.tar.gz
bcm5719-llvm-d7998d0e6db5aaafa9ca06f6fef52dd3a79605af.zip
move ExtWeakSymbols to AsmPrinter
llvm-svn: 32648
Diffstat (limited to 'llvm/lib/Target/X86')
-rwxr-xr-xllvm/lib/Target/X86/X86ATTAsmPrinter.cpp2
-rw-r--r--llvm/lib/Target/X86/X86AsmPrinter.cpp11
-rwxr-xr-xllvm/lib/Target/X86/X86AsmPrinter.h3
3 files changed, 2 insertions, 14 deletions
diff --git a/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp b/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
index 62f24db4e82..f9645b80d28 100755
--- a/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
+++ b/llvm/lib/Target/X86/X86ATTAsmPrinter.cpp
@@ -257,7 +257,7 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
}
if (GV->hasExternalWeakLinkage())
- ExtWeakSymbols.insert(Name);
+ ExtWeakSymbols.insert(GV);
int Offset = MO.getOffset();
if (Offset > 0)
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp
index 021e55c5c5c..578e1aa9785 100644
--- a/llvm/lib/Target/X86/X86AsmPrinter.cpp
+++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp
@@ -250,7 +250,7 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
// reference!
if (const GlobalValue *GV = dyn_cast<GlobalValue>(C))
if (GV->hasExternalWeakLinkage())
- ExtWeakSymbols.insert(Mang->getValueName(GV));
+ ExtWeakSymbols.insert(GV);
EmitGlobalConstant(C);
O << '\n';
@@ -278,15 +278,6 @@ bool X86SharedAsmPrinter::doFinalization(Module &M) {
O << "\t.ascii \" -export:" << *i << "\"\n";
}
- if (TAI->getWeakRefDirective()) {
- if (ExtWeakSymbols.begin() != ExtWeakSymbols.end())
- SwitchToDataSection("");
- for (std::set<std::string>::iterator i = ExtWeakSymbols.begin(),
- e = ExtWeakSymbols.end(); i != e; ++i) {
- O << TAI->getWeakRefDirective() << *i << "\n";
- }
- }
-
if (Subtarget->isTargetDarwin()) {
SwitchToDataSection("");
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.h b/llvm/lib/Target/X86/X86AsmPrinter.h
index b9b643b701e..af182fab259 100755
--- a/llvm/lib/Target/X86/X86AsmPrinter.h
+++ b/llvm/lib/Target/X86/X86AsmPrinter.h
@@ -86,9 +86,6 @@ struct VISIBILITY_HIDDEN X86SharedAsmPrinter : public AsmPrinter {
// Necessary for dllexport support
std::set<std::string> DLLExportedFns, DLLExportedGVs;
- // Necessary for external weak linkage support
- std::set<std::string> ExtWeakSymbols;
-
inline static bool isScale(const MachineOperand &MO) {
return MO.isImmediate() &&
(MO.getImmedValue() == 1 || MO.getImmedValue() == 2 ||
OpenPOWER on IntegriCloud