153 Commits

Author SHA1 Message Date
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
Devang Patel
92e8c655b2 There is no need to use FoldingSet to unique DIEs.
DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode.

llvm-svn: 89518
2009-11-21 00:31:03 +00:00
Devang Patel
e064ad4741 Do not hold on to a map slot while new entries may be inserted into the map.
Use ValueMap, instead of std::map.

llvm-svn: 89490
2009-11-20 21:37:22 +00:00
Devang Patel
85121a3bda There is no need to emit source location info for DW_TAG_pointer_type.
llvm-svn: 89487
2009-11-20 21:05:37 +00:00
Nick Lewycky
a1c09d674e Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507.
llvm-svn: 89075
2009-11-17 09:17:08 +00:00
Nick Lewycky
b7993d61f2 Revert r88939.
llvm-svn: 89066
2009-11-17 08:11:44 +00:00
Devang Patel
f3d7c08e34 Revert r88939.
llvm-svn: 88973
2009-11-16 21:53:40 +00:00
Devang Patel
2ffd9935a1 Add VISIBILITY_HIDDEN marker.
llvm-svn: 88939
2009-11-16 19:20:48 +00:00
Devang Patel
97f99fa554 Ignore nameless variables.
llvm-svn: 87069
2009-11-13 02:25:26 +00:00
Devang Patel
2904aa9f6e "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.
llvm-svn: 87014
2009-11-12 19:02:56 +00:00
Devang Patel
d41f119dac If doesSupportDebugInformation() is false then do not try to emit dwarf debug info.
llvm-svn: 86874
2009-11-11 19:55:08 +00:00
Daniel Dunbar
75b4d3562c Fix -Asserts warning.
llvm-svn: 86794
2009-11-11 03:09:50 +00:00
Devang Patel
78319c67ca Do not assume first function scope seen represents current function.
llvm-svn: 86771
2009-11-11 00:31:36 +00:00