summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* rename X86ATTAsmPrinter.cpp -> X86AsmPrinter.cpp likewise the .h file.Chris Lattner2009-09-201-947/+0
| | | | llvm-svn: 82394
* move target registry stuff to X86ATTAsmPrinter.cppChris Lattner2009-09-201-0/+25
| | | | llvm-svn: 82393
* rename X86ATTAsmPrinter class -> X86AsmPrinterChris Lattner2009-09-201-29/+28
| | | | llvm-svn: 82391
* delete X86IntelAsmPrinter! Now -x86-asm-syntax just switchesChris Lattner2009-09-201-1/+5
| | | | | | the instruction syntax, not the entire asmprinter. llvm-svn: 82387
* split random COFF asmprinter state out to X86COFFMachineModuleInfo.h.Chris Lattner2009-09-201-116/+41
| | | | | | Make dllexport directives come out in determinstic order. llvm-svn: 82381
* Make a new X8632_MachoTargetObjectFile TLOF implementation whose Chris Lattner2009-09-181-24/+1
| | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 82269
* move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinterChris Lattner2009-09-161-34/+28
| | | | | | and use MachineModuleInfoMachO instead. llvm-svn: 82022
* tidy upChris Lattner2009-09-161-3/+3
| | | | llvm-svn: 82011
* rearrange X86ATTAsmPrinter::doFinalization, making a scan of Chris Lattner2009-09-161-32/+34
| | | | | | the global variable list only happen for COFF targets. llvm-svn: 82010
* Give MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinterChris Lattner2009-09-141-1/+1
| | | | | | be a MCInstPrinter. llvm-svn: 81746
* remove all but one reference to TargetRegisterDesc::AsmName.Chris Lattner2009-09-131-4/+2
| | | | llvm-svn: 81714
* switch the x86 asmprinters to use getRegisterName instead Chris Lattner2009-09-131-1/+1
| | | | | | | of getting it from TRI, inst printing now is codegen context free! llvm-svn: 81710
* split MCInst printing out of the X86ATTInstPrinterChris Lattner2009-09-131-0/+5
| | | | | | | | class into its own X86ATTInstPrinter class. The inst printer now has just one dependence on the code generator (TRI). llvm-svn: 81703
* make X86ATTAsmPrinter::PrintPICBaseSymbol forward to X86MCInstLower.Chris Lattner2009-09-131-8/+4
| | | | llvm-svn: 81685
* replace printBasicBlockLabel with EmitBasicBlockStart,Chris Lattner2009-09-131-1/+1
| | | | | | | now that printBasicBlockLabel is only used for starting a MBB. This allows elimination of a bunch of arguments. llvm-svn: 81684
* convert some uses of printBasicBlockLabel to use GetMBBSymbolChris Lattner2009-09-131-4/+6
| | | | | | instead. llvm-svn: 81677
* remove the "old" at&t style asmprinter. Unfortunately, most of theChris Lattner2009-09-121-13/+1
| | | | | | | operand printing crapola cannot be removed yet because it is used by the inline asm print stuff. llvm-svn: 81626
* fix an embarassing typo that resulted in llvm-gcc bootstrap miscompareChris Lattner2009-09-121-1/+1
| | | | | | because the sorting wasn't sorting. llvm-svn: 81592
* fix pastoChris Lattner2009-09-111-2/+2
| | | | llvm-svn: 81544
* fix some fixmes: emit stubs in sorted order.Chris Lattner2009-09-111-14/+34
| | | | llvm-svn: 81541
* turn on -experimental-asm-printer for x86 / AT&T by default.Chris Lattner2009-09-111-1/+1
| | | | llvm-svn: 81532
* switch HiddenGVStubs to be a DenseMap instead of a string map, mirroring ↵Chris Lattner2009-09-111-5/+17
| | | | | | FnStubs and GVStubs. llvm-svn: 81514
* Fix a bug I introduced in FnStubs generation, switch GVStubs to be a Chris Lattner2009-09-111-22/+54
| | | | | | densemap instead of StringMap to match FnStubs. llvm-svn: 81513
* change FnStubs from being a StringMap<std::string> to being a muchChris Lattner2009-09-111-8/+21
| | | | | | | | | | 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. llvm-svn: 81511
* rearrange some code, export a SmallString version of DecorateCygMingName.Chris Lattner2009-09-111-30/+28
| | | | llvm-svn: 81502
* remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner2009-09-091-0/+4
| | | | | | | | | | | | | 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. llvm-svn: 81396
* hoist the call to processDebugLoc out of the generatedChris Lattner2009-09-091-0/+2
| | | | | | | | | | | | | 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. llvm-svn: 81377
* disable the new asmprinter by default. Both the Mangler and MCSymbolChris Lattner2009-09-091-1/+1
| | | | | | printing stuff are quoting symbols now, breaking objc testcases. llvm-svn: 81319
* turn the mcinst asmprinter on by default for x86, tweaking two tests toChris Lattner2009-09-091-1/+1
| | | | | | expect the slight syntax differences in the generated code. llvm-svn: 81305
* change selectiondag to add the sign extended versions of immediate operandsChris Lattner2009-09-081-1/+1
| | | | | | | | to instructions instead of zero extended ones. This makes the asmprinter print signed values more consistently. This apparently only really affects the X86 backend. llvm-svn: 81265
* Reference to hidden symbols do not have to go through non-lazy pointer in ↵Evan Cheng2009-09-031-4/+1
| | | | | | non-pic mode. rdar://7187172. llvm-svn: 80904
* split mcinst lowering stuff out to its own file.Chris Lattner2009-09-021-260/+5
| | | | llvm-svn: 80806
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-021-2/+2
| | | | llvm-svn: 80773
* X86/exp-asm-printer: Lower MachineOperand::MO_JumpTableIndex to MCOperand.Daniel Dunbar2009-08-311-1/+34
| | | | | | - Down to 7 failures on 403.gcc. llvm-svn: 80605
* Stop printing old asm printing code inline with -experimental-asm-printer ↵Daniel Dunbar2009-08-311-9/+0
| | | | | | (this allows diffing and assembling the .s) llvm-svn: 80604
* Avoid unnecessary +0 in experimental-asm-printer.Daniel Dunbar2009-08-311-7/+10
| | | | llvm-svn: 80603
* llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.Daniel Dunbar2009-08-311-4/+23
| | | | | | Also, use MCInst::print instead of custom code in MCAsmPrinter. llvm-svn: 80575
* Fix PR 4751, another difficulty with %a modifier on x86.Dale Johannesen2009-08-251-0/+4
| | | | llvm-svn: 79961
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-33/+33
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-2/+2
| | | | llvm-svn: 79763
* Record variable debug info at ISel time directly.Devang Patel2009-08-221-3/+0
| | | | llvm-svn: 79742
* Add an extra line to conform with preferred style.Dale Johannesen2009-08-191-1/+2
| | | | llvm-svn: 79495
* Handle 'a' modifier in X86 asms. PR 4742.Dale Johannesen2009-08-191-0/+12
| | | | llvm-svn: 79484
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-7/+7
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* add support for some targetflags on GV operands. This allows us toChris Lattner2009-08-181-2/+44
| | | | | | | | | | | 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. llvm-svn: 79317
* the MinPad argument to PadToColumn only really makes sense to be 1,Chris Lattner2009-08-171-4/+4
| | | | | | just remove the argument and replace it with 1. llvm-svn: 79246
* add support for external symbols + X86::MOVPC32r.Chris Lattner2009-08-161-59/+120
| | | | llvm-svn: 79175
* implement support for lowering references to global addresses. For example, ↵Chris Lattner2009-08-161-5/+51
| | | | | | | | | | | | | 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. llvm-svn: 79170
* Various AsmWriter output cleanups. Use WriteAsOperand instead ofDan Gohman2009-08-131-17/+16
| | | | | | PrintUnmangledNameSafely. llvm-svn: 78878
* Symbols with LinkerPrivateLinkage are weak.Dale Johannesen2009-08-131-2/+2
| | | | | | This allows WebKit to build again. llvm-svn: 78872
OpenPOWER on IntegriCloud