Chris Lattner
915c5f9862
Switch the code generator (except the JIT) onto the new DebugLoc
...
representation. This eliminates the 'DILocation' MDNodes for
file/line/col tuples from -O0 -g codegen.
This remove the old DebugLoc class, making it a typedef for DebugLoc,
I'll rename NewDebugLoc next.
I didn't update the JIT to use the new apis, so it will continue to
work, but be as slow as before. Someone should eventually do this
or, better yet, rip out the JIT debug info stuff and build the JIT
on top of MC.
llvm-svn: 100209
2010-04-02 19:42:39 +00:00
Devang Patel
18737b2a81
Revert r100117.
...
llvm-svn: 100145
2010-04-01 22:47:29 +00:00
Devang Patel
15676e5167
Do not eagerly record known previous location. DBG_VALUE may not cause a new label due to one or other reason.
...
llvm-svn: 100134
2010-04-01 20:22:44 +00:00
Devang Patel
1a55ef0427
Skip instructions until new scope is seen.
...
llvm-svn: 100117
2010-04-01 17:32:01 +00:00
Devang Patel
4c603b1c4e
Cosmetic changes.
...
Update comment, rename a local variable.
llvm-svn: 100116
2010-04-01 17:16:48 +00:00
Stuart Hastings
7f89a0ac88
Reverting 100048; it broke two Frontend debug info tests.
...
llvm-svn: 100058
2010-03-31 23:08:46 +00:00
Stuart Hastings
f3e5afd6d3
Debug info can now properly represent functions inside classes inside other functions. Partial fix for Radar 7424645.
...
llvm-svn: 100048
2010-03-31 21:10:54 +00:00
Benjamin Kramer
96956ed0ff
Reduce string trashing.
...
llvm-svn: 100038
2010-03-31 20:15:45 +00:00
Benjamin Kramer
74729ae094
DwarfDebug: Allocate DIEValues with a BumpPtrAllocator. Most of them are
...
POD-like anyway, so we don't even care about calling their d'tors (DIEBlock
being the exception).
~6% less mallocs and ~1% compile time improvement on clang -O0 -g oggenc.c
llvm-svn: 100035
2010-03-31 19:34:01 +00:00
Chris Lattner
71696ef1ad
tidy up
...
llvm-svn: 99998
2010-03-31 06:06:37 +00:00
Chris Lattner
03e1b5ab5c
MI != 0 is checked in the assert right above this.
...
llvm-svn: 99995
2010-03-31 05:42:48 +00:00
Chris Lattner
848c7d2e49
use the isDebugValue() predicate and pop_back_val()
...
llvm-svn: 99993
2010-03-31 05:39:57 +00:00
Chris Lattner
8d2fe28910
assert is a function-like macro, not a control flow operator.
...
llvm-svn: 99992
2010-03-31 05:36:29 +00:00
Chris Lattner
009de335ac
add new apis for getting/setting !dbg metadata on
...
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.
llvm-svn: 99982
2010-03-31 03:34:40 +00:00
Devang Patel
57c644f926
Ignore invalid metadata.
...
llvm-svn: 99938
2010-03-30 22:09:52 +00:00
Devang Patel
67d94ab0f8
There is no need to fall through after processing DBG_VALUE machine instruction.
...
llvm-svn: 99899
2010-03-30 18:07:00 +00:00
Devang Patel
23b2ae621c
Encode start location of debug value, communicated through DBG_VALUE machine instruction, in a variable's DIE.
...
llvm-svn: 99845
2010-03-29 22:59:58 +00:00
Chris Lattner
4787975994
fix a variety of issues were we'd start DebugTimer but
...
not stop it by using RAII.
llvm-svn: 99832
2010-03-29 20:38:20 +00:00
Devang Patel
bd477bef25
Refactor code to push DILocation prcessing into DwarfDebug.cpp from AsmPrinter.cpp.
...
This is same as r99772 (which was reverted) with just one meaningful difference where two source lines exchanged their positions.
llvm-svn: 99816
2010-03-29 17:20:31 +00:00
Devang Patel
1e8ccb5f8b
Revert 99772.
...
llvm-svn: 99778
2010-03-28 21:23:37 +00:00
Devang Patel
32bdaef3fe
Refactoring. Push DILocation processing in to DwarfDebug from AsmPrinter.
...
llvm-svn: 99772
2010-03-28 18:57:09 +00:00
Devang Patel
834392fcc6
Use SP filename directly instead of SP's context's filename.
...
llvm-svn: 99429
2010-03-24 21:30:35 +00:00
Devang Patel
d22ed622b3
Emit DW_AT_low_pc and DW_AT_high_pc attributes for TAG_compile_unit.
...
llvm-svn: 99225
2010-03-22 23:11:36 +00:00
Devang Patel
53e91f0836
DW_AT_stmt_list attribute attached with a compile unit encodes offset of 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.
...
llvm-svn: 99223
2010-03-22 22:38:48 +00:00
Jeffrey Yasskin
54ebc986b1
Fix a memory leak from DIE::addSiblingOffset() by adding the DIEValue
...
it allocates to DwarfDebug::DIEValues.
llvm-svn: 99196
2010-03-22 18:47:14 +00:00
Devang Patel
852a04e7ce
Fix EmitSectionOffset incorrect argument. DwarfDebug is emitting debug info 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*.
...
llvm-svn: 98743
2010-03-17 17:29:55 +00:00
Devang Patel
a3e9c9ca7b
Emit dwarf variable info communicated by code generator through DBG_VALUE machine instructions.
...
This is a work in progress.
llvm-svn: 98556
2010-03-15 18:33:46 +00:00
Chris Lattner
6e52e9db31
get MMI out of the label uniquing business, just go to MCContext
...
to get unique assembler temporary labels.
llvm-svn: 98489
2010-03-14 08:36:50 +00:00
Chris Lattner
6dcaba516f
don't use getDWLabel("label" anymore, always go through MMI.
...
llvm-svn: 98485
2010-03-14 08:18:13 +00:00
Chris Lattner
b4666f4517
change SrcLineInfo to contain a label instead of a label ID.
...
llvm-svn: 98483
2010-03-14 08:15:55 +00:00
Chris Lattner
ee95d4c61c
use Label->isDefined() instead of isLabelDeleted() now that we
...
consistently use MCSymbol and only call this predicate after
they should have been emitted.
llvm-svn: 98461
2010-03-14 02:20:58 +00:00
Chris Lattner
41e275dc8e
simplify EmitFrameMoves to take BaseLabel in as a symbol
...
instead of as a stem+idx pair, simplify the "is a new
location" check to use symbol comparison.
llvm-svn: 98432
2010-03-13 08:05:25 +00:00
Chris Lattner
8811e12314
factor some labels, simplify some code.
...
llvm-svn: 98429
2010-03-13 07:40:56 +00:00
Chris Lattner
2c3f478c0b
various cleanups.
...
llvm-svn: 98426
2010-03-13 07:26:18 +00:00
Chris Lattner
b7aa9527ef
reimplement the string pool used for inlined function
...
entries to not thrash std::strings and MCSymbols.
llvm-svn: 98415
2010-03-13 02:17:42 +00:00
Chris Lattner
9e4cafe6f1
inline the now-trivial implementation of GetGlobalValueSymbol into
...
some of its callers.
llvm-svn: 98388
2010-03-12 21:09:07 +00:00
Jeffrey Yasskin
35b4e4f641
Free DbgScopes in DwarfDebug::endFunction(). Also increased the const-ness of
...
several fields to make it easier to figure out where bugs might be creeping in.
llvm-svn: 98358
2010-03-12 17:45:06 +00:00
Devang Patel
f5c2a6b371
There is no need to create specification DIE for definitions at DIFile level.
...
llvm-svn: 98302
2010-03-11 23:44:52 +00:00
Jeffrey Yasskin
0708de1f97
Avoid leaking CompileUnits in DwarfDebug.cpp.
...
llvm-svn: 98268
2010-03-11 18:29:55 +00:00
Chris Lattner
a26fbe4d68
add missing filename!
...
llvm-svn: 98125
2010-03-10 02:29:31 +00:00
Chris Lattner
b245dfb408
inline away a form of IsPCRelative, eliminating the
...
dead IsPCRel argument.
llvm-svn: 98117
2010-03-10 01:17:49 +00:00
Chris Lattner
7e998b7363
add some fixme's for MCizing. EH still has a few things that
...
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.
llvm-svn: 98116
2010-03-10 01:04:13 +00:00
Chris Lattner
566cae9086
eliminate EOL, adding all comments with the OutStreamer.AddComment
...
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.
llvm-svn: 98105
2010-03-09 23:52:58 +00:00
Chris Lattner
3d72a678de
eliminate a bunch of \n's that are being printed to O. Next up is to kill
...
off "EOL".
llvm-svn: 98102
2010-03-09 23:38:23 +00:00
Chris Lattner
ba35a67062
reapply r98035:
...
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.
llvm-svn: 98047
2010-03-09 04:54:43 +00:00
Chris Lattner
54a6876821
add some extra checks. I'm not sure why, but this does unbreak a
...
failure remaining on mainline.
llvm-svn: 98046
2010-03-09 04:48:35 +00:00
Eric Christopher
66194fbf86
Speculatively revert r98035. It appears to have caused a set of buildbot
...
failures.
llvm-svn: 98039
2010-03-09 02:36:31 +00:00
Chris Lattner
06c5e9060c
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
...
beginScope and RecordSourceLine.
llvm-svn: 98035
2010-03-09 02:08:02 +00:00
Chris Lattner
e13c37232a
change DbgScope to keep track of the start/end label as MCSymbol*
...
now that the dependence on ID is removed from MMI.
llvm-svn: 98034
2010-03-09 01:58:53 +00:00
Chris Lattner
a552246b3d
remove a useless optimization: now that label replacement never
...
happens, the start/end of a scope can never be the same.
llvm-svn: 98032
2010-03-09 01:52:43 +00:00
Chris Lattner
c3b70f636f
strength reduce MMI::MappedLabel to MMI::isLabelDeleted,
...
and add a FIXME about how we are eventually going to zap this
lookup table once mc world domination is complete.
llvm-svn: 98031
2010-03-09 01:51:43 +00:00
Chris Lattner
9e57c676dd
mcstreamerize AsmPrinter::printLabel.
...
llvm-svn: 98025
2010-03-09 01:02:30 +00:00
Chris Lattner
b14490d912
add a EmitSymbolValue convenience method to MCStreamer.
...
llvm-svn: 98017
2010-03-09 00:39:24 +00:00
Chris Lattner
085b65283c
make InlineInfoLabels hold MCSymbol*'s, avoiding
...
recomputation of the labels.
llvm-svn: 98016
2010-03-09 00:31:02 +00:00
Chris Lattner
53d6d1e87d
mc'ize the last use of PrintLabelName and eliminate PrintLabelName.
...
llvm-svn: 98015
2010-03-09 00:26:09 +00:00
Chris Lattner
4d728127fb
now that the debug and eh emitters use a common .set counter,
...
we can eliminate "flavor".
llvm-svn: 98011
2010-03-09 00:00:15 +00:00
Chris Lattner
27a9732450
simplify EmitSectionOffset to always use .set if it is
...
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.
llvm-svn: 98005
2010-03-08 23:23:25 +00:00
Chris Lattner
449a9ff14b
Remove a version of EmitDifference.
...
llvm-svn: 98002
2010-03-08 23:02:59 +00:00
Chris Lattner
ee20b5f236
eliminate a form of PrintLabelName.
...
llvm-svn: 97999
2010-03-08 22:52:49 +00:00
Chris Lattner
b779eb6a1d
eliminate the non-MCSymbol versions of EmitReference.
...
llvm-svn: 97997
2010-03-08 22:47:57 +00:00
Chris Lattner
722714dde2
mc'ize EmitLabel.
...
llvm-svn: 97996
2010-03-08 22:44:40 +00:00
Chris Lattner
8dcf41ed66
merge DIEObjectLabel and DIEDwarfLabel into DIELabel.
...
Yes, DIE you fiendish labels, die all of you.
llvm-svn: 97995
2010-03-08 22:31:46 +00:00
Chris Lattner
bc9210cb70
elimiante the DWLabel class, using MCSymbol instead. Start
...
switching some stuff over to passing around MCSymbol* instead
of stem+ID.
llvm-svn: 97993
2010-03-08 22:23:36 +00:00
Devang Patel
8119fe87d8
Derive DIType from DIScope. This simplifies getContext() where for members the context is a type. This also eliminates need of CompileUnitMaps maintained by dwarf writer.
...
llvm-svn: 97990
2010-03-08 22:02:50 +00:00
Devang Patel
3b548aa8e2
Avoid using DIDescriptor.isNull().
...
This is a first step towards eliminating checks in Descriptor constructors.
llvm-svn: 97975
2010-03-08 20:52:55 +00:00
Devang Patel
bc97f6b757
Revert r97947.
...
llvm-svn: 97963
2010-03-08 19:20:38 +00:00
Devang Patel
fe28599f6f
Avoid using DIDescriptor.isNull().
...
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.
llvm-svn: 97947
2010-03-08 18:25:48 +00:00
Douglas Gregor
9abb538be0
Revert r97917, which was causing Clang Debug self-host failures.
...
llvm-svn: 97932
2010-03-08 02:58:37 +00:00
Jeffrey Yasskin
37a0372fc4
Roll r97906 forward again, without double-deleting CompileUnit::IndexTyDie.
...
llvm-svn: 97917
2010-03-07 17:10:13 +00:00
Jeffrey Yasskin
7068bdba50
_2_ gcc crashes, ah, ah, ah...
...
(Rolling back r97906.)
llvm-svn: 97909
2010-03-07 07:16:49 +00:00
Jeffrey Yasskin
413721b050
Avoid leaking CompileUnits and DbgScopes from DwarfDebug. Leaks found by Valgrind!
...
llvm-svn: 97906
2010-03-07 06:55:35 +00:00
Devang Patel
f200b39d13
Fix grammar.
...
Thanks Duncan!
llvm-svn: 97572
2010-03-02 17:58:15 +00:00
Devang Patel
d0fa304dc7
Constructors and operators for anonymous aggregates does not names. Do not force empty AT_name attribute in such cases.
...
llvm-svn: 97533
2010-03-02 01:26:20 +00:00
Devang Patel
ca55a04273
Before setting scope end marker, pay attention to scope begin marker and existing scope end marker, if any. Scope must begin before it ends and nested inlined scope do not truncate surrounding scope.
...
llvm-svn: 96445
2010-02-17 02:20:34 +00:00
Dan Gohman
4a618827de
Fix "the the" and similar typos.
...
llvm-svn: 95781
2010-02-10 16:03:48 +00:00
Devang Patel
ce25dd74c0
Add declaration attribute to a variable DIE, if there is a separate DIE for the definition.
...
llvm-svn: 95646
2010-02-09 01:58:33 +00:00
Devang Patel
6efc8e5120
Set DW_AT_artificial only if argument is marked as artificial.
...
llvm-svn: 95461
2010-02-06 01:02:37 +00:00
Devang Patel
d4be4ced76
Do not generate specification DIE for nested functions.
...
llvm-svn: 95452
2010-02-05 23:09:20 +00:00
Devang Patel
d231689adb
Emit appropriate expression to find virtual base offset.
...
llvm-svn: 95242
2010-02-03 20:08:48 +00:00
Devang Patel
999b499024
Provide interface to identifiy artificial methods.
...
llvm-svn: 95240
2010-02-03 19:57:19 +00:00
Devang Patel
057c642486
Apparently gdb is not amused by empty lines in pubtypes section.
...
llvm-svn: 95064
2010-02-02 03:47:27 +00:00
Devang Patel
6d404adc1b
NULL terminate name in pubtypes sections.
...
llvm-svn: 95062
2010-02-02 03:37:03 +00:00
Devang Patel
160c92dd19
Emit declaration DIE for the class static variables.
...
llvm-svn: 94870
2010-01-30 01:08:30 +00:00
Devang Patel
aedd6f5b33
Add size and location info in DW_TAG_class_type descriptor.
...
llvm-svn: 94822
2010-01-29 18:34:58 +00:00
Chris Lattner
56e9b5975d
remove a noop function.
...
llvm-svn: 94616
2010-01-26 23:26:29 +00:00
Chris Lattner
76555b513c
constify a bunch of dwarf stuff now that the registerinfo method
...
is constified.
llvm-svn: 94613
2010-01-26 23:18:02 +00:00
Devang Patel
1973df2e3f
Use AssertingVH, just to be paranoid.
...
llvm-svn: 94593
2010-01-26 21:39:14 +00:00
Devang Patel
303a1beea6
Emit DW_AT_containing_type attribute for a class if containing type is known.
...
llvm-svn: 94587
2010-01-26 21:16:06 +00:00
Chris Lattner
601ef33c77
mcstreamerize .file and .file. This also fixes an issue where the
...
normal form of .file would fail if the filename had a weird character
in it.
llvm-svn: 94437
2010-01-25 18:58:59 +00:00
Chris Lattner
62f2840572
fix some issues where we weren't emitting enough newlines.
...
llvm-svn: 94370
2010-01-24 19:01:06 +00:00
Chris Lattner
5adf987417
when emitting DIEs, emit the comment on the same line as the directive.
...
This fixes FrontendObjC/2009-11-30-Objc-ID.m
llvm-svn: 94369
2010-01-24 18:54:17 +00:00
Chris Lattner
c3f23b84ea
remove one form of EmitString, just use EmitBytes instead. We must
...
be careful to add a \0 at the end though, because EmitString didn't
do this.
llvm-svn: 94277
2010-01-23 03:11:46 +00:00
Chris Lattner
6f2d99df03
move "EOL" from asmprinter to dwarfprinter. It should eventually
...
be completely eliminated, but today is not that day.
llvm-svn: 94253
2010-01-22 23:47:11 +00:00
Chris Lattner
fa82355f33
move uleb printing from asmprinter to dwarfprinter, mcize,
...
cleanup and eliminate a bunch more uses of "EOL".
llvm-svn: 94250
2010-01-22 23:18:42 +00:00
Chris Lattner
2303145081
move sleb printing out of asmprinter into dwarf printer, make clients
...
handle the comment better, MCize the non-.sleb case.
llvm-svn: 94244
2010-01-22 22:56:55 +00:00
Devang Patel
ac277eb930
Remove MetadataBase class because it is not adding significant value.
...
llvm-svn: 94243
2010-01-22 22:52:10 +00:00
Chris Lattner
69bb026835
rename the dwarf class to DwarfPrinter. This matches the filename
...
and much more accurately describes what it is all about.
llvm-svn: 94233
2010-01-22 22:23:57 +00:00
Chris Lattner
f5c834fce1
inline away the trivial AsmPrinter::EOL() method.
...
llvm-svn: 94230
2010-01-22 22:09:00 +00:00
Devang Patel
7771b7c621
If a instruction belongs to another function (and not current function) as per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable.
...
llvm-svn: 93967
2010-01-20 02:05:23 +00:00
Devang Patel
018b29b039
MDNodes are not expected to disappear or replaced by another MDNode, so there is no need to pay the cost of WeakVH and ValueMaps.
...
llvm-svn: 93865
2010-01-19 06:19:05 +00:00
Devang Patel
fe189e65d7
Revert accident check-in from r93165.
...
llvm-svn: 93832
2010-01-19 01:26:02 +00:00
Benjamin Kramer
4d128a2387
Switch some functions to take Twines, eliminate uses of StringExtras.h.
...
llvm-svn: 93680
2010-01-17 07:46:39 +00:00
Chris Lattner
f62e3ee8c5
move the mangler into libtarget from vmcore.
...
llvm-svn: 93664
2010-01-16 21:57:06 +00:00
Chris Lattner
06d45f6e75
Change DIEObjectLabel to take an MCSymbol instead of std::string.
...
llvm-svn: 93647
2010-01-16 18:50:28 +00:00
Devang Patel
814b7e7488
No need to use WeakVH here.
...
llvm-svn: 93631
2010-01-16 06:17:40 +00:00
Devang Patel
c0e17df3ce
Replace DebugLocTuple with DILocation.
...
llvm-svn: 93630
2010-01-16 06:09:35 +00:00
Devang Patel
0633820599
Add FIXME.
...
llvm-svn: 93562
2010-01-15 22:08:16 +00:00
Devang Patel
89880c8224
Do not use AT_specification die for static variables. It confuses gdb.
...
llvm-svn: 93494
2010-01-15 01:12:22 +00:00
Devang Patel
2108ee075f
Do not emit multiple AT_container_type attributes.
...
We need to find a better way to emit this info.
llvm-svn: 93481
2010-01-15 00:26:31 +00:00
Devang Patel
8992323bb9
s/NextValueNo/NextMDValueNo while processing metadata.
...
llvm-svn: 93165
2010-01-11 18:52:33 +00:00
Benjamin Kramer
2b45998b7b
Kill dead store.
...
llvm-svn: 92920
2010-01-07 17:50:57 +00:00
Devang Patel
d146e2e3df
If a scope has only one instruction then first instruction is also the last instruction.
...
llvm-svn: 92736
2010-01-05 16:59:17 +00:00
Devang Patel
43ef34d2a5
Use StringRef.startswith().
...
llvm-svn: 92671
2010-01-05 01:46:14 +00:00
Devang Patel
e6433faba6
Fix debug_inlined section entries for routines whose names are changed through __asm() extension.
...
llvm-svn: 92533
2010-01-04 23:04:36 +00:00
Devang Patel
530a075f17
Fix begin and end markers for nested scopes.
...
llvm-svn: 92505
2010-01-04 20:44:00 +00:00
Chris Lattner
f81add3fdf
move these out of their own timer groups into the 'uncategorized' groups.
...
llvm-svn: 92206
2009-12-28 07:41:18 +00:00
David Greene
c230cb947a
Change errs() to dbgs().
...
llvm-svn: 92096
2009-12-24 00:31:35 +00:00
Devang Patel
1f4690c624
Add support to emit debug info for C++ namespaces.
...
llvm-svn: 91440
2009-12-15 19:16:48 +00:00
Devang Patel
525dda05a0
Use DW_AT_specification to point to DIE describing function declaration.
...
llvm-svn: 91278
2009-12-14 16:18:45 +00:00
Devang Patel
b314bd688a
Construct CompileUnits lazily.
...
llvm-svn: 91159
2009-12-11 21:37:07 +00:00
Devang Patel
2eec32d944
If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die.
...
llvm-svn: 91077
2009-12-10 23:25:41 +00:00
Devang Patel
2b75ed2c3d
Refactor code that finds context for a given die.
...
Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation.
llvm-svn: 91055
2009-12-10 19:14:49 +00:00
Devang Patel
b5b60ea4f9
Refactor.
...
llvm-svn: 91051
2009-12-10 18:05:33 +00:00
Devang Patel
9ccfb641d1
Reapply r90858, a cleanup patch.
...
llvm-svn: 90979
2009-12-09 18:24:21 +00:00
Devang Patel
512001ac7d
Revert 90858 90875 and 90805 for now.
...
llvm-svn: 90898
2009-12-08 23:21:45 +00:00
Devang Patel
24c0bb1ca1
Cleanup.
...
There is no need to supply ModuleCU to addType() as a parameter.
llvm-svn: 90858
2009-12-08 15:31:31 +00:00
Devang Patel
7d723ec70d
Do not try to push dead variable's debug info into namespace info.
...
llvm-svn: 90857
2009-12-08 15:01:35 +00:00
Devang Patel
b074d1783b
Add support to emit debug info for c++ style namespaces.
...
llvm-svn: 90805
2009-12-07 21:41:32 +00:00
Dan Gohman
0891d759b5
Don't print a space before the : between the file name and line number.
...
And separate the directory and file name with a '/'.
llvm-svn: 90641
2009-12-05 02:00:34 +00:00
Dan Gohman
3a6164e8ab
Print newlines after printing labels for debug info, so that the output
...
isn't cluttered with things like "Llabel47:Llabel48: movq (%rsi), %xmm3"
llvm-svn: 90638
2009-12-05 01:42:34 +00:00
Devang Patel
8f0460278c
In TAG_subrange_type, uppder bound is zero indexed.
...
llvm-svn: 90617
2009-12-04 23:10:24 +00:00
Devang Patel
3b666fef67
Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map.
...
llvm-svn: 90498
2009-12-03 23:46:57 +00:00
Devang Patel
eb57c59b66
Add support to emit debug info for virtual functions and virtual base classes.
...
llvm-svn: 90474
2009-12-03 19:11:07 +00:00
Devang Patel
236526dd18
Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite.
...
llvm-svn: 90375
2009-12-03 01:25:38 +00:00
Devang Patel
8c33959df2
Clarify that DIEString does not keep a copy of the string.
...
llvm-svn: 90318
2009-12-02 15:25:16 +00:00
Devang Patel
a605b9124a
Reuse existing subprogram DIE.
...
llvm-svn: 90281
2009-12-01 23:07:59 +00:00
Devang Patel
0a2c0bcb14
Clear function specific containers while processing end of a function, even if DW_TAG_subprogram for current function is not found.
...
llvm-svn: 90247
2009-12-01 18:13:48 +00:00
Devang Patel
ae466efe2e
If pointer type has a name then do not ignore the name.
...
llvm-svn: 90172
2009-11-30 23:56:56 +00:00
Benjamin Kramer
4cd30817d3
Avoid some possibly unsafe uses of StringRef::data().
...
llvm-svn: 89873
2009-11-25 18:26:09 +00:00
Devang Patel
2d9caf9fe5
Use StringRef (again) in DebugInfo interface.
...
llvm-svn: 89866
2009-11-25 17:36:49 +00:00
Devang Patel
b3e0168428
Use StringRef instead of std::string in DIEString.
...
llvm-svn: 89793
2009-11-24 19:42:17 +00:00
Devang Patel
c8654eb64e
Swith to pubtypes section before emitting pub types.
...
llvm-svn: 89787
2009-11-24 19:18:41 +00:00
Devang Patel
04d2f2d192
Emit pubtypes.
...
llvm-svn: 89725
2009-11-24 01:14:22 +00:00
Dan Gohman
3650f4ed0c
Simplify this code.
...
llvm-svn: 89702
2009-11-23 21:30:55 +00:00
Devang Patel
b5b51598ba
Revert r89487.
...
llvm-svn: 89686
2009-11-23 18:43:37 +00:00
Jim Grosbach
bf6d35893f
Add getFrameIndexReference() to TargetRegisterInfo, which allows targets to
...
tell debug info which base register to use to reference a frame index on a
per-index basis. This is useful, for example, in the presence of dynamic
stack realignment when local variables are indexed via the stack pointer and
stack-based arguments via the frame pointer.
llvm-svn: 89620
2009-11-22 20:14:00 +00:00
Jim Grosbach
00e9c6103b
80-column cleanup
...
llvm-svn: 89612
2009-11-22 19:20:36 +00:00
Jim Grosbach
042483efb1
remove trailing whitespace
...
llvm-svn: 89567
2009-11-21 23:12:12 +00:00
Devang Patel
930143b0dc
Cosmetic changes, which were long overdue, in DwarfDebug.cpp.
...
llvm-svn: 89537
2009-11-21 02:48:08 +00:00
Devang Patel
e1bbc33355
Remove dead code.
...
llvm-svn: 89522
2009-11-21 00:54:03 +00:00