summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfException.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* reduce size of SmallString to something more reasonableJim Grosbach2009-09-011-1/+1
| | | | llvm-svn: 80710
* Use raw_ostream instead of sstreamJim Grosbach2009-09-011-7/+5
| | | | llvm-svn: 80704
* revert inadvertant change from previous commitJim Grosbach2009-09-011-2/+3
| | | | llvm-svn: 80689
* Simply LSDA lable emission to use a direct special-case output instead ofJim Grosbach2009-09-011-4/+3
| | | | | | EmitLabel() llvm-svn: 80677
* Clean up LSDA name generation and use for SJLJ exception handling. ThisJim Grosbach2009-09-011-3/+8
| | | | | | | | | | | 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
* Output a hex value, because all of the others are hex.Bill Wendling2009-08-311-1/+1
| | | | llvm-svn: 80601
* Revert commit 80428. It completely broke exceptionDuncan Sands2009-08-311-30/+17
| | | | | | handling on x86-32 linux. llvm-svn: 80592
* PR4747Jim Grosbach2009-08-311-2/+3
| | | | | | | | | | | | | Shared landing pads run into trouble with SJLJ, as the dispatch table is mapped to call sites, and merging the pads will throw that off. There needs to be a one-to-one mapping of landing pad exception table entries to invoke call points. Detecting the shared pad during lowering of SJLJ info insn't sufficient, as the dispatch function may still need separate destinations to properly handle phi-nodes. llvm-svn: 80530
* - Add target lowering methods to get the preferred format for the FDE and LSDABill Wendling2009-08-291-17/+30
| | | | | | | | | encodings. - Make some of the values emitted by the FDEs dependent upon the pointer size. This is in line with how GCC does things. And it has the benefit of working for Darwin in 64-bit mode now. llvm-svn: 80428
* Make the augmentation size and next set of bytes agree on size,Eric Christopher2009-08-291-4/+10
| | | | | | | | | and make the reference pointer size as it should be. Fixes an abort on a testcase derived from libunwind's personality test in 64-bit. llvm-svn: 80414
* Nuke trailing whitespace.Eric Christopher2009-08-281-9/+9
| | | | llvm-svn: 80401
* Revert accidental commit.Bill Wendling2009-08-271-41/+28
| | | | llvm-svn: 80198
* --- Reverse-merging r80147 into '.':Bill Wendling2009-08-271-28/+41
| | | | | | | | | | | | | | | | | | | | | | A include/llvm/ADT/iterator.cmake U autoconf/configure.ac --- Reverse-merging r80161 into '.': U cmake/config-ix.cmake --- Reverse-merging r80171 into '.': U Makefile --- Reverse-merging r80173 into '.': U configure U include/llvm/Config/config.h.in --- Reverse-merging r80180 into '.': A include/llvm/ADT/iterator.h.in Despite common miscomceptions, iterator.h is alive and well. It broke the build bots for several hours. And yet no one bothered to look at them. Gabor and Doug, please review your changes and make sure that they actually build before resubmitting them. llvm-svn: 80197
* If we're emitting additional CIEs due to personality functionsEric Christopher2009-08-261-1/+1
| | | | | | | don't emit the default one. Explicitly check for the NULL CIE later. llvm-svn: 80146
* - Rename EmitCommonInformationEntry to EmitCIE.Bill Wendling2009-08-251-11/+8
| | | | | | - Rename EmitFunctionDescriptionEntry to EmitFDE. llvm-svn: 79981
* - Emit new line after each FDE.Bill Wendling2009-08-251-1/+3
| | | | | | - Fix comment. llvm-svn: 79971
* Rename functions to something more descriptive. At the very least mention theBill Wendling2009-08-251-7/+11
| | | | | | CIE and FDE in their names. llvm-svn: 79969
* 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