summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add DebugInfo based APIs to record source line info.Devang Patel2009-01-081-4/+43
| | | | llvm-svn: 61928
* Add APIs to record regions and variables.Devang Patel2009-01-081-0/+27
| | | | | | Again, shamelessly copied from MMI. llvm-svn: 61912
* Add APIs to manage scope using DebugInfo interface.Devang Patel2009-01-081-0/+297
| | | | | | This is a shameless copy of similar APIs from MachineModuleInfo. The copy from MMI will be deleted in near future. llvm-svn: 61908
* Set up DwarfDebug using DebugInfo API.Devang Patel2009-01-061-0/+33
| | | | llvm-svn: 61822
* Forgot that this was needed for Linux. This should fix the builds.Bill Wendling2009-01-061-2/+2
| | | | llvm-svn: 61819
* Construct subprogram DIEs using DebugInfo.Devang Patel2009-01-051-0/+39
| | | | llvm-svn: 61772
* Construct global variable DIEs using DebugInfo.Devang Patel2009-01-051-1/+48
| | | | llvm-svn: 61771
* Construct compile unit dies using DebugInfo.Devang Patel2009-01-051-1/+70
| | | | llvm-svn: 61768
* Revert r61415 and r61484. Duncan was correct that these weren't needed.Bill Wendling2009-01-051-18/+6
| | | | llvm-svn: 61765
* Extract source location info from DebugInfo.Devang Patel2009-01-051-0/+78
| | | | | | Add methods to add source location info in a DIE. llvm-svn: 61761
* Add type DIEs using DebugInfo.Devang Patel2009-01-051-9/+79
| | | | llvm-svn: 61757
* Construct composite type DIE using DebugInfo.Devang Patel2009-01-051-4/+83
| | | | llvm-svn: 61741
* s/ConstructType/ConstructTypeDIE/gDevang Patel2009-01-051-6/+6
| | | | llvm-svn: 61731
* Construct stuct field DIEs.Devang Patel2009-01-051-0/+78
| | | | llvm-svn: 61729
* Construct enumerator DIE using DebugInfo.Devang Patel2009-01-051-0/+11
| | | | llvm-svn: 61726
* Construct array/vector type DIEs using DebugInfo.Devang Patel2009-01-051-0/+40
| | | | llvm-svn: 61724
* Construct basic and derived type DIEs using DebugInfo.Devang Patel2009-01-051-0/+44
| | | | llvm-svn: 61714
* subsume ConstructPointerType()Devang Patel2009-01-051-8/+2
| | | | llvm-svn: 61711
* subsume ConstructBasicType().Devang Patel2009-01-051-11/+6
| | | | llvm-svn: 61709
* Linux wants the FDE initial location and address range to be forced to 32-bit.Bill Wendling2008-12-291-2/+4
| | | | | | Darwin doesn't. Make this optional for platforms. llvm-svn: 61484
* The FDE initial location and address range data should be free to be 64-bitBill Wendling2008-12-291-2/+2
| | | | | | (quad) on a 64-bit platform. This fixes a problem with EH frames on Darwin. llvm-svn: 61483
* Darwin likes for the EH frame to be non-local.Bill Wendling2008-12-241-4/+16
| | | | llvm-svn: 61420
* GCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sureBill Wendling2008-12-241-4/+16
| | | | | | about other platforms. llvm-svn: 61415
* Fix typo.Devang Patel2008-12-231-1/+2
| | | | | | Silence unused variable warning. llvm-svn: 61391
* Fix bug 3202.Rafael Espindola2008-12-191-1/+1
| | | | | | | The EH_frame and .eh symbols are now private, except for darwin9 and earlier. The patch also fixes the definition of PrivateGlobalPrefix on pcc linux. llvm-svn: 61242
* Do not print empty DW_AT_comp_dir.Devang Patel2008-12-121-1/+2
| | | | llvm-svn: 60965
* Fix a couple of Dwarf bugs.Evan Cheng2008-12-101-5/+16
| | | | | | | - Emit DW_AT_byte_size for struct and union of size zero. - Emit DW_AT_declaration for forward type declaration. llvm-svn: 60812
* Cosmetic changes.Evan Cheng2008-12-091-6/+8
| | | | llvm-svn: 60771
* The Dwarf writer was comparing mangled and unmangled names for C++ code when weBill Wendling2008-10-171-1/+4
| | | | | | | | | have an unreachable block in a function. This was triggering the assert. This is a horrid hack to cover this up. Oh! for a good debug info architecture! llvm-svn: 57714
* Align EH tables before label is emitted, not after,Dale Johannesen2008-10-081-1/+1
| | | | | | thus aligning the label. llvm-svn: 57310
* Switch the MachineOperand accessors back to the short names likeDan Gohman2008-10-031-11/+11
| | | | | | isReg, etc., from isRegister, etc. llvm-svn: 57006
* If we have a function with an unreachable statement such that the ending debugBill Wendling2008-09-261-6/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | information is in an unreachable block, then it's possible that the high/low pc values won't be set for the dwarf information. E.g., this function: void abort(void) __attribute__((__noreturn__)); void dead_beef(void) __attribute__ ((noreturn)); int *b; void dead_beef(void) { *b=0xdeadbeef; abort(); } has a call to "@llvm.dbg.region.end" only in the unreachable block: define void @dead_beef() noreturn nounwind { entry: call void @llvm.dbg.func.start(...) call void @llvm.dbg.stoppoint(...) ... call void @abort( ) noreturn nounwind unreachable return: ; No predecessors! call void @llvm.dbg.stoppoint(...) call void @llvm.dbg.region.end(...) ret void } The dwarf information emitted is something like: 0x00000084: TAG_subprogram [5] AT_name( "dead_beef" ) AT_external( 0x01 ) AT_prototyped( 0x01 ) AT_decl_file( 0x01 ) AT_decl_line( 0x08 ) Note that this is *not* the best fix for this problem, but a band-aid for an gaping wound. This code needs to be changed when we revamp our debugging information. llvm-svn: 56628
* Get rid of duplicate char*/Section* DataSectionAnton Korobeynikov2008-09-241-2/+2
| | | | llvm-svn: 56575
* Get rid of duplicate char*/Section* TextSectionAnton Korobeynikov2008-09-241-8/+9
| | | | llvm-svn: 56574
* Use raw_ostream throughout the AsmPrinter.Owen Anderson2008-08-211-5/+6
| | | | llvm-svn: 55092
* Move all assembler printing related stuff into new libAsmPrinterAnton Korobeynikov2008-08-171-0/+3930
llvm-svn: 54885
OpenPOWER on IntegriCloud