aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
AgeCommit message (Collapse)Author
2010-03-31assert is a function-like macro, not a control flow operator.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99992 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-31add new apis for getting/setting !dbg metadata on Chris Lattner
instructions. In addition to being a convenience, they are faster than the old apis, particularly when not going from an MDKindID like people should be doing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99982 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-30Ignore invalid metadata.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99938 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-30There is no need to fall through after processing DBG_VALUE machine instruction.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99899 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-29Encode start location of debug value, communicated through DBG_VALUE machine ↵Devang Patel
instruction, in a variable's DIE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99845 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-29fix a variety of issues were we'd start DebugTimer but Chris Lattner
not stop it by using RAII. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99832 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-29Refactor code to push DILocation prcessing into DwarfDebug.cpp from ↵Devang Patel
AsmPrinter.cpp. This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99816 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-28Revert 99772.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99778 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-28Refactoring. Push DILocation processing in to DwarfDebug from AsmPrinter.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99772 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-24Use SP filename directly instead of SP's context's filename.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99429 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-22Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99225 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-22DW_AT_stmt_list attribute attached with a compile unit encodes offset of ↵Devang Patel
line number information for this compile unit in debug_line section. This offset is always zero when only one compile unit is emitted in a object file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99223 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-22Fix a memory leak from DIE::addSiblingOffset() by adding the DIEValueJeffrey Yasskin
it allocates to DwarfDebug::DIEValues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99196 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-17Fix EmitSectionOffset incorrect argument. DwarfDebug is emitting debug info ↵Devang Patel
so isEH is always false. This was hiding until now from compilers because of default arguments. This was hiding from dwarf debug info users because for most of the platform isAbsoluteEHSectionOffsets() is same as isAbsoluteDebugSectionOffsets(). But Chris found it while updating dwarf printer to use MC*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98743 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Emit dwarf variable info communicated by code generator through DBG_VALUE ↵Devang Patel
machine instructions. This is a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98556 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14get MMI out of the label uniquing business, just go to MCContextChris Lattner
to get unique assembler temporary labels. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98489 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14don't use getDWLabel("label" anymore, always go through MMI.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98485 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14change SrcLineInfo to contain a label instead of a label ID.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98483 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-14use Label->isDefined() instead of isLabelDeleted() now that weChris Lattner
consistently use MCSymbol and only call this predicate after they should have been emitted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98461 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13simplify EmitFrameMoves to take BaseLabel in as a symbolChris Lattner
instead of as a stem+idx pair, simplify the "is a new location" check to use symbol comparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98432 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13factor some labels, simplify some code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98429 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13various cleanups.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98426 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-13reimplement the string pool used for inlined functionChris Lattner
entries to not thrash std::strings and MCSymbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98415 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12inline the now-trivial implementation of GetGlobalValueSymbol intoChris Lattner
some of its callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98388 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-12Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness ofJeffrey Yasskin
several fields to make it easier to figure out where bugs might be creeping in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98358 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11There is no need to create specification DIE for definitions at DIFile level.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98302 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Avoid leaking CompileUnits in DwarfDebug.cpp.Jeffrey Yasskin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98268 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10add missing filename!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98125 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10inline away a form of IsPCRelative, eliminating the Chris Lattner
dead IsPCRel argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98117 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-10add some fixme's for MCizing. EH still has a few things thatChris Lattner
need to be MCized, but the last debug info thing are LEB and cygwin specific (which the MC api doesn't support yet) and one specific form of EmitReference which I'll tackle next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98116 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09eliminate EOL, adding all comments with the OutStreamer.AddComment Chris Lattner
method. With this, comments should end up on the same lines as the .byte directives (for example) and we now get no output with: $ llc CodeGen/X86/2009-02-12-DebugInfoVLA.ll -o - -filetype=null -asm-verbose woot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98105 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09eliminate a bunch of \n's that are being printed to O. Next up is to killChris Lattner
off "EOL". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98102 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09reapply r98035:Chris Lattner
Now that setStartLabel takes an MCSymbol, we can de-ID'ize beginScope and RecordSourceLine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98047 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09add some extra checks. I'm not sure why, but this does unbreak aChris Lattner
failure remaining on mainline. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98046 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09Speculatively revert r98035. It appears to have caused a set of buildbotEric Christopher
failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98039 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09Now that setStartLabel takes an MCSymbol, we can de-ID'izeChris Lattner
beginScope and RecordSourceLine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98035 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09change DbgScope to keep track of the start/end label as MCSymbol* Chris Lattner
now that the dependence on ID is removed from MMI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98034 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09remove a useless optimization: now that label replacement neverChris Lattner
happens, the start/end of a scope can never be the same. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98032 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09strength reduce MMI::MappedLabel to MMI::isLabelDeleted,Chris Lattner
and add a FIXME about how we are eventually going to zap this lookup table once mc world domination is complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98031 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09mcstreamerize AsmPrinter::printLabel.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98025 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09add a EmitSymbolValue convenience method to MCStreamer.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98017 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09make InlineInfoLabels hold MCSymbol*'s, avoiding Chris Lattner
recomputation of the labels. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98016 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09mc'ize the last use of PrintLabelName and eliminate PrintLabelName.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98015 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-09now that the debug and eh emitters use a common .set counter,Chris Lattner
we can eliminate "flavor". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98011 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08simplify EmitSectionOffset to always use .set if it isChris Lattner
available, the only thing this affects is that we produce .set in one case we didn't before, which shouldn't harm anything. Make EmitSectionOffset call EmitDifference instead of duplicating it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98005 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08Remove a version of EmitDifference.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98002 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08eliminate a form of PrintLabelName.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97999 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08eliminate the non-MCSymbol versions of EmitReference.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97997 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08mc'ize EmitLabel.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97996 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-08merge DIEObjectLabel and DIEDwarfLabel into DIELabel.Chris Lattner
Yes, DIE you fiendish labels, die all of you. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97995 91177308-0d34-0410-b5e6-96231b3b80d8