mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-13 01:15:32 +00:00
On Mac, print jump table entries after the function to work around a linker issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29946 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
181c359c9d
commit
67afeceaf0
@ -38,9 +38,6 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
|||||||
// Print out constants referenced by the function
|
// Print out constants referenced by the function
|
||||||
EmitConstantPool(MF.getConstantPool());
|
EmitConstantPool(MF.getConstantPool());
|
||||||
|
|
||||||
// Print out jump tables referenced by the function
|
|
||||||
EmitJumpTableInfo(MF.getJumpTableInfo());
|
|
||||||
|
|
||||||
// Print out labels for the function.
|
// Print out labels for the function.
|
||||||
const Function *F = MF.getFunction();
|
const Function *F = MF.getFunction();
|
||||||
switch (F->getLinkage()) {
|
switch (F->getLinkage()) {
|
||||||
@ -98,6 +95,12 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
|
|||||||
printMachineInstruction(II);
|
printMachineInstruction(II);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print out jump tables referenced by the function
|
||||||
|
// Mac OS X requires at least one non-local (e.g. L1) labels before local
|
||||||
|
// lables that are used in jump table expressions (e.g. LBB1_1-LJT1_0).
|
||||||
|
EmitJumpTableInfo(MF.getJumpTableInfo());
|
||||||
|
|
||||||
if (HasDotTypeDotSizeDirective)
|
if (HasDotTypeDotSizeDirective)
|
||||||
O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
|
O << "\t.size " << CurrentFnName << ", .-" << CurrentFnName << "\n";
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user