summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* inline GetGlobalValueSymbol into the rest its callers andChris Lattner2010-03-121-3/+4
| | | | | | remove it. llvm-svn: 98390
* When outputing a non-lazy pointer for a stub, we may need to fill in the valueBill Wendling2010-03-111-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | for the NLP because the object it's pointing to may be internal to the file. This seems counter-intuitive, but bear with me. When we place the LSDA into the TEXT section, the type info pointers need to be indirect and pc-rel. We accomplish this by using NLPs. However, sometimes the types are local to the file. GCC gets around this by not using a NLP in this case, but a "regular" indirection like this: GCC_except_tbl: .long Lfoo-. __ZTIA: @ This is local ... Lfoo: .long __ZTIA LLVM prefers NLPs on Darwin. In fact, it's more optimal for load performance to use them. llvm-svn: 98218
* Added Thumb2 LDRD/STRD pre/post variants for disassembly only.Johnny Chen2010-03-111-0/+1
| | | | | | Plus fixed the encoding of t2LDRDpci such that P = 1 and W = 0 (offset mode). llvm-svn: 98217
* Add a bit along with the MCSymbols stored in the MachineModuleInfo maps thatBill Wendling2010-03-101-7/+9
| | | | | | | | indicates that an MCSymbol is external or not. (It's true if it's external.) This will be used to specify the correct information to add to non-lazy pointers. That will be explained further when this bit is used. llvm-svn: 98199
* Factored out the disassembly printing of CPS option, MSR mask, and Negative ZeroJohnny Chen2010-03-101-0/+3
| | | | | | | operands into their own PrintMethod, in order not to pollute the printOperand() impl with disassembly only Imm modifiers. llvm-svn: 98172
* set the temporary bit on MCSymbols correctly.Chris Lattner2010-03-101-3/+3
| | | | llvm-svn: 98124
* Print blank line and clear stubs vector.Bill Wendling2010-03-091-2/+13
| | | | llvm-svn: 98019
* MC-ize the stub printing in ARM.Bill Wendling2010-03-091-4/+17
| | | | llvm-svn: 98018
* AL is an optional mnemonic extension for always, except in IT instructions.Johnny Chen2010-03-021-0/+7
| | | | | | | Add printMandatoryPredicateOperand() PrintMethod for IT predicate printing. Ref: A8.3 Conditional execution llvm-svn: 97571
* Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov2010-02-151-1/+1
| | | | llvm-svn: 96288
* print all the newlines at the end of instructions withChris Lattner2010-02-101-3/+3
| | | | | | OutStreamer.AddBlankLine instead of textually. llvm-svn: 95734
* make MachineModuleInfoMachO hold non-const MCSymbol*'s insteadChris Lattner2010-02-031-1/+1
| | | | | | | of const ones. non-const ones aren't very useful, because you can't even, say, emit them. llvm-svn: 95205
* print instructions through the mcstreamer.Chris Lattner2010-02-031-13/+6
| | | | llvm-svn: 95181
* rejigger the world so that EmitInstruction prints the \n atChris Lattner2010-02-031-0/+1
| | | | | | | | 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
* sink handling of target-independent machine instrs (otherChris Lattner2010-02-031-14/+0
| | | | | | | | than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp file. This allows elimination of the NO_ASM_WRITER_BOILERPLATE hack among other things. llvm-svn: 95177
* 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
* Give AsmPrinter the most common expected implementation of Chris Lattner2010-01-281-6/+1
| | | | | | | | runOnMachineFunction, and switch PPC to use EmitFunctionBody. The two ppc asmprinters now don't heave to define runOnMachineFunction. llvm-svn: 94722
* switch ARM to EmitFunctionBody().Chris Lattner2010-01-281-45/+3
| | | | llvm-svn: 94719
* Remove the argument from EmitJumpTableInfo, because it doesn't need it.Chris Lattner2010-01-281-12/+10
| | | | | | | | Move the X86 implementation of function body emission up to AsmPrinter::EmitFunctionBody, which works by calling the virtual EmitInstruction method. llvm-svn: 94716
* Drop the argument to AsmPrinter::EmitConstantPool and make it virtual.Chris Lattner2010-01-281-0/+2
| | | | | | | Overload it in the ARM backend to do nothing, since is does insane constant pool emission. llvm-svn: 94708
* switch ARM to use EmitFunctionHeader.Chris Lattner2010-01-271-44/+15
| | | | llvm-svn: 94703
* eliminate the ARMFunctionInfo::Align member, using Chris Lattner2010-01-271-4/+1
| | | | | | MachineFunction::Alignment instead. llvm-svn: 94701
* Eliminate SetDirective, and replace it with HasSetDirective.Chris Lattner2010-01-261-2/+2
| | | | | | | | | | | Default HasSetDirective to true, since most targets have it. The targets that claim to not have it probably do, or it is spelled differently. These include Blackfin, Mips, Alpha, and PIC16. All of these except pic16 are normal ELF targets, so they almost certainly have it. llvm-svn: 94585
* add a new MachineBasicBlock::getSymbol method, replacingChris Lattner2010-01-261-6/+6
| | | | | | the AsmPrinter::GetMBBSymbol. llvm-svn: 94515
* don't bother setting the AsmPrinter::MF ivar, now thatChris Lattner2010-01-261-4/+0
| | | | | | | AsmPrinter::SetupMachineFunction sets it. Note that systemz and msp430 didn't. Yay for reduced inconsistency! :) llvm-svn: 94510
* Minor jump table cleanup.Jim Grosbach2010-01-251-2/+2
| | | | llvm-svn: 94475
* fix quoting problem jim noticed!Chris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94472
* mcize jump table symbol manipulation.Chris Lattner2010-01-251-33/+38
| | | | llvm-svn: 94441
* sink an arm specific method out of asmprinter into the ARMAsmPrinter andChris Lattner2010-01-251-1/+17
| | | | | | rename it to avoid shadowing. llvm-svn: 94440
* use helpers.Chris Lattner2010-01-231-12/+5
| | | | llvm-svn: 94296
* move the various directive enums out of the MCStreamer classChris Lattner2010-01-231-1/+1
| | | | | | into a new MCDirectives.h file. llvm-svn: 94294
* inline and radically simplify printDataDirective. It will eventuallyChris Lattner2010-01-201-1/+6
| | | | | | go completely away. llvm-svn: 93994
* zap the ARM version of PrintGlobalVariable, which I missed.Chris Lattner2010-01-191-113/+0
| | | | llvm-svn: 93863
* some cleanupsChris Lattner2010-01-191-4/+2
| | | | llvm-svn: 93853
* add a bool for whether .lcomm takes an alignment instead of basing this on ↵Chris Lattner2010-01-191-7/+5
| | | | | | "isdarwin". llvm-svn: 93852
* hoist handling of external globals and special globals up to common code.Chris Lattner2010-01-191-23/+16
| | | | | | | | | | This makes a similar code dead in all the other targets, I'll clean it up in a bit. This also moves handling of lcomm up before acquisition of a section, since lcomm never needs a section. llvm-svn: 93851
* move production of .reference directives for static ctor/dtor list onChris Lattner2010-01-191-10/+1
| | | | | | darwin into common code. llvm-svn: 93849
* use BSSLocal classifier to identify 'lcomm' data instead ofChris Lattner2010-01-191-17/+9
| | | | | | duplicating the logic (differently) in lots of different targets. llvm-svn: 93847
* now that elf weak bss symbols are handled correctly, simplify a bunch of code.Chris Lattner2010-01-191-29/+4
| | | | llvm-svn: 93845
* introduce a section kind for common linkage. Use this to slightlyChris Lattner2010-01-191-2/+21
| | | | | | | | | simplify and commonize some of the asmprinter logic for globals. This also avoids printing the MCSection for .zerofill, which broke the llvm-gcc build. llvm-svn: 93843
* change an accessor to a predicate.Chris Lattner2010-01-191-2/+2
| | | | llvm-svn: 93839
* Cleanup handling of .zerofill on darwin:Chris Lattner2010-01-191-52/+57
| | | | | | | | | | | | | 1. TargetLoweringObjectFileMachO should decide if something goes in zerofill instead of having every target do it. 2. TargetLoweringObjectFileMachO should assign said symbols to the right MCSection, the asmprinters should just emit to the right section. 3. Since all zerofill stuff goes through mcstreamer anymore, MAI can have a bool "haszerofill" instead of having the textual directive to emit. llvm-svn: 93838
* Minor cleanup for jump table printing. Need a reference, not a pointer, forJim Grosbach2010-01-181-1/+1
| | | | | | printing via <<. Otherwise we just print the pointer value. llvm-svn: 93777
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-171-104/+48
| | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. llvm-svn: 93695
* rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,Chris Lattner2010-01-161-1/+1
| | | | | | | | and add an explicit ForcePrivate argument. Switch FunctionEHFrameInfo to be MCSymbol based instead of string based. llvm-svn: 93646
* MCize a bunch more stuff, eliminating a lot of uses of the manglerChris Lattner2010-01-161-10/+26
| | | | | | and CurrentFnName. llvm-svn: 93594
* add a version of AsmPrinter::printVisibility that takes an MCSymbol.Chris Lattner2010-01-151-4/+1
| | | | llvm-svn: 93587
* use MCSymbol instead of getMangledName() in all cases except one.Chris Lattner2010-01-151-29/+62
| | | | llvm-svn: 93582
* mc'ize a bunch of symbol stuff, eliminating std::strings.Chris Lattner2010-01-151-12/+9
| | | | llvm-svn: 93578
* add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbolChris Lattner2010-01-151-4/+2
| | | | | | helper method, use it to simplify some code. llvm-svn: 93575
OpenPOWER on IntegriCloud