summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfException.h
Commit message (Collapse)AuthorAgeFilesLines
* Stub out support for Win64-style exceptions. Note that this is merely usingCharles Davis2011-05-271-0/+32
| | | | | | | the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports hardly anything else at this point! llvm-svn: 132234
* Produce a __debug_frame section on darwin ARM when appropriate.Rafael Espindola2011-05-101-20/+0
| | | | llvm-svn: 131151
* Use .cfi_sections to put the unwind info in .debug_frame when possible. WithRafael Espindola2011-05-101-0/+3
| | | | | | | | | this clang will use .debug_frame in, for example, clang -g -c -m32 test.c This matches gcc's behaviour. It looks like .debug_frame is a bit bigger than .eh_frame, but has the big advantage of not being allocated. llvm-svn: 131140
* Remove DwarfTableException.Rafael Espindola2011-05-051-67/+0
| | | | llvm-svn: 130964
* Implement a really simple DwarfSjLjException.Rafael Espindola2011-05-051-0/+19
| | | | llvm-svn: 130947
* Change DwarfCFIException's member variables to track what it actuallyRafael Espindola2011-04-291-6/+7
| | | | | | emmits: .cfi_personality, .cfi_lsda and the moves. llvm-svn: 130503
* Some first rudimentary support for ARM EHABI: print exception table in "text ↵Anton Korobeynikov2011-03-051-0/+32
| | | | | | mode". llvm-svn: 127099
* Add CFI directives-based frame information emission. Not hooked yet.Anton Korobeynikov2011-01-141-0/+31
| | | | llvm-svn: 123474
* Split stuff as a preparation for CFI directives-based frame information emissionAnton Korobeynikov2011-01-141-52/+72
| | | | llvm-svn: 123473
* Rename "HasCalls" in MachineFrameInfo to "AdjustsStack" to better describe whatBill Wendling2010-05-141-2/+2
| | | | | | | | | the variable actually tracks. N.B., several back-ends are using "HasCalls" as being synonymous for something that adjusts the stack. This isn't 100% correct and should be looked into. llvm-svn: 103802
* Use the "NamedGroupTimer" class to categorize DWARF emission better.Bill Wendling2010-04-071-4/+0
| | | | llvm-svn: 100616
* privatize more stuff, eliminate vtables.Chris Lattner2010-04-051-1/+1
| | | | llvm-svn: 100410
* reprivatize now that DwarfWriter is gone.Chris Lattner2010-04-051-2/+1
| | | | llvm-svn: 100409
* prune #includes, MMI can never be nullChris Lattner2010-04-051-3/+8
| | | | llvm-svn: 100408
* make DwarfException not inherit from DwarfPrinter.Chris Lattner2010-04-051-10/+8
| | | | llvm-svn: 100374
* remove the raw_ostream from various dwarf printing things.Chris Lattner2010-04-041-3/+3
| | | | | | | The only thing left is LEB printing, which uses EmitRawText for now. llvm-svn: 100325
* change EH related stuff (other than EH_LABEL) to use MCSymbolChris Lattner2010-03-141-11/+4
| | | | | | | | | | | | | | | | 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
* remove dead code.Chris Lattner2010-03-121-5/+0
| | | | llvm-svn: 98365
* Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov2010-02-151-3/+0
| | | | | | 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 an index instead of pointers into the vector. If the vector resizes, thenBill Wendling2010-02-101-1/+1
| | | | | | the pointer values could be invalid. llvm-svn: 95813
* Fix "the the" and similar typos.Dan Gohman2010-02-101-1/+1
| | | | llvm-svn: 95781
* constify a bunch of dwarf stuff now that the registerinfo methodChris Lattner2010-01-261-1/+1
| | | | | | is constified. llvm-svn: 94613
* mcstreamerize .no_dead_strip and .reference for static ctors/dtors.Chris Lattner2010-01-231-2/+2
| | | | llvm-svn: 94290
* rename the dwarf class to DwarfPrinter. This matches the filenameChris Lattner2010-01-221-1/+1
| | | | | | and much more accurately describes what it is all about. llvm-svn: 94233
* rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase,Chris Lattner2010-01-161-4/+4
| | | | | | | | and add an explicit ForcePrivate argument. Switch FunctionEHFrameInfo to be MCSymbol based instead of string based. llvm-svn: 93646
* Remove isPod() from DenseMapInfo, splitting it out to its ownChris Lattner2009-12-151-1/+0
| | | | | | | | isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91421
* Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507.Nick Lewycky2009-11-171-1/+1
| | | | llvm-svn: 89075
* Refactor the code that creates the "dot-label" difference. This may be used inBill Wendling2009-11-171-0/+6
| | | | | | more than one place. No intended functionality change. llvm-svn: 89024
* Refactor code that checks if it's a call to a "nounwind" function.Bill Wendling2009-11-121-0/+4
| | | | llvm-svn: 87036
* --- Reverse-merging r82282 into '.':Bill Wendling2009-09-201-6/+0
| | | | | | | | | | | | | U lib/CodeGen/AsmPrinter/DwarfException.cpp U lib/CodeGen/AsmPrinter/DwarfException.h --- Reverse-merging r82274 into '.': U lib/Target/TargetLoweringObjectFile.cpp G lib/CodeGen/AsmPrinter/DwarfException.cpp These revisions were breaking everything. llvm-svn: 82396
* Factor out label difference creation.Bill Wendling2009-09-181-0/+6
| | | | llvm-svn: 82282
* Add helpful comment.Bill Wendling2009-09-101-0/+1
| | | | llvm-svn: 81406
* Believe it or not, this is a simplification. :-)Bill Wendling2009-09-091-0/+7
| | | | | | | | | | | | | Basically, this patch is working towards removing the hard-coded values that are output for the CIE. In particular, the CIE augmentation and the CIE augmentation size. Both of these should be calculated. In the process, I was able to make a bunch of code simpler. The encodings for the personality, LSDA, and FDE in the CIE are still not correct. They should be generated either from target-specific callbacks (blech!) or grokked from first-principles. llvm-svn: 81404
* - Rename EmitCommonInformationEntry to EmitCIE.Bill Wendling2009-08-251-8/+7
| | | | | | - Rename EmitFunctionDescriptionEntry to EmitFDE. llvm-svn: 79981
* Rename functions to something more descriptive. At the very least mention theBill Wendling2009-08-251-7/+8
| | | | | | CIE and FDE in their names. llvm-svn: 79969
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-2/+2
| | | | llvm-svn: 79763
* Move the sjlj exception handling conversions to a back-end pass where theyJim Grosbach2009-08-171-1/+0
| | | | | | | | | more properly belong. This allows removing the front-end conditionalized SJLJ code, and cleans up the generated IR considerably. All of the infrastructure code (calling _Unwind_SjLj_Register/Unregister, etc) is added by the SjLjEHPrepare pass. llvm-svn: 79250
* SjLj based exception handling unwinding support. This patch is nasty, brutishJim Grosbach2009-08-111-0/+1
| | | | | | | | | | | | | and short. Well, it's kinda short. Definitely nasty and brutish. The front-end generates the register/unregister calls into the SjLj runtime, call-site indices and landing pad dispatch. The back end fills in the LSDA with the call-site information provided by the front end. Catch blocks are not yet implemented. Built on Darwin and verified no llvm-core "make check" regressions. llvm-svn: 78625
* - Temporarily unbreak the build by forcing the TType "absptr", which isn'tBill Wendling2009-07-291-1/+13
| | | | | | | correct. But what are you going to do? I'll fix this in the future. - Move another large loop into its own method. llvm-svn: 77408
* Doxygenify comments.Bill Wendling2009-07-281-0/+2
| | | | llvm-svn: 77394
* Split out large loop into it's very own method. No intended functionality ↵Bill Wendling2009-07-281-7/+11
| | | | | | change. llvm-svn: 77393
* fix include guard.Chris Lattner2009-07-171-2/+2
| | | | llvm-svn: 76228
* Simplify.Devang Patel2009-06-251-8/+3
| | | | llvm-svn: 74215
* Split out the DwarfDebug module from the DwarfWriter module.Bill Wendling2009-05-151-2/+2
| | | | | | Again, no intendtional functionality change. llvm-svn: 71854
* Split out the DwarfException class into its own file. No functionality change,Bill Wendling2009-05-151-0/+178
though the classes have been marked with "VISIBILITY_HIDDEN". llvm-svn: 71827
OpenPOWER on IntegriCloud