Devang Patel
5d90d62701
Add support to attach debug info to an instruction.
...
This is not yet enabled.
llvm-svn: 83399
2009-10-06 18:36:08 +00:00
Devang Patel
faf7e9ad24
Set appropriate context for a global variable while emitting debug info.
...
llvm-svn: 83352
2009-10-06 00:35:31 +00:00
Mike Stump
2e722b915c
Improve debugging information for BlockDeclRefExpr. WIP. Given this
...
scheme, we can switch the previous scheme over to using this code
path. There's a bit of simplifications yet to do as well.
llvm-svn: 83138
2009-09-30 02:43:10 +00:00
John McCall
0cf155174e
Fix an infinite loop arising when trying to generate debug information
...
for a ObjC class with an ivar of weak self type.
llvm-svn: 82745
2009-09-25 01:40:47 +00:00
Daniel Dunbar
9996138a80
Ok, an AssertingVH definitely doesn't work for now because we free our cache after the optimizer may have hacked on the module. Use a WeakVH instead.
...
llvm-svn: 82324
2009-09-19 20:17:48 +00:00
Daniel Dunbar
1cbaae56cf
Switch CGDebugInfo type cache to using an AssertingVH.
...
llvm-svn: 82321
2009-09-19 19:27:24 +00:00
Daniel Dunbar
de870bdcf2
Factor out CGDebugInfo::CreateTypeNode method.
...
- No functionality change.
llvm-svn: 82320
2009-09-19 19:27:14 +00:00
Mike Stump
11289f4280
Remove tabs, and whitespace cleanups.
...
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Devang Patel
9be7b20401
Revert 75648 for now. It is causing test failures.
...
llvm-svn: 75684
2009-07-14 21:31:22 +00:00
Devang Patel
d6c256696b
Use LLVM mangler to get mangled name for debug info entry.
...
llvm-svn: 75589
2009-07-14 02:47:58 +00:00
Daniel Dunbar
f5c79709bc
Update debug info generation for ObjCObjectPointer changes.
...
- Previously this would crash on recursive types, and it was also incorrectly
stripping off a level of indirection.
- I'm not 100% convinced this is all correct, but it should be a monotonic
improvment.
llvm-svn: 75582
2009-07-14 01:20:56 +00:00
Devang Patel
0d425350b2
Revrt PR4228 fix for now.
...
llvm-svn: 74304
2009-06-26 18:32:22 +00:00
Devang Patel
9fc4341eec
It is possible that main input file does not have any symbol with debug info. To handle this edge case, always create main compile unit first.
...
This fixes PR 4228.
llvm-svn: 73520
2009-06-16 18:02:02 +00:00
Mike Stump
31f099c8c2
Enhance debug information for block literals. Radar 6867696
...
llvm-svn: 71763
2009-05-14 02:03:51 +00:00
Devang Patel
a6acb390e7
Handle corner case where clang-cc is invoked directly to compile preprocessed source file without -main-file-name. In this case, CDDebugInfo is not able identify correct main source file becase SM.isFromMainFile() returns true for locations from header files as well as locations from main source file.
...
This patch takes conservative approach by not emitting more then one compile unit with isMain bit set.
llvm-svn: 69902
2009-04-23 18:09:16 +00:00
Chris Lattner
7b0344f656
implement debug info for _Complex.
...
llvm-svn: 69873
2009-04-23 06:13:01 +00:00
Devang Patel
75009454e3
Appropriately set file name and directory name in debug info compile units.
...
llvm-svn: 69387
2009-04-17 21:06:59 +00:00
Devang Patel
f4c205b2fa
Add support to emit debug info for objective-c interfaces.
...
(This is not yet used.)
llvm-svn: 65573
2009-02-26 21:10:26 +00:00
Chris Lattner
affb37337f
reimplement debug info generation in terms of DebugInfo.h instead of
...
using MachineModuleInfo. This runs at about the same speed as the old
code, but fixes a bunch of bugs and is simpler and shorter.
llvm-svn: 58971
2008-11-10 06:08:34 +00:00
Daniel Dunbar
238475c8ca
Avoid redundant cast<>s / simplify type dispatch.
...
llvm-svn: 58892
2008-11-08 06:12:46 +00:00
Chris Lattner
7d7fff2303
privatize some methods.
...
llvm-svn: 58602
2008-11-03 09:11:11 +00:00
Daniel Dunbar
cb4638599c
Move IRBuilder type definition to common file.
...
- No functionality change.
llvm-svn: 58546
2008-11-01 01:53:16 +00:00
Daniel Dunbar
d678ae2da3
Quick fix for PR2950, infinite loop generating debug info for
...
recursive types.
- Style will be clean up in further patches.
llvm-svn: 58490
2008-10-31 04:04:54 +00:00
Daniel Dunbar
a290ded36a
Formatting tweaks.
...
- No functionality change.
llvm-svn: 58488
2008-10-31 03:54:29 +00:00
Daniel Dunbar
607f67b16c
Map compilation units using FileEntry pointers instead of
...
FileIDs. This seems better conceptually and lets the SourceManager
handle details of mapping the location to a file ID.
- In practice, fixes an assert because this code wasn't using
getPhysicalLoc.
llvm-svn: 58055
2008-10-24 00:46:51 +00:00
Daniel Dunbar
354d278518
Debug info bug fix, function start wasn't getting generated correctly
...
for Obj-C methods.
llvm-svn: 57769
2008-10-18 18:22:23 +00:00
Daniel Dunbar
b9fd902fdc
Change CGDebugInfo::setLocation to just ignore invalid locations. This
...
simplifies clients.
Also, add assert that RegionStack is empty when the CGDebugInfo is
destroyed.
llvm-svn: 57684
2008-10-17 16:15:48 +00:00
Daniel Dunbar
48595de697
Update for IRBuilder template change (update LLVM!)
...
llvm-svn: 54642
2008-08-11 16:50:21 +00:00
Chris Lattner
c893a67fe3
update to make IRBuilder API change.
...
llvm-svn: 54548
2008-08-08 19:57:58 +00:00
Sanjiv Gupta
224e8ea2bb
Generate debug descriptors for array types while generating the debug info.
...
llvm-svn: 52140
2008-06-09 10:47:41 +00:00
Sanjiv Gupta
1929242a94
Create debug type descriptors for aggregate/enum types.
...
llvm-svn: 52070
2008-06-07 04:46:53 +00:00
Sanjiv Gupta
158143ad54
Emit debug information for global and static variables when -g is specified.
...
llvm-svn: 51993
2008-06-05 08:59:10 +00:00
Sanjiv Gupta
18de624ca0
Emit parameter and local variable debug information with -g.
...
llvm-svn: 51765
2008-05-30 10:30:31 +00:00
Eli Friedman
b65ff27f53
A couple minor fixes to make debug info usable for arbitrary code: don't
...
emit incomplete types, because they crash llc, and always use the
logical location as the current location so we don't crash doing invalid
queries on CurLoc.
llvm-svn: 51675
2008-05-29 11:08:17 +00:00
Sanjiv Gupta
98070578bf
Generate subprogram debug info with -g.
...
Also take care of freeing memory at the right places.
llvm-svn: 51553
2008-05-25 05:15:42 +00:00
Eli Friedman
1763075b9c
Make debugging information usable. This is barebones, but it makes -g
...
actually work (instead of crashing llc), and there's enough info emitted
to get line number information in gdb. This should hopefully be helpful
for debugging non-working programs.
I got rid of the begin/endregion calls because the implementation wasn't
working; someone who knows the debugging info a bit better might try to
add it. I really have no clue how a compiler is supposed to emit them.
This commit shouldn't have any effect without -g.
llvm-svn: 51404
2008-05-22 01:40:10 +00:00
Sanjiv Gupta
15cb669039
Added -g command line options to clang for generating source level debug information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo.
...
llvm-svn: 50848
2008-05-08 08:54:20 +00:00