summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* move all the target's asmprinters into the main target. The piece Chris Lattner2010-11-141-166/+0
| | | | | | | that should be split out is the InstPrinter (if a target is mc'ized). This change makes all the targets be consistent. llvm-svn: 119056
* remove JIT support from the Alpha backend. The JIT will be moving to MC, Chris Lattner2010-11-141-1/+1
| | | | | | and the Alpha backend isn't MCized yet. Approved by Andrew. llvm-svn: 119051
* remove some dead code.Chris Lattner2010-08-181-2/+0
| | | | llvm-svn: 111345
* Use MachineOperand::is* predicates.Devang Patel2010-04-271-1/+1
| | | | llvm-svn: 102472
* prune some #includes.Chris Lattner2010-04-051-1/+0
| | | | llvm-svn: 100399
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-041-5/+3
| | | | | | | | | | "asm printering" happens through MCStreamer. This also Streamerizes PIC16 debug info, which escaped my attention. This removes a leak from LLVMTargetMachine of the 'legacy' output stream. llvm-svn: 100327
* mcize a bunch more stuff, using EmitRawText for things weChris Lattner2010-04-041-7/+4
| | | | | | don't have mcstreamer support for yet. llvm-svn: 100319
* convert the non-MCInstPrinter'ized EmitInstruction Chris Lattner2010-04-041-2/+5
| | | | | | | implementations to use EmitRawText instead of writing directly to "O". llvm-svn: 100318
* fix PrintAsmOperand and PrintAsmMemoryOperand to pass down Chris Lattner2010-04-041-8/+8
| | | | | | raw_ostream to print to. llvm-svn: 100313
* change a ton of code to not implicitly use the "O" raw_ostreamChris Lattner2010-04-041-11/+12
| | | | | | member of AsmPrinter. Instead, pass it in explicitly. llvm-svn: 100306
* eliminate the now-unneeded context argument of MBB::getSymbol()Chris Lattner2010-03-131-1/+1
| | | | llvm-svn: 98451
* rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner2010-03-131-3/+2
| | | | | | | | | | | and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. llvm-svn: 98450
* inline GetGlobalValueSymbol into the rest its callers andChris Lattner2010-03-121-1/+2
| | | | | | remove it. llvm-svn: 98390
* print all the newlines at the end of instructions withChris Lattner2010-02-101-1/+1
| | | | | | OutStreamer.AddBlankLine instead of textually. llvm-svn: 95734
* rejigger the world so that EmitInstruction prints the \n atChris Lattner2010-02-031-1/+4
| | | | | | | | the end of the instruction instead of expecting the caller to do it. This currently causes the asm-verbose instruction comments to be on the next line. llvm-svn: 95178
* refactor code so that LLVMTargetMachine creates the asmstreamer and Chris Lattner2010-02-021-2/+3
| | | | | | | mccontext instead of having AsmPrinter do it. This allows other types of MCStreamer's to be passed in. llvm-svn: 95155
* convert the last 3 targets to use EmitFunctionBody() now thatChris Lattner2010-01-281-39/+10
| | | | | | | | | | | | it has before/end body hooks. lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp | 49 ++----------- lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp | 87 ++++++------------------ lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp | 56 +++------------ test/CodeGen/XCore/ashr.ll | 2 4 files changed, 48 insertions(+), 146 deletions(-) llvm-svn: 94741
* Remove the argument from EmitJumpTableInfo, because it doesn't need it.Chris Lattner2010-01-281-1/+1
| | | | | | | | Move the X86 implementation of function body emission up to AsmPrinter::EmitFunctionBody, which works by calling the virtual EmitInstruction method. llvm-svn: 94716
* Switch MSP430, CellSPU, SystemZ, Darwin/PPC, Alpha, and Sparc to Chris Lattner2010-01-271-32/+5
| | | | | | | | EmitFunctionHeader: 7 files changed, 16 insertions(+), 210 deletions(-) llvm-svn: 94630
* add a new MachineBasicBlock::getSymbol method, replacingChris Lattner2010-01-261-1/+1
| | | | | | the AsmPrinter::GetMBBSymbol. llvm-svn: 94515
* don't bother setting the AsmPrinter::MF ivar, now thatChris Lattner2010-01-261-2/+0
| | | | | | | AsmPrinter::SetupMachineFunction sets it. Note that systemz and msp430 didn't. Yay for reduced inconsistency! :) llvm-svn: 94510
* eliminate redundant argument to EmitJumpTableInfoChris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94464
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-191-57/+0
| | | | | | | | | | | | | | | | | | | | | | | doing global variable classification anymore) and hookized, sink almost all target targets global variable emission code into AsmPrinter and out of each target. Some notes: 1. PIC16 does completely custom and crazy stuff, so it is not changed. 2. XCore has some custom handling for extra directives. I'll look at it next. 3. This switches linux/ppc to use .globl instead of .global. If .globl is actually wrong, let me know and I'll fix it. 4. This makes linux/ppc get a lot of random cases right which were obviously wrong before, it is probably now a bit healthier. 5. Blackfin will probably start getting .comm and other things that it didn't before. If this is undesirable, it should explicitly opt out of these things by clearing the relevant fields of MCAsmInfo. This leads to a nice diffstat: 14 files changed, 127 insertions(+), 830 deletions(-) llvm-svn: 93858
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-171-32/+14
| | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. llvm-svn: 93695
* MCize a bunch more stuff, eliminating a lot of uses of the manglerChris Lattner2010-01-161-8/+17
| | | | | | and CurrentFnName. llvm-svn: 93594
* supplement CurrentFnName with CurrentFnSym, which will eventuallyChris Lattner2010-01-151-25/+33
| | | | | | | replace it. Upgrade Alpha, Blackfin, and part of CellSPU to not use mangler anymore. CellSPU needs more invasive surgery. llvm-svn: 93589
* Move DebugInfo checks into EmitComments and remove them fromDavid Greene2009-11-131-1/+1
| | | | | | | | target-specific AsmPrinters. Not all comments need DebugInfo. Re-enable the line numbers comment test. llvm-svn: 88697
* Remove includes of Support/Compiler.h that are no longer needed after theNick Lewycky2009-10-251-1/+0
| | | | | | VISIBILITY_HIDDEN removal. llvm-svn: 85043
* Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces.Nick Lewycky2009-10-251-1/+1
| | | | | | | Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
* Instead of printing unnecessary basic block labels as labels inDan Gohman2009-10-061-1/+0
| | | | | | | | | | verbose-asm mode, print comments instead. This eliminates a non-comment difference between verbose-asm mode and non-verbose-asm mode. Also, factor out the relevant code out of all the targets and into target-independent code. llvm-svn: 83392
* Update processDebugLoc() so that it can be used to process debug info before ↵Devang Patel2009-10-061-2/+2
| | | | | | and after printing an instruction. llvm-svn: 83363
* Use MachineInstr as an processDebugLoc() argument.Devang Patel2009-09-301-1/+1
| | | | | | This will allow processDebugLoc() to handle scopes for DWARF debug info. llvm-svn: 83183
* Add a new virtual EmitStartOfAsmFile method to the AsmPrinter and use thisBob Wilson2009-09-301-5/+3
| | | | | | | | | | | | | | | | to emit target-specific things at the beginning of the asm output. This fixes a problem for PPC, where the text sections are not being kept together as expected. The base class doInitialization code calls DW->BeginModule() which emits a bunch of DWARF section directives. The PPC doInitialization code then emits all the TEXT section directives, with the intention that they will be kept together. But as I understand it, the Darwin assembler treats the default TEXT section as a special case and moves it to the beginning of the file, which means that all those DWARF sections are in the middle of the text. With this change, the EmitStartOfAsmFile hook is called before the DWARF section directives are emitted, so that all the PPC text section directives come out right at the beginning of the file. llvm-svn: 83176
* remove all but one reference to TargetRegisterDesc::AsmName.Chris Lattner2009-09-131-4/+2
| | | | llvm-svn: 81714
* the tblgen produced 'getRegisterName' method does not accessChris Lattner2009-09-131-1/+1
| | | | | | the object, make it static instead of const. llvm-svn: 81711
* make tblgen produce a function that returns the name for a physreg.Chris Lattner2009-09-131-0/+2
| | | | | | Nothing is using this info yet. llvm-svn: 81707
* 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-1/+2
| | | | | | instead. llvm-svn: 81677
* remove DebugLoc from MCInst and eliminate "Comment printing" fromChris Lattner2009-09-091-0/+6
| | | | | | | | | | | | | 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
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-6/+6
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-2/+2
| | | | llvm-svn: 79763
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-2/+4
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* make printInstruction return void since its result is omitted. Make the Chris Lattner2009-08-081-1/+1
| | | | | | error condition get trapped with an assert. llvm-svn: 78449
* don't check the result of printInstruction anymore.Chris Lattner2009-08-081-3/+1
| | | | llvm-svn: 78444
* Remove dead code. MDNode and MDString are not Constant anymore.Devang Patel2009-08-051-3/+0
| | | | llvm-svn: 78207
* pass the mangler down into the various SectionForGlobal methods.Chris Lattner2009-07-291-2/+2
| | | | | | No functionality change. llvm-svn: 77432
* Rename MDNode.h header. It defines MDnode and other metadata classes.Devang Patel2009-07-281-1/+1
| | | | | | New name is Metadata.h. llvm-svn: 77370
* Rip all of the global variable lowering logic out of TargetAsmInfo. SinceChris Lattner2009-07-281-2/+3
| | | | | | | | | | | | | | | | | | | | it is highly specific to the object file that will be generated in the end, this introduces a new TargetLoweringObjectFile interface that is implemented for each of ELF/MachO/COFF/Alpha/PIC16 and XCore. Though still is still a brutal and ugly refactoring, this is a major step towards goodness. This patch also: 1. fixes a bunch of dangling pointer problems in the PIC16 backend. 2. disables the TargetLowering copy ctor which PIC16 was accidentally using. 3. gets us closer to xcore having its own crazy target section flags and pic16 not having to shadow sections with its own objects. 4. fixes wierdness where ELF targets would set CStringSection but not CStringSection_. Factor the code better. 5. fixes some bugs in string lowering on ELF targets. llvm-svn: 77294
* Add new helpers for registering targets.Daniel Dunbar2009-07-251-13/+1
| | | | | | - Less boilerplate == good. llvm-svn: 77052
* make AsmPrinter::doFinalization iterate over the global variablesChris Lattner2009-07-211-12/+3
| | | | | | | and call PrintGlobalVariable, allowing elimination and simplification of various targets. llvm-svn: 76604
OpenPOWER on IntegriCloud