aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
AgeCommit message (Collapse)Author
2009-09-20rename X86ATTAsmPrinter.cpp -> X86AsmPrinter.cpp likewise the .h file.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82394 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-20move target registry stuff to X86ATTAsmPrinter.cppChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82393 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-20rename X86ATTAsmPrinter class -> X86AsmPrinterChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82391 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-20delete X86IntelAsmPrinter! Now -x86-asm-syntax just switchesChris Lattner
the instruction syntax, not the entire asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82387 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-20split random COFF asmprinter state out to X86COFFMachineModuleInfo.h.Chris Lattner
Make dllexport directives come out in determinstic order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82381 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18Make a new X8632_MachoTargetObjectFile TLOF implementation whose Chris Lattner
getSymbolForDwarfGlobalReference is smart enough to know that it needs to register the stub it references with MachineModuleInfoMachO, so that it gets emitted at the end of the file. Move stub emission from X86ATTAsmPrinter::doFinalization to the new X86ATTAsmPrinter::EmitEndOfAsmFile asmprinter hook. The important thing here is that EmitEndOfAsmFile is called *after* the ehframes are emitted, so we get all the stubs. This allows us to remove a gross hack from the asmprinter where it would "just know" that it needed to output stubs for personality functions. Now this is all driven from a consistent interface. The testcase change is just reordering the expected output now that the stubs come out after the ehframe instead of before. This also unblocks other changes that Bill wants to make. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82269 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinterChris Lattner
and use MachineModuleInfoMachO instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82022 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16tidy upChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16rearrange X86ATTAsmPrinter::doFinalization, making a scan of Chris Lattner
the global variable list only happen for COFF targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82010 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-14Give MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinterChris Lattner
be a MCInstPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81746 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13remove all but one reference to TargetRegisterDesc::AsmName.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81714 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13switch the x86 asmprinters to use getRegisterName instead Chris Lattner
of getting it from TRI, inst printing now is codegen context free! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81710 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13split MCInst printing out of the X86ATTInstPrinterChris Lattner
class into its own X86ATTInstPrinter class. The inst printer now has just one dependence on the code generator (TRI). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81703 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13make X86ATTAsmPrinter::PrintPICBaseSymbol forward to X86MCInstLower.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13replace printBasicBlockLabel with EmitBasicBlockStart,Chris Lattner
now that printBasicBlockLabel is only used for starting a MBB. This allows elimination of a bunch of arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81684 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13convert some uses of printBasicBlockLabel to use GetMBBSymbolChris Lattner
instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81677 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-12remove the "old" at&t style asmprinter. Unfortunately, most of theChris Lattner
operand printing crapola cannot be removed yet because it is used by the inline asm print stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81626 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-12fix an embarassing typo that resulted in llvm-gcc bootstrap miscompareChris Lattner
because the sorting wasn't sorting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81592 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11fix pastoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81544 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11fix some fixmes: emit stubs in sorted order.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81541 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11turn on -experimental-asm-printer for x86 / AT&T by default.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81532 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11switch HiddenGVStubs to be a DenseMap instead of a string map, mirroring ↵Chris Lattner
FnStubs and GVStubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81514 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11Fix a bug I introduced in FnStubs generation, switch GVStubs to be a Chris Lattner
densemap instead of StringMap to match FnStubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81513 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11change FnStubs from being a StringMap<std::string> to being a muchChris Lattner
more efficient SmallPtrSet<MCSymbol*>. This eliminates string craziness and fixes CodeGen/X86/darwin-quote.ll with the new asmprinter. Codegen is producing stubs in a nondeterminstic order, but it was doing this before anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81511 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-11rearrange some code, export a SmallString version of DecorateCygMingName.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81502 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner
the MCInst path of the asmprinter. Instead, pull comment printing out of the autogenerated asmprinter into each target that uses the autogenerated asmprinter. This causes code duplication into each target, but in a way that will be easier to clean up later when more asmprinter stuff is commonized into the base AsmPrinter class. This also fixes an xcore strangeness where it inserted two tabs before every instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09hoist the call to processDebugLoc out of the generatedChris Lattner
asm printer into the "printInstruction" routine. This fixes a problem where the experimental asmprinter would drop debug labels in some cases, and fixes issues on ppc/xcore where pseudo instructions like "mr" didn't get debug locs properly. It is annoying that this moves the call from one place into each target, but a future set of more invasive refactorings will fix that problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81377 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09disable the new asmprinter by default. Both the Mangler and MCSymbolChris Lattner
printing stuff are quoting symbols now, breaking objc testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81319 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09turn the mcinst asmprinter on by default for x86, tweaking two tests toChris Lattner
expect the slight syntax differences in the generated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81305 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-08change selectiondag to add the sign extended versions of immediate operandsChris Lattner
to instructions instead of zero extended ones. This makes the asmprinter print signed values more consistently. This apparently only really affects the X86 backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81265 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-03Reference to hidden symbols do not have to go through non-lazy pointer in ↵Evan Cheng
non-pic mode. rdar://7187172. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80904 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-02split mcinst lowering stuff out to its own file.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80806 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-02Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80773 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31X86/exp-asm-printer: Lower MachineOperand::MO_JumpTableIndex to MCOperand.Daniel Dunbar
- Down to 7 failures on 403.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80605 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Stop printing old asm printing code inline with -experimental-asm-printer ↵Daniel Dunbar
(this allows diffing and assembling the .s) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80604 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31Avoid unnecessary +0 in experimental-asm-printer.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80603 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-31llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.Daniel Dunbar
Also, use MCInst::print instead of custom code in MCAsmPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25Fix PR 4751, another difficulty with %a modifier on x86.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79961 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22Record variable debug info at ISel time directly.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79742 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Add an extra line to conform with preferred style.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79495 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19Handle 'a' modifier in X86 asms. PR 4742.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79484 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner
talk to the MCStreamer directly instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79405 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18add support for some targetflags on GV operands. This allows us toChris Lattner
send instructions like: NEW: movl "L___stack_chk_guard$non_lazy_ptr" - "L1$pb"(%esi), %eax OLD: movl L___stack_chk_guard$non_lazy_ptr-"L1$pb"(%esi), %eax through the streamer. Several fixmes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79317 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-17the MinPad argument to PadToColumn only really makes sense to be 1,Chris Lattner
just remove the argument and replace it with 1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16add support for external symbols + X86::MOVPC32r.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79175 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16implement support for lowering references to global addresses. For example, ↵Chris Lattner
we now can asmprint: NEW: movl "L___stack_chk_guard$non_lazy_ptr", %eax OLD: movl L___stack_chk_guard$non_lazy_ptr, %eax where 'new' is coming out of the MCInst version of the printer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Various AsmWriter output cleanups. Use WriteAsOperand instead ofDan Gohman
PrintUnmangledNameSafely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78878 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-13Symbols with LinkerPrivateLinkage are weak.Dale Johannesen
This allows WebKit to build again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78872 91177308-0d34-0410-b5e6-96231b3b80d8