summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* MC'ize padding when padding the ULEB128 value.Bill Wendling2010-02-251-7/+5
| | | | llvm-svn: 97087
* LLVM puts padding bytes in the __gcc_except_tab section after theBill Wendling2010-02-241-5/+13
| | | | | | | | | | GCC_except_table label but before the Lexception, which the FDE references. This causes problems as the FDE does not point to the start of an LSDA chunk. Use an unnormalized uleb128 for the call-site table length that includes the padding. llvm-svn: 97078
* Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov2010-02-151-1/+58
| | | | | | Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there llvm-svn: 96285
* Don't print out a default newline when emitting the section offset. There areBill Wendling2010-02-111-2/+0
| | | | | | almost always comments afterwards that need printing. llvm-svn: 95839
* emit jump table an alias ".set" directives through MCStreamer as Chris Lattner2010-01-261-0/+2
| | | | | | | | | | | | assignments. .set x, a-b is the same as: x = a-b llvm-svn: 94596
* 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
* eliminate MCAsmInfo::NeedsSet: we now just use .set on any platformChris Lattner2010-01-261-5/+4
| | | | | | that has it. llvm-svn: 94581
* fix some issues where we weren't emitting enough newlines.Chris Lattner2010-01-241-0/+2
| | | | llvm-svn: 94370
* move "EOL" from asmprinter to dwarfprinter. It should eventuallyChris Lattner2010-01-221-0/+10
| | | | | | be completely eliminated, but today is not that day. llvm-svn: 94253
* add a new EmitCFAByte method and use it.Chris Lattner2010-01-221-14/+19
| | | | llvm-svn: 94251
* move uleb printing from asmprinter to dwarfprinter, mcize,Chris Lattner2010-01-221-26/+33
| | | | | | cleanup and eliminate a bunch more uses of "EOL". llvm-svn: 94250
* move sleb printing out of asmprinter into dwarf printer, make clientsChris Lattner2010-01-221-2/+31
| | | | | | handle the comment better, MCize the non-.sleb case. llvm-svn: 94244
* add a new DwarfPrinter::EmitEncodingByte method which handlesChris Lattner2010-01-221-0/+45
| | | | | | | | | | | | | | pretty printing encoding comments and eliminates redundancy on the client side. We now get pretty dwarf like this again: .byte 255 ## @LPStart Encoding = omit .byte 0 ## @TType Encoding = absptr .byte 0x28 ## @TType base offset .byte 3 ## Call site Encoding = udata4 .byte 0x1a ## Call site table size ... llvm-svn: 94239
* rename the dwarf class to DwarfPrinter. This matches the filenameChris Lattner2010-01-221-22/+24
| | | | | | and much more accurately describes what it is all about. llvm-svn: 94233
* inline away the trivial AsmPrinter::EOL() method.Chris Lattner2010-01-221-1/+1
| | | | llvm-svn: 94230
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-171-1/+1
| | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. llvm-svn: 93695
* Switch some functions to take Twines, eliminate uses of StringExtras.h.Benjamin Kramer2010-01-171-5/+1
| | | | llvm-svn: 93680
* Change DIEObjectLabel to take an MCSymbol instead of std::string.Chris Lattner2010-01-161-0/+8
| | | | llvm-svn: 93647
* Simply LSDA lable emission to use a direct special-case output instead ofJim Grosbach2009-09-011-12/+6
| | | | | | EmitLabel() llvm-svn: 80677
* Clean up LSDA name generation and use for SJLJ exception handling. ThisJim Grosbach2009-09-011-6/+12
| | | | | | | | | | | makes an eggregious hack somewhat more palatable. Bringing the LSDA forward and making it a GV available for reference would be even better, but is beyond the scope of what I'm looking to solve at this point. Objective C++ code could generate function names that broke the previous scheme. This fixes that. llvm-svn: 80649
* prune the #includes in raw_ostream.h by moving a Chris Lattner2009-08-241-3/+3
| | | | | | | member out of line. ftostr is not particularly speedy, so that method is presumably not perf sensitive. llvm-svn: 79885
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-13/+13
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-2/+2
| | | | llvm-svn: 79763
* Add missing includes.David Greene2009-08-191-0/+1
| | | | llvm-svn: 79475
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-141-2/+2
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-2/+3
| | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
* Fix typos.Bill Wendling2009-06-161-2/+2
| | | | llvm-svn: 73464
* Remove some unnecessary #includes.Dan Gohman2009-06-051-1/+0
| | | | llvm-svn: 72948
* Split out the Dwarf writer stuff into separate files. This is a much moreBill Wendling2009-05-151-0/+235
logical/sane approach to organizing all of the stuff that goes into writing out DWARF information. Honestly? even this is too complex for what it's supposed to be doing. Trivia: It *looks* like there would be functionality changes, however there aren't! llvm-svn: 71821
OpenPOWER on IntegriCloud