Dan Gohman
24a93f78ae
Simplify this code.
...
llvm-svn: 89702
2009-11-23 21:30:55 +00:00
Devang Patel
6197d0b2eb
Revert r89487.
...
llvm-svn: 89686
2009-11-23 18:43:37 +00:00
Jim Grosbach
f49995d449
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
0acdac3bf0
80-column cleanup
...
llvm-svn: 89612
2009-11-22 19:20:36 +00:00
Jim Grosbach
99a88f415b
remove trailing whitespace
...
llvm-svn: 89567
2009-11-21 23:12:12 +00:00
Devang Patel
7f5e6b43a0
Cosmetic changes, which were long overdue, in DwarfDebug.cpp.
...
llvm-svn: 89537
2009-11-21 02:48:08 +00:00
Devang Patel
c672dccdbb
Remove dead code.
...
llvm-svn: 89522
2009-11-21 00:54:03 +00:00
Devang Patel
8d7175f85f
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
7b6ef33b1c
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
35731e4453
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
70113e8a1b
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
549b6439f3
Revert r88939.
...
llvm-svn: 89066
2009-11-17 08:11:44 +00:00
Devang Patel
aad93dd4c0
Revert r88939.
...
llvm-svn: 88973
2009-11-16 21:53:40 +00:00
Devang Patel
9263c9d854
Add VISIBILITY_HIDDEN marker.
...
llvm-svn: 88939
2009-11-16 19:20:48 +00:00
Devang Patel
7f5ae01388
Ignore nameless variables.
...
llvm-svn: 87069
2009-11-13 02:25:26 +00:00
Devang Patel
c024e96ca3
"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
e37dd6ef40
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
d29c05945a
Fix -Asserts warning.
...
llvm-svn: 86794
2009-11-11 03:09:50 +00:00
Devang Patel
b3f18462ca
Do not assume first function scope seen represents current function.
...
llvm-svn: 86771
2009-11-11 00:31:36 +00:00
Devang Patel
eb421ea5de
While creating DbgScopes, do not forget parent scope.
...
llvm-svn: 86763
2009-11-11 00:18:40 +00:00
Devang Patel
06e690849a
Ignore variable if scope info is not available.
...
llvm-svn: 86753
2009-11-10 23:20:04 +00:00
Devang Patel
5c983cb2ab
Implement support to debug inlined functions.
...
llvm-svn: 86748
2009-11-10 23:06:00 +00:00
Devang Patel
0d1f6a9d0e
Do not bother to emit debug info for nameless global variable.
...
llvm-svn: 86259
2009-11-06 17:58:12 +00:00
Devang Patel
5035033346
Do not try to emit debug info entry for dead global variable.
...
llvm-svn: 86212
2009-11-06 01:30:04 +00:00
Devang Patel
c69c29bc4b
While calculating original type size for a derived type, handle type variants encoded as DIDerivedType appropriately.
...
This improves bitfield support.
llvm-svn: 86073
2009-11-04 23:48:00 +00:00
Devang Patel
799b8cc191
Fix DW_AT_data_member_location for bit-fields. It points to the location of annonymous field that covers respective field.
...
llvm-svn: 86054
2009-11-04 22:06:12 +00:00
Devang Patel
773993746e
Array element size does not match array size but array is not a bitfield.
...
llvm-svn: 86043
2009-11-04 19:37:40 +00:00
Devang Patel
7cb7017106
Ignore unnamed variables.
...
llvm-svn: 85909
2009-11-03 18:30:27 +00:00
Jeffrey Yasskin
bc6f9d7e70
Fix a funky "declared with greater visibility than the type of its field"
...
warning from gcc by removing VISIBILITY_HIDDEN attributes.
llvm-svn: 85873
2009-11-03 06:29:36 +00:00
Devang Patel
635c6192e6
Do not held on to DenseMap slot accross map insertion. The insertion may cause the map to grow rending the slot invalid.
...
Use this opportunity to use ValueMap instead of DenseMap.
llvm-svn: 85298
2009-10-27 20:47:17 +00:00
Devang Patel
4790ea6ca2
Do not emit name entry for a pointer type.
...
llvm-svn: 84276
2009-10-16 21:27:43 +00:00
Devang Patel
5920acc861
If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info.
...
llvm-svn: 84262
2009-10-16 18:18:03 +00:00
Devang Patel
22761afada
Add support to record DbgScope as inlined scope.
...
llvm-svn: 84134
2009-10-14 21:08:09 +00:00
Devang Patel
72f708ec2f
s/DebugLoc.CompileUnit/DebugLoc.Scope/g
...
s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g
llvm-svn: 84054
2009-10-13 23:28:53 +00:00
Daniel Dunbar
592c5055dd
Fix a -Asserts warning.
...
llvm-svn: 83950
2009-10-13 06:47:08 +00:00
Devang Patel
aeac1241b8
Find enclosing subprogram info.
...
llvm-svn: 83922
2009-10-12 23:11:24 +00:00
Devang Patel
c97c44b584
Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location.
...
While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself.
llvm-svn: 83684
2009-10-09 22:42:28 +00:00
Devang Patel
a772046766
Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage.
...
llvm-svn: 83655
2009-10-09 17:51:49 +00:00
Devang Patel
e16aac2206
Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases.
...
llvm-svn: 83563
2009-10-08 18:48:03 +00:00
Devang Patel
1639c0e45a
Add support to handle debug info attached to an instruction.
...
This is not yet enabled.
llvm-svn: 83400
2009-10-06 18:37:31 +00:00
Devang Patel
bad114ca60
Fix cut-n-pasto.
...
llvm-svn: 83367
2009-10-06 03:15:38 +00:00
Devang Patel
3200e99109
Remove dead code.
...
llvm-svn: 83362
2009-10-06 02:01:32 +00:00
Devang Patel
0141a90812
Add utility routine to set begin and end labels for DbgScopes.
...
This will be used by processDebugLoc().
llvm-svn: 83361
2009-10-06 01:50:42 +00:00
Devang Patel
ac511d1acf
Add utility routine to collect variable debug info. This is not yet used.
...
llvm-svn: 83355
2009-10-06 01:26:37 +00:00
Devang Patel
3b3d8a9d09
Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module.
...
llvm-svn: 83348
2009-10-06 00:03:14 +00:00
Devang Patel
f129b0d44f
If subprogram die is not available then construct new one.
...
This can happen if debug info is processed lazily.
llvm-svn: 83347
2009-10-05 23:59:00 +00:00
Devang Patel
dff583ac49
Adjust context for the global variables that are not at file scope, e.g.
...
void foo() { static int bar = 42; }
Here, foo's DIE is parent of bar's DIE.
llvm-svn: 83344
2009-10-05 23:40:42 +00:00
Devang Patel
4e9591a170
Set address while constructing DIE.
...
llvm-svn: 83343
2009-10-05 23:22:08 +00:00
Devang Patel
28b7c6155c
Gracefully handle various scopes while recording source line info.
...
llvm-svn: 83317
2009-10-05 18:03:19 +00:00
Devang Patel
7aa19711f8
Add support to extract lexical scope information from DebugLoc attached with an machine instruction.
...
This is not yet enabled.
llvm-svn: 83210
2009-10-01 20:31:14 +00:00