summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* handle the _set_ symbol with an MCSymbol.Chris Lattner2010-01-251-2/+1
| | | | llvm-svn: 94449
* pull the non-pic jump table case out of printPICJumpTableEntryChris Lattner2010-01-251-1/+2
| | | | | | | and MCize the non-pic case. Now printPICJumpTableEntry really is just about printing PIC entries. llvm-svn: 94446
* remove JumpTableDirective, it is always null.Chris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94445
* mcstreamerize .file and .file. This also fixes an issue where theChris Lattner2010-01-251-1/+4
| | | | | | | normal form of .file would fail if the filename had a weird character in it. llvm-svn: 94437
* emit ELF .type directives through MCStreamer instead of doing it textually.Chris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94436
* move the various directive enums out of the MCStreamer classChris Lattner2010-01-231-4/+4
| | | | | | into a new MCDirectives.h file. llvm-svn: 94294
* use some helpers instead of duplicating logic.Chris Lattner2010-01-231-6/+3
| | | | llvm-svn: 94285
* Now that we have everything nicely factored (e.g. asmprinter is notChris Lattner2010-01-191-125/+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
* hookize the cygwin ".linkonce" directive.Chris Lattner2010-01-191-6/+11
| | | | llvm-svn: 93855
* more cleanups. Emit the .local directive even on cygwin/mingw.Chris Lattner2010-01-191-6/+3
| | | | | | | | I'm not sure that this is correct, but it causes no test failures, and just emitting a .comm without protecting its linkage somehow is surely not right. llvm-svn: 93854
* some cleanupsChris Lattner2010-01-191-16/+19
| | | | llvm-svn: 93853
* add a bool for whether .lcomm takes an alignment instead of basing this on ↵Chris Lattner2010-01-191-3/+4
| | | | | | "isdarwin". llvm-svn: 93852
* hoist handling of external globals and special globals up to common code.Chris Lattner2010-01-191-21/+14
| | | | | | | | | | 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-9/+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-23/+3
| | | | llvm-svn: 93845
* fix a significant difference between llvm and gcc on ELF systems:Chris Lattner2010-01-191-1/+1
| | | | | | | | GCC would put weak zero initialized mutable data in the .bss section, we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits' section. Fixing this will allow simplifications next up. llvm-svn: 93844
* 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-66/+61
| | | | | | | | | | | | | 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
* switch x86 zerofill emission over to use MCStreamer.Chris Lattner2010-01-181-3/+12
| | | | llvm-svn: 93702
* Change CurrentFnSym to be a non-const pointer since asmprinter mutates it Chris Lattner2010-01-181-14/+14
| | | | | | | as it emits code. Switch .globl directives to use OutStreamer instead of doing it textually (in x86) llvm-svn: 93700
* unbreak x86 jump tables with my previous patch.Chris Lattner2010-01-181-1/+1
| | | | llvm-svn: 93698
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-171-127/+55
| | | | | | | 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-5/+5
| | | | | | | | 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-1/+0
| | | | llvm-svn: 93615
* eliminate uses of deprecated mangler apisChris Lattner2010-01-161-54/+71
| | | | llvm-svn: 93605
* switch X86 target off CurFunctionName and MCIze more.Chris Lattner2010-01-161-27/+33
| | | | | | | | | Note that the code wasn't calling DecorateCygMingName when emitting the ".ascii -export" stuff at the end of file for DLLExported functions. I don't know if it should or not, but I'm preserving behavior. llvm-svn: 93603
* MCize tis, and make it keep CurrentFnSym up to date with CurrentFnName.Chris Lattner2010-01-161-17/+39
| | | | llvm-svn: 93598
* revert the x86 part of my last patch, cygwin is mutating CurrentFnName!Chris Lattner2010-01-161-38/+17
| | | | llvm-svn: 93595
* MCize a bunch more stuff, eliminating a lot of uses of the manglerChris Lattner2010-01-161-17/+38
| | | | | | and CurrentFnName. llvm-svn: 93594
* eliminate some uses of Mangler::makeNameProper.Chris Lattner2010-01-131-7/+15
| | | | llvm-svn: 93305
* change Mangler::makeNameProper to return its result in a SmallVectorChris Lattner2010-01-131-29/+27
| | | | | | | | | | | | 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
* 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
* add a twine version of MCContext::GetOrCreateSymbol.Chris Lattner2009-10-191-2/+2
| | | | llvm-svn: 84561
* remove accidental comment.Chris Lattner2009-10-191-2/+0
| | | | llvm-svn: 84510
* emit .subsections_via_symbols through MCStreamer instead of textually.Chris Lattner2009-10-191-1/+3
| | | | llvm-svn: 84509
* Dllexport stuff cleanup:Anton Korobeynikov2009-10-151-34/+40
| | | | | | | | 1. Emit external function type information for all COFF targets since it's a feature of object format 2. Emit linker directives only for cygming (since this is ld-specific stuff) llvm-svn: 84214
* Instead of printing unnecessary basic block labels as labels inDan Gohman2009-10-061-7/+1
| | | | | | | | | | 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-1/+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
* rename X86ATTAsmPrinter.cpp -> X86AsmPrinter.cpp likewise the .h file.Chris Lattner2009-09-201-5/+936
| | | | llvm-svn: 82394
* move target registry stuff to X86ATTAsmPrinter.cppChris Lattner2009-09-201-27/+0
| | | | llvm-svn: 82393
* simplify this now that createX86CodePrinterPass is trivialChris Lattner2009-09-201-14/+2
| | | | llvm-svn: 82392
* rename X86ATTAsmPrinter class -> X86AsmPrinterChris Lattner2009-09-201-1/+1
| | | | llvm-svn: 82391
* delete X86IntelAsmPrinter! Now -x86-asm-syntax just switchesChris Lattner2009-09-201-3/+0
| | | | | | the instruction syntax, not the entire asmprinter. llvm-svn: 82387
* Add an intel syntax MCInstPrinter implementation. You can nowChris Lattner2009-09-201-2/+3
| | | | | | transcode from AT&T to intel syntax with "llvm-mc foo.s -output-asm-variant=1" llvm-svn: 82385
* 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
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-3/+3
| | | | llvm-svn: 79763
* TargetRegistry: Change AsmPrinter constructor to be typed as returning anDaniel Dunbar2009-08-131-4/+4
| | | | | | AsmPrinter instance (instead of just a FunctionPass) llvm-svn: 78962
OpenPOWER on IntegriCloud