summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mips/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
* move all the target's asmprinters into the main target. The piece Chris Lattner2010-11-143-412/+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
* Fix PR7174, a couple o Mips fixes:Bruno Cardoso Lopes2010-07-201-0/+20
| | | | | | | | | | | - Fix a typo for PIC check during jmp table lowering - Also fix the "first jump table basic block is not considered only reachable by fall through" problem, use this ad-hoc solution until I come up with something better. Patch by stetorvs@gmail.com llvm-svn: 108820
* Remove the TargetRegisterClass member from CalleeSavedInfoRafael Espindola2010-06-021-2/+3
| | | | llvm-svn: 105344
* Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe whatBill Wendling2010-05-141-1/+1
| | | | | | | | | the variable actually tracks. N.B., several back-ends are using "HasCalls" as being synonymous for something that adjusts the stack. This isn't 100% correct and should be looked into. llvm-svn: 103802
* fix some inconsistent line endings, patch by Jakub Staszak!Chris Lattner2010-05-011-7/+7
| | | | llvm-svn: 102852
* Use MachineOperand::is* predicates.Devang Patel2010-04-271-1/+1
| | | | llvm-svn: 102472
* add newlines at end of files.Chris Lattner2010-04-071-1/+1
| | | | llvm-svn: 100706
* Disambiguate else.Benjamin Kramer2010-04-051-1/+2
| | | | llvm-svn: 100423
* prune some #includes.Chris Lattner2010-04-051-2/+0
| | | | llvm-svn: 100399
* Momentous day: remove the "O" member from AsmPrinter. Now all Chris Lattner2010-04-041-11/+4
| | | | | | | | | | "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-27/+31
| | | | | | don't have mcstreamer support for yet. llvm-svn: 100319
* convert the non-MCInstPrinter'ized EmitInstruction Chris Lattner2010-04-041-4/+6
| | | | | | | implementations to use EmitRawText instead of writing directly to "O". llvm-svn: 100318
* fix PrintAsmOperand and PrintAsmMemoryOperand to pass down Chris Lattner2010-04-041-2/+4
| | | | | | raw_ostream to print to. llvm-svn: 100313
* change a ton of code to not implicitly use the "O" raw_ostreamChris Lattner2010-04-041-30/+32
| | | | | | 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
* Fix LLVM build when the user specifies CPPFLAGS on the make command line.Jeffrey Yasskin2010-03-121-1/+1
| | | | llvm-svn: 98394
* 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-63/+24
| | | | | | | | | | | | 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
* Switch MSP430, SPU, Sparc, and SystemZ to use EmitFunctionBody().Chris Lattner2010-01-281-16/+9
| | | | | | | Diffstat: 6 files changed, 30 insertions(+), 284 deletions(-) llvm-svn: 94727
* 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 mips to use the shared EmitFunctionHeader() functionChris Lattner2010-01-271-41/+19
| | | | llvm-svn: 94698
* 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
* make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.Chris Lattner2010-01-241-1/+0
| | | | llvm-svn: 94378
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-221-0/+1
| | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. llvm-svn: 94164
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-191-93/+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
* simplify the mips target to print .size and .type for c strings Chris Lattner2010-01-191-6/+2
| | | | | | | just like all other elf targets. Bruno, if this isn't right, please let me know + why :) llvm-svn: 93856
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-171-48/+19
| | | | | | | 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-24/+51
| | | | | | and CurrentFnName. llvm-svn: 93594
* - Add sugregister logic to handle f64=(f32,f32).Bruno Cardoso Lopes2009-11-191-0/+2
| | | | | | | | | | | | - Support mips1 like load/store of doubles: Instead of: sdc $f0, X($3) Generate: swc $f0, X($3) swc $f1, X+4($3) llvm-svn: 89322
* 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 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/+3
| | | | | | 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-4/+2
| | | | | | | | | | | | | | | | 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-9/+4
| | | | 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/+7
| | | | | | | | | | | | | 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
* Reapply 80278Bruno Cardoso Lopes2009-09-011-34/+17
| | | | | | | | Add MO flags to simplify the printing of relocations. Remove the support for printing large code model relocs (which aren't supported anyway). llvm-svn: 80691
* Revert 80278 for now, it caused a lot of MIPS tests to failBruno Cardoso Lopes2009-08-271-19/+34
| | | | llvm-svn: 80280
* Revamp our friend Mips :)Bruno Cardoso Lopes2009-08-271-34/+19
| | | | | | | | Add MO flags to simplify the printing of relocations. Remove the support for printing large code model relocs (which aren't supported anyway). llvm-svn: 80278
OpenPOWER on IntegriCloud