summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* move gettemplabel and getdwlabel to AsmPrinter and renameChris Lattner2010-04-041-24/+31
| | | | | | them for consistency. llvm-svn: 100345
* move uleb/sleb printing into AsmPrinter from DwarfPrinter.Chris Lattner2010-04-041-14/+14
| | | | llvm-svn: 100344
* remove TargetMachine.h #include, also, TRI isn't used frequently Chris Lattner2010-04-041-0/+1
| | | | | | enough to warrant caching in AsmPrinter, so remove it. llvm-svn: 100336
* remove the raw_ostream from various dwarf printing things.Chris Lattner2010-04-041-3/+2
| | | | | | | The only thing left is LEB printing, which uses EmitRawText for now. llvm-svn: 100325
* reduce indentationChris Lattner2010-03-311-20/+21
| | | | llvm-svn: 99999
* use RAII for ExceptionTimer tooChris Lattner2010-03-291-17/+3
| | | | llvm-svn: 99833
* get MMI out of the label uniquing business, just go to MCContextChris Lattner2010-03-141-1/+0
| | | | | | to get unique assembler temporary labels. llvm-svn: 98489
* remove now-dead code, all labels use MCSymbols.Chris Lattner2010-03-141-10/+1
| | | | llvm-svn: 98484
* fix a bug I introduced in r98459, causing some NNT failures.Chris Lattner2010-03-141-1/+1
| | | | llvm-svn: 98470
* change the LabelSDNode to be EHLabelSDNode and make it holdChris Lattner2010-03-141-3/+9
| | | | | | | | an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4". llvm-svn: 98463
* change EH related stuff (other than EH_LABEL) to use MCSymbolChris Lattner2010-03-141-44/+33
| | | | | | | | | | | | | | | | instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress. Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :( One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert. llvm-svn: 98459
* simplify EmitFrameMoves to take BaseLabel in as a symbolChris Lattner2010-03-131-4/+2
| | | | | | | instead of as a stem+idx pair, simplify the "is a new location" check to use symbol comparison. llvm-svn: 98432
* factor some labels, simplify some code.Chris Lattner2010-03-131-3/+5
| | | | llvm-svn: 98429
* remove dead code.Chris Lattner2010-03-121-19/+0
| | | | llvm-svn: 98365
* move three lowering hooks from MAI to TLOF and make one of themChris Lattner2010-03-101-6/+6
| | | | | | | semantic instead of syntactic. This completes MCization of darwin/x86[-64]! llvm-svn: 98145
* mcize the rest of EH emission, only one more directive missingChris Lattner2010-03-101-12/+17
| | | | | | for darwin/x86 to be completely mcized. llvm-svn: 98130
* set the temporary bit on MCSymbols correctly.Chris Lattner2010-03-101-1/+1
| | | | llvm-svn: 98124
* add some fixme's for MCizing. EH still has a few things thatChris Lattner2010-03-101-1/+1
| | | | | | | | need to be MCized, but the last debug info thing are LEB and cygwin specific (which the MC api doesn't support yet) and one specific form of EmitReference which I'll tackle next. llvm-svn: 98116
* mcize uses of PrintRelDirective and eliminate it.Chris Lattner2010-03-101-6/+4
| | | | llvm-svn: 98107
* eliminate EOL, adding all comments with the OutStreamer.AddComment Chris Lattner2010-03-091-22/+31
| | | | | | | | | | | method. With this, comments should end up on the same lines as the .byte directives (for example) and we now get no output with: $ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose woot. llvm-svn: 98105
* now that the debug and eh emitters use a common .set counter,Chris Lattner2010-03-091-1/+1
| | | | | | we can eliminate "flavor". llvm-svn: 98011
* simplify EmitSectionOffset to always use .set if it isChris Lattner2010-03-081-1/+1
| | | | | | | | | available, the only thing this affects is that we produce .set in one case we didn't before, which shouldn't harm anything. Make EmitSectionOffset call EmitDifference instead of duplicating it. llvm-svn: 98005
* Remove a version of EmitDifference.Chris Lattner2010-03-081-7/+8
| | | | llvm-svn: 98002
* remove another form of EmitReference.Chris Lattner2010-03-081-2/+2
| | | | llvm-svn: 97998
* mc'ize EmitLabel.Chris Lattner2010-03-081-10/+9
| | | | llvm-svn: 97996
* elimiante the DWLabel class, using MCSymbol instead. Start Chris Lattner2010-03-081-5/+9
| | | | | | | switching some stuff over to passing around MCSymbol* instead of stem+ID. llvm-svn: 97993
* A much cleaner (and less code!) way of inserting the correct amount of paddingBill Wendling2010-02-261-50/+6
| | | | | | | | for alignment into the LSDA. If the TType base offset is emitted, then put the padding there. Otherwise, put it in the call site table length. There will be no conflict between the two sites when placing the padding in one place. llvm-svn: 97277
* Comment typo.Bill Wendling2010-02-261-1/+1
| | | | llvm-svn: 97269
* Fix comments.Bill Wendling2010-02-261-3/+3
| | | | llvm-svn: 97200
* Add another (and hopefully the last) exception case, where once we recalculateBill Wendling2010-02-261-3/+11
| | | | | | | the alignment requirement, if it no longer makes the TType base offset overflow into extra bytes, then we need to pad to those bytes ourselves. llvm-svn: 97196
* And should use the correct variable.Bill Wendling2010-02-261-1/+1
| | | | llvm-svn: 97193
* Got assertion check backwards.Bill Wendling2010-02-261-1/+1
| | | | llvm-svn: 97192
* Catch a corner case where adding the padding to the "TType base offset" fieldBill Wendling2010-02-251-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | will eliminate the need for padding in the "Call site table length". E.g., if we have this: GCC_except_table1: Lexception1: .byte 0xff ## @LPStart Encoding = omit .byte 0x9b ## @TType Encoding = indirect pcrel sdata4 .byte 0x7f ## @TType base offset .byte 0x03 ## Call site Encoding = udata4 .byte 0x89 ## Call site table length with padding of 1. We want to emit the padding like this: GCC_except_table1: Lexception1: .byte 0xff ## @LPStart Encoding = omit .byte 0x9b ## @TType Encoding = indirect pcrel sdata4 .byte 0xff ## @TType base offset .space 1,0 ## Padding .byte 0x03 ## Call site Encoding = udata4 .byte 0x89 ## Call site table length and not with padding on the "Call site table length" entry. llvm-svn: 97183
* Make comment more meaningful.Bill Wendling2010-02-251-1/+2
| | | | llvm-svn: 97169
* LLVM puts padding bytes in the __gcc_except_tab section after theBill Wendling2010-02-241-35/+37
| | | | | | | | | | 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
* Use ttype encoding consistentlyAnton Korobeynikov2010-02-151-1/+1
| | | | llvm-svn: 96290
* It turns out that we emitted completely wrong common EH frame since the ↵Anton Korobeynikov2010-02-151-7/+9
| | | | | | early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong. llvm-svn: 96287
* Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov2010-02-151-84/+36
| | | | | | 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
* Use .empty() instead of .size().Bill Wendling2010-02-111-2/+2
| | | | llvm-svn: 95871
* Use an index instead of pointers into the vector. If the vector resizes, thenBill Wendling2010-02-101-11/+12
| | | | | | the pointer values could be invalid. llvm-svn: 95813
* Improve comments a even more.Bill Wendling2010-02-101-3/+3
| | | | llvm-svn: 95740
* Improve comments a bit more.Bill Wendling2010-02-101-4/+4
| | | | llvm-svn: 95737
* Improve comments in the LSDA somewhat. They can be improved much more.Bill Wendling2010-02-091-10/+17
| | | | llvm-svn: 95707
* Update of 94055 to track the IR level call site information via an intrinsic.Jim Grosbach2010-01-281-1/+10
| | | | | | | This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correct invoke locations. llvm-svn: 94726
* constify a bunch of dwarf stuff now that the registerinfo methodChris Lattner2010-01-261-1/+1
| | | | | | is constified. llvm-svn: 94613
* mcize visibility directives.Chris Lattner2010-01-231-2/+3
| | | | llvm-svn: 94295
* move the various directive enums out of the MCStreamer classChris Lattner2010-01-231-2/+2
| | | | | | into a new MCDirectives.h file. llvm-svn: 94294
* mcstreamerize .no_dead_strip and .reference for static ctors/dtors.Chris Lattner2010-01-231-5/+7
| | | | llvm-svn: 94290
* remove one form of EmitString, just use EmitBytes instead. We mustChris Lattner2010-01-231-2/+2
| | | | | | | be careful to add a \0 at the end though, because EmitString didn't do this. llvm-svn: 94277
* move "EOL" from asmprinter to dwarfprinter. It should eventuallyChris Lattner2010-01-221-17/+16
| | | | | | be completely eliminated, but today is not that day. llvm-svn: 94253
OpenPOWER on IntegriCloud