mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-21 11:10:12 +00:00
No need to print function stubs for Mac OS X 10.5 and up. Linker will handle it.
llvm-svn: 56378
This commit is contained in:
parent
7bcd8409b7
commit
6a86ec1ef0
@ -392,8 +392,13 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
if (GV->isDeclaration() || GV->isWeakForLinker()) {
|
||||
// Dynamically-resolved functions need a stub for the function.
|
||||
if (isCallOp && isa<Function>(GV)) {
|
||||
FnStubs.insert(Name);
|
||||
printSuffixedName(Name, "$stub");
|
||||
// Function stubs are no longer needed for Mac OS X 10.5 and up.
|
||||
if (Subtarget->isTargetDarwin() && Subtarget->getDarwinVers() >= 9) {
|
||||
O << Name;
|
||||
} else {
|
||||
FnStubs.insert(Name);
|
||||
printSuffixedName(Name, "$stub");
|
||||
}
|
||||
} else {
|
||||
GVStubs.insert(Name);
|
||||
printSuffixedName(Name, "$non_lazy_ptr");
|
||||
@ -475,7 +480,9 @@ void X86ATTAsmPrinter::printOperand(const MachineInstr *MI, unsigned OpNo,
|
||||
bool needCloseParen = false;
|
||||
std::string Name(TAI->getGlobalPrefix());
|
||||
Name += MO.getSymbolName();
|
||||
if (isCallOp && shouldPrintStub(TM, Subtarget)) {
|
||||
// Print function stub suffix unless it's Mac OS X 10.5 and up.
|
||||
if (isCallOp && shouldPrintStub(TM, Subtarget) &&
|
||||
!(Subtarget->isTargetDarwin() && Subtarget->getDarwinVers() >= 9)) {
|
||||
FnStubs.insert(Name);
|
||||
printSuffixedName(Name, "$stub");
|
||||
return;
|
||||
|
12
test/CodeGen/X86/darwin-stub.ll
Normal file
12
test/CodeGen/X86/darwin-stub.ll
Normal file
@ -0,0 +1,12 @@
|
||||
; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin | grep stub
|
||||
; RUN: llvm-as < %s | llc -mtriple=i386-apple-darwin9 | not grep stub
|
||||
|
||||
@"\01LC" = internal constant [13 x i8] c"Hello World!\00" ; <[13 x i8]*> [#uses=1]
|
||||
|
||||
define i32 @main() nounwind {
|
||||
entry:
|
||||
%0 = tail call i32 @puts(i8* getelementptr ([13 x i8]* @"\01LC", i32 0, i32 0)) nounwind ; <i32> [#uses=0]
|
||||
ret i32 0
|
||||
}
|
||||
|
||||
declare i32 @puts(i8*)
|
Loading…
Reference in New Issue
Block a user