summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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