diff options
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp | 12 | ||||
-rw-r--r-- | lib/Target/X86/AsmPrinter/X86MCInstLower.h | 4 |
2 files changed, 7 insertions, 9 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp index 8eac2df29b..13304c0abf 100644 --- a/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp +++ b/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp @@ -15,6 +15,7 @@ #define DEBUG_TYPE "asm-printer" #include "X86ATTAsmPrinter.h" +#include "X86MCInstLower.h" #include "X86.h" #include "X86COFF.h" #include "X86MachineFunctionInfo.h" @@ -46,14 +47,9 @@ STATISTIC(EmittedInsts, "Number of machine instrs printed"); //===----------------------------------------------------------------------===// void X86ATTAsmPrinter::PrintPICBaseSymbol() const { - // FIXME: the actual label generated doesn't matter here! Just mangle in - // something unique (the function number) with Private prefix. - if (Subtarget->isTargetDarwin()) - O << "\"L" << getFunctionNumber() << "$pb\""; - else { - assert(Subtarget->isTargetELF() && "Don't know how to print PIC label!"); - O << ".Lllvm$" << getFunctionNumber() << ".$piclabel"; - } + // FIXME: Gross const cast hack. + X86ATTAsmPrinter *AP = const_cast<X86ATTAsmPrinter*>(this); + X86MCInstLower(OutContext, 0, *AP).GetPICBaseSymbol()->print(O, MAI); } static X86MachineFunctionInfo calculateFunctionInfo(const Function *F, diff --git a/lib/Target/X86/AsmPrinter/X86MCInstLower.h b/lib/Target/X86/AsmPrinter/X86MCInstLower.h index bf529fd44e..6bf557462e 100644 --- a/lib/Target/X86/AsmPrinter/X86MCInstLower.h +++ b/lib/Target/X86/AsmPrinter/X86MCInstLower.h @@ -10,6 +10,8 @@ #ifndef X86_MCINSTLOWER_H #define X86_MCINSTLOWER_H +#include "llvm/Support/Compiler.h" + namespace llvm { class MCContext; class MCInst; @@ -22,7 +24,7 @@ namespace llvm { class X86Subtarget; /// X86MCInstLower - This class is used to lower an MachineInstr into an MCInst. -class X86MCInstLower { +class VISIBILITY_HIDDEN X86MCInstLower { MCContext &Ctx; Mangler *Mang; X86ATTAsmPrinter &AsmPrinter; |