summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp
Commit message (Collapse)AuthorAgeFilesLines
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-24/+24
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-12/+12
| | | | llvm-svn: 79763
* Attempt to comment this code more.Bill Wendling2009-08-201-27/+122
| | | | llvm-svn: 79567
* Add missing includes.David Greene2009-08-191-0/+1
| | | | llvm-svn: 79474
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-6/+7
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sectionsChris Lattner2009-08-181-8/+2
| | | | llvm-svn: 79346
* add a horrible hack to the dwarf printer. It looks like mingw is not specifyingChris Lattner2009-08-181-3/+9
| | | | | | | | an EHFrame section, so we just emit ehframe data into a random section. This is clearly bad. llvm-svn: 79323
* Remove a bit more cruft from the sjlj moving to a backend pass.Jim Grosbach2009-08-171-3/+0
| | | | llvm-svn: 79272
* Move the sjlj exception handling conversions to a back-end pass where theyJim Grosbach2009-08-171-32/+7
| | | | | | | | | 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
* Add catch block handling to SjLj exception handling.Jim Grosbach2009-08-121-4/+9
| | | | llvm-svn: 78817
* SjLj based exception handling unwinding support. This patch is nasty, brutishJim Grosbach2009-08-111-46/+120
| | | | | | | | | | | | | 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
* convert EHFrameSection to be managed by TLOF instead of TAI.Chris Lattner2009-08-021-2/+2
| | | | llvm-svn: 77888
* Fix some fixme's in #if 0'd code by making it dependent on the structuralChris Lattner2009-08-021-29/+34
| | | | | | | behavior of the LSDA section instead of on some random target hook that needs to be kept in synch with other points of truth. llvm-svn: 77855
* move getDwarfExceptionSection from TAI to TLOF and rename it to Chris Lattner2009-08-021-5/+4
| | | | | | | | | | | getLSDASection() to be more specific. This makes it pretty obvious that the ELF LSDA section is being specified wrong in PIC mode. We're probably getting a lot of startup-time relocations to a readonly page, which is expensive and bad. Someone who cares about ELF C++ should investigate this. llvm-svn: 77847
* add some comments on how this is *supposed* to work. We don'tChris Lattner2009-07-311-0/+27
| | | | | | | need the PreferredEHDataFormat hook, but I have yet-more refactoring to do before I can zap it. llvm-svn: 77742
* rearrange a conditional. Even if this weren't #if 0'd out, this wouldChris Lattner2009-07-311-4/+5
| | | | | | have no functionality change. llvm-svn: 77741
* PreferredEHDataFormat is always call with data and global, but this wholeChris Lattner2009-07-311-1/+1
| | | | | | | thing is #if0'd out anyway. Just simplify the code by reducing the interface. Not deleting this is essential for Bill's continuing happiness. llvm-svn: 77736
* Forgot to output the base offset.Bill Wendling2009-07-291-4/+8
| | | | llvm-svn: 77505
* Move comment to above method.Bill Wendling2009-07-291-21/+21
| | | | llvm-svn: 77412
* - Temporarily unbreak the build by forcing the TType "absptr", which isn'tBill Wendling2009-07-291-49/+62
| | | | | | | 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
* Cleanup code to use iterators instead of ".size()".Bill Wendling2009-07-281-21/+25
| | | | | | Does any one else hate the name "const_reverse_iterator" as much as I do? llvm-svn: 77399
* Doxygenify comments.Bill Wendling2009-07-281-2/+2
| | | | llvm-svn: 77394
* Split out large loop into it's very own method. No intended functionality ↵Bill Wendling2009-07-281-35/+51
| | | | | | change. llvm-svn: 77393
* Output the EH TType format and base offset only if there are types that we'reBill Wendling2009-07-281-6/+15
| | | | | | going to emit. llvm-svn: 77382
* Use the preferred EH data format for the preferred EH data format.Bill Wendling2009-07-281-2/+2
| | | | llvm-svn: 77373
* implement a new magic global "llvm.compiler.used" which is like llvm.used, butChris Lattner2009-07-201-1/+1
| | | | | | doesn't cause ".no_dead_strip" to be emitted on darwin. llvm-svn: 76399
* Use more terse and precise linkage checks.Chris Lattner2009-07-171-15/+6
| | | | llvm-svn: 76237
* these two pieces of code are the same because we alwaysChris Lattner2009-07-171-12/+3
| | | | | | | emit the EHFrame label next to the section_eh_frame and eh_frame_common labels. llvm-svn: 76234
* Untangle a snarl that I discovered when updating the mangler,Chris Lattner2009-07-171-5/+5
| | | | | | | | | | | | | | starting in getCurrentFunctionEHName. Among other problems, we would try to privative a "foo.eh" label, but end up emitting the label as _Lfoo.eh instead of L_foo.eh on darwin. This is really bad, and the linker has always tolerated these labels existing. For now, just emit them as _foo.eh. This patch also fixes problems with ".eh" labels on unnamed functions and eliminates two strangely defined TargetAsmInfo hooks. llvm-svn: 76231
* Move c'tor/d'tor to top of file.Bill Wendling2009-05-151-17/+14
| | | | llvm-svn: 71828
* Split out the DwarfException class into its own file. No functionality change,Bill Wendling2009-05-151-0/+709
though the classes have been marked with "VISIBILITY_HIDDEN". llvm-svn: 71827
OpenPOWER on IntegriCloud