forked from OSchip/llvm-project
pc-relative references are *always* to functions, never to globals. ISel
is incapable of lowering direct references to globals like this, zap the code. llvm-svn: 75106
This commit is contained in:
parent
82aa63c9b0
commit
3e41fec4df
|
@ -316,29 +316,16 @@ void X86ATTAsmPrinter::print_pcrel_imm(const MachineInstr *MI, unsigned OpNo) {
|
||||||
// non-lazily-resolved stubs
|
// non-lazily-resolved stubs
|
||||||
if (GV->isDeclaration() || GV->isWeakForLinker()) {
|
if (GV->isDeclaration() || GV->isWeakForLinker()) {
|
||||||
// Dynamically-resolved functions need a stub for the function.
|
// Dynamically-resolved functions need a stub for the function.
|
||||||
if (isa<Function>(GV)) {
|
assert(isa<Function>(GV));
|
||||||
// Function stubs are no longer needed for Mac OS X 10.5 and up.
|
|
||||||
if (Subtarget->isTargetDarwin() && Subtarget->getDarwinVers() >= 9) {
|
// Function stubs are no longer needed for Mac OS X 10.5 and up.
|
||||||
O << Name;
|
if (Subtarget->isTargetDarwin() && Subtarget->getDarwinVers() >= 9) {
|
||||||
} else {
|
O << Name;
|
||||||
FnStubs.insert(Name);
|
|
||||||
printSuffixedName(Name, "$stub");
|
|
||||||
}
|
|
||||||
assert(MO.getTargetFlags() == 0);
|
|
||||||
} else if (GV->hasHiddenVisibility()) {
|
|
||||||
if (!GV->isDeclaration() && !GV->hasCommonLinkage())
|
|
||||||
// Definition is not definitely in the current translation unit.
|
|
||||||
O << Name;
|
|
||||||
else {
|
|
||||||
HiddenGVStubs.insert(Name);
|
|
||||||
printSuffixedName(Name, "$non_lazy_ptr");
|
|
||||||
assert(MO.getTargetFlags() == 0);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
GVStubs.insert(Name);
|
FnStubs.insert(Name);
|
||||||
printSuffixedName(Name, "$non_lazy_ptr");
|
printSuffixedName(Name, "$stub");
|
||||||
assert(MO.getTargetFlags() == 0);
|
|
||||||
}
|
}
|
||||||
|
assert(MO.getTargetFlags() == 0);
|
||||||
} else {
|
} else {
|
||||||
O << Name;
|
O << Name;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue