summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/AsmPrinter
Commit message (Collapse)AuthorAgeFilesLines
...
* 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-262-7/+7
| | | | | | 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
* Implemented ARMInstPrinter::printThumbS4ImmOperand().Johnny Chen2010-01-251-2/+1
| | | | llvm-svn: 94457
* 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
* make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.Chris Lattner2010-01-241-1/+0
| | | | llvm-svn: 94378
* 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
* 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
* 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
* remove the MAI argument to MCExpr::print and switch overthing to use << when ↵Chris Lattner2010-01-181-1/+1
| | | | | | printing them. llvm-svn: 93699
* 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
* eliminate uses of mangler and simplify code.Chris Lattner2010-01-161-12/+2
| | | | llvm-svn: 93615
* 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
* upgrade and MC'ize a few uses of makeNameProper.Chris Lattner2010-01-131-5/+5
| | | | llvm-svn: 93310
* change Mangler::makeNameProper to return its result in a SmallVectorChris Lattner2010-01-131-12/+13
| | | | | | | | | | | | instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. llvm-svn: 93298
* Add missing include (for inline PATypeHolder::get).Benjamin Kramer2009-12-281-0/+1
| | | | llvm-svn: 92222
* - Support inline asm 'w' constraint for 128-bit vector types.Evan Cheng2009-12-081-0/+1
| | | | | | - Also support the 'q' NEON registers asm code. llvm-svn: 90894
* Materialize global addresses via movt/movw pair, this is always betterAnton Korobeynikov2009-11-241-6/+15
| | | | | | | | | | | | | than doing the same via constpool: 1. Load from constpool costs 3 cycles on A9, movt/movw pair - just 2. 2. Load from constpool might stall up to 300 cycles due to cache miss. 3. Movt/movw does not use load/store unit. 4. Less constpool entries => better compiler performance. This is only enabled on ELF systems, since darwin does not have needed relocations (yet). llvm-svn: 89720
* move fconst[sd] to UAL. <rdar://7414913>Jim Grosbach2009-11-231-2/+2
| | | | llvm-svn: 89700
* More consistent thumb1 asm printing.Evan Cheng2009-11-193-1/+12
| | | | llvm-svn: 89328
* Eliminate more * 4 in Thumb1 asm printing for consistency sake.Evan Cheng2009-11-191-4/+4
| | | | llvm-svn: 89325
* Both Darwin as and GNU as violate ARM docs wrt printing of addrmode6Anton Korobeynikov2009-11-171-5/+2
| | | | | | alignment imm (in the same way). Fix asmprinting for non-darwin platforms. llvm-svn: 89137
* 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
* Change Thumb1 address mode printing, instead ofEvan Cheng2009-11-101-5/+2
| | | | | | | | | | [r0, #2 * 4] Now [r0, #8] This makes Thumb2 assembly more uniform and frankly the scale doesn't add much. llvm-svn: 86707
OpenPOWER on IntegriCloud