summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
...
* delete X86IntelAsmPrinter! Now -x86-asm-syntax just switchesChris Lattner2009-09-205-815/+5
| | | | | | the instruction syntax, not the entire asmprinter. llvm-svn: 82387
* Add an intel syntax MCInstPrinter implementation. You can nowChris Lattner2009-09-205-8/+242
| | | | | | transcode from AT&T to intel syntax with "llvm-mc foo.s -output-asm-variant=1" llvm-svn: 82385
* split random COFF asmprinter state out to X86COFFMachineModuleInfo.h.Chris Lattner2009-09-203-137/+47
| | | | | | Make dllexport directives come out in determinstic order. llvm-svn: 82381
* Fix cmake build, which has a different -I thatShantonu Sen2009-09-181-1/+1
| | | | | | causes the "../foo" to not find the file llvm-svn: 82270
* Make a new X8632_MachoTargetObjectFile TLOF implementation whose Chris Lattner2009-09-182-26/+4
| | | | | | | | | | | | | | | | | | | | | | 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
* This file can need access to the X86 instruction enums when the table ↵Chris Lattner2009-09-181-0/+1
| | | | | | exceeds 32-bits. llvm-svn: 82235
* move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinterChris Lattner2009-09-164-43/+44
| | | | | | and use MachineModuleInfoMachO instead. llvm-svn: 82022
* revert a hunk of r82018 that wasn't supposed to go in yet.Chris Lattner2009-09-161-0/+5
| | | | llvm-svn: 82020
* add a new MachineModuleInfoMachO class, which is the per-moduleChris Lattner2009-09-161-5/+0
| | | | | | stuff common across all macho targets. llvm-svn: 82018
* 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
* remove the AsmPrinter::printMCInst hook hack now thatChris Lattner2009-09-161-2/+1
| | | | | | we have MCInstPrinter. llvm-svn: 82006
* Change MCAsmStreamer to take an MCInstPrinter instead of a Chris Lattner2009-09-141-0/+16
| | | | | | | | | | | full AsmPrinter, and change TargetRegistry to keep track of registered MCInstPrinters. llvm-mc is still linking in the entire target foo to get the code emitter stuff, but this is an important step in the right direction. llvm-svn: 81754
* Give MCInstPrinter a MCAsmInfo member, make X86ATTInstPrinterChris Lattner2009-09-143-11/+14
| | | | | | be a MCInstPrinter. llvm-svn: 81746
* tidy up a bit.Chris Lattner2009-09-141-16/+8
| | | | llvm-svn: 81744
* remove all but one reference to TargetRegisterDesc::AsmName.Chris Lattner2009-09-132-5/+2
| | | | llvm-svn: 81714
* the tblgen produced 'getRegisterName' method does not accessChris Lattner2009-09-132-3/+2
| | | | | | the object, make it static instead of const. llvm-svn: 81711
* switch the x86 asmprinters to use getRegisterName instead Chris Lattner2009-09-135-18/+11
| | | | | | | of getting it from TRI, inst printing now is codegen context free! llvm-svn: 81710
* make tblgen produce a function that returns the name for a physreg.Chris Lattner2009-09-132-1/+6
| | | | | | Nothing is using this info yet. llvm-svn: 81707
* make intel asmprinter use TRI::getAsmName instead of TRI::getName likeChris Lattner2009-09-132-15/+21
| | | | | | | all the other targets. Add support for weak/linkonce linkage so it doesn't crash on basically all nontrivial testcases. llvm-svn: 81704
* split MCInst printing out of the X86ATTInstPrinterChris Lattner2009-09-135-68/+107
| | | | | | | | class into its own X86ATTInstPrinter class. The inst printer now has just one dependence on the code generator (TRI). llvm-svn: 81703
* reduce indentation with early exit.Chris Lattner2009-09-131-45/+45
| | | | llvm-svn: 81699
* delete the fixme too! :)Chris Lattner2009-09-131-2/+0
| | | | llvm-svn: 81689
* merge the linux cpool/jtbl pic tests into pic.ll and convert to filecheck.Chris Lattner2009-09-131-8/+2
| | | | | | | Change the picbase symbol on non-darwin systems from ".Lllvm$4.$piclabel" to ".L4$pb". The actual name doesn't matter and the darwin name is shorter. llvm-svn: 81688
* make X86ATTAsmPrinter::PrintPICBaseSymbol forward to X86MCInstLower.Chris Lattner2009-09-132-9/+7
| | | | llvm-svn: 81685
* replace printBasicBlockLabel with EmitBasicBlockStart,Chris Lattner2009-09-132-2/+2
| | | | | | | 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-132-7/+10
| | | | | | instead. llvm-svn: 81677
* devirtualize AsmPrinter::printBasicBlockLabel since it is never overridden.Chris Lattner2009-09-122-11/+1
| | | | | | | | Move GetMBBSymbol up to AsmPrinter and make printBasicBlockLabel use it so that we only have one place that decides what to name bb labels. Hopefully various clients of printBasicBlockLabel can start using GetMBBSymbol instead. llvm-svn: 81652
* factor MBB label lowering betterChris Lattner2009-09-122-6/+6
| | | | llvm-svn: 81630
* X86MCInstLower::Lower should only not emit anything to OutStreamer,Chris Lattner2009-09-122-27/+43
| | | | | | | | this means that it can only lower one MachineInstr to one MCInst. To make this fly, we need to pull out handling of MO_GOT_ABSOLUTE_ADDRESS (which generates an implicit label) out of X86MCInstLower. llvm-svn: 81629
* eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol forChris Lattner2009-09-123-8/+12
| | | | | | MBB labels like everything else. llvm-svn: 81628
* split MachineInstr -> MCInst lowering into its own class (notChris Lattner2009-09-123-134/+198
| | | | | | | being embedded into X86ATTAsmPrinter). This still depends heavily on X86ATTAsmPrinter, but this is a step in the right direction. llvm-svn: 81627
* remove the "old" at&t style asmprinter. Unfortunately, most of theChris Lattner2009-09-122-19/+1
| | | | | | | operand printing crapola cannot be removed yet because it is used by the inline asm print stuff. llvm-svn: 81626
* fix another GCC bootstrap problem, which manifested as thingsChris Lattner2009-09-121-1/+1
| | | | | | | like: foo.s:2412:non-relocatable subtraction expression, "_gomp_tls_key" minus "L1$pb" llvm-svn: 81596
* 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
* Update CMake files.Ted Kremenek2009-09-111-1/+1
| | | | llvm-svn: 81577
* 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-113-9/+28
| | | | | | FnStubs and GVStubs. llvm-svn: 81514
* Fix a bug I introduced in FnStubs generation, switch GVStubs to be a Chris Lattner2009-09-113-29/+79
| | | | | | densemap instead of StringMap to match FnStubs. llvm-svn: 81513
* change FnStubs from being a StringMap<std::string> to being a muchChris Lattner2009-09-113-17/+34
| | | | | | | | | | 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
* printInstruction() no longer prints a \n after itself, do itChris Lattner2009-09-111-0/+1
| | | | | | for the two instruction MOVPC32r sequence. llvm-svn: 81509
* reimplement X86ATTAsmPrinter::GetGlobalAddressSymbol in terms ofChris Lattner2009-09-111-15/+21
| | | | | | | | Mangler::getNameWithPrefix. In addition to avoiding some over quoting, this also is more efficient because it uses smallvector instead of std::string thrashing. llvm-svn: 81508
* convert X86ATTAsmPrinter::GetExternalSymbolSymbol to use SmallStringChris Lattner2009-09-111-7/+11
| | | | | | instead of std::string and Mangler. llvm-svn: 81503
* rearrange some code, export a SmallString version of DecorateCygMingName.Chris Lattner2009-09-113-52/+53
| | | | llvm-svn: 81502
* remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner2009-09-093-1/+8
| | | | | | | | | | | | | 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
* add a gross hack to get "SrcLine" comments to show up with theChris Lattner2009-09-091-0/+1
| | | | | | new asmprinter. Differently gross hack coming next. llvm-svn: 81379
* hoist the call to processDebugLoc out of the generatedChris Lattner2009-09-093-2/+4
| | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud