Devang Patel
1d6bbd41aa
Let front-end tie subprogram declaration with subprogram definition directly.
...
llvm-svn: 130028
2011-04-22 23:10:17 +00:00
Devang Patel
ad45d911bb
Do not leak argument's DbgVariables.
...
llvm-svn: 130004
2011-04-22 18:09:57 +00:00
Devang Patel
2266aa84a1
Refactor.
...
llvm-svn: 129938
2011-04-21 21:07:35 +00:00
Devang Patel
28f2719d83
Add comment in output stream.
...
llvm-svn: 129921
2011-04-21 17:50:24 +00:00
Devang Patel
17740e70d5
Reduce clutter in asm output. Do not emit source location as comment for each instruction.
...
llvm-svn: 129715
2011-04-18 20:26:49 +00:00
Chris Lattner
0ab5e2cded
Fix a ton of comment typos found by codespell. Patch by
...
Luis Felipe Strano Moraes!
llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Devang Patel
e141234940
Remove extra bytes that were added for gdb. We do not have good poiner to understand actual reason behind this fixme. Spot checking suggest that newer gdb does not need this.
...
llvm-svn: 129461
2011-04-13 19:41:17 +00:00
Devang Patel
28dce70364
Simplify. There is no need to use static variable.
...
llvm-svn: 129406
2011-04-12 23:10:47 +00:00
Devang Patel
f20c4f715f
This mechanical patch moves type handling into CompileUnit from DwarfDebug. In case of multiple compile unit in one object file, each compile unit is responsible for its own set of type entries anyway. This refactoring makes this obvious.
...
llvm-svn: 129402
2011-04-12 22:53:02 +00:00
Devang Patel
5eb4319dba
Refactor CompileUnit into a separate header.
...
llvm-svn: 129367
2011-04-12 17:40:32 +00:00
Devang Patel
778947c203
Simplify array bound checks and clarify comments. One element array can have same non-zero number as lower bound as well as upper bound.
...
llvm-svn: 129170
2011-04-08 23:39:38 +00:00
Devang Patel
e39647951b
Do not emit DW_AT_upper_bound and DW_AT_lower_bound for unbouded array.
...
If lower bound is more then upper bound then consider it is an unbounded array.
An array is unbounded if non-zero lower bound is same as upper bound.
If lower bound and upper bound are zero than array has one element.
llvm-svn: 129156
2011-04-08 21:55:10 +00:00
Devang Patel
9f738849ab
Add support to encode function's template parameters.
...
llvm-svn: 128947
2011-04-05 22:52:06 +00:00
Devang Patel
d4e20eacf0
Refactor.
...
llvm-svn: 128929
2011-04-05 21:08:24 +00:00
Devang Patel
651d06e036
Do not emit empty name.
...
llvm-svn: 128914
2011-04-05 20:14:13 +00:00
Jakob Stoklund Olesen
9a624fa993
Collect and coalesce DBG_VALUE instructions before emitting the function.
...
Correctly terminate the range of register DBG_VALUEs when the register is
clobbered or when the basic block ends.
The code is now ready to deal with variables that are sometimes in a register
and sometimes on the stack. We just need to teach emitDebugLoc to say 'stack
slot'.
llvm-svn: 128327
2011-03-26 02:19:36 +00:00
Jakob Stoklund Olesen
1886a4c823
Emit less labels for debug info and stop emitting .loc directives for DBG_VALUEs.
...
The .dot directives don't need labels, that is a leftover from when we created
line number info manually.
Instructions following a DBG_VALUE can share its label since the DBG_VALUE
doesn't produce any code.
llvm-svn: 128284
2011-03-25 17:20:59 +00:00
Devang Patel
e01b75cb89
Keep track of directory namd and fIx regression caused by Rafael's patch r119613.
...
A better approach would be to move source id handling inside MC.
llvm-svn: 128233
2011-03-24 20:30:50 +00:00
Jakob Stoklund Olesen
a87d80cdca
Don't coalesce identical DBG_VALUE instructions prematurely.
...
Each of these instructions may have a RegsClobberInsn entry that can't be
ignored. Consecutive ranges are coalesced later when DwarfDebug::emitDebugLoc
merges entries.
llvm-svn: 128155
2011-03-23 18:37:30 +00:00
Jakob Stoklund Olesen
ec0ac3ca40
Reapply r128045 and r128051 with fixes.
...
This will extend the ranges of debug info variables in registers until they are
clobbered.
Fix 1: Don't mistake DBG_VALUE instructions referring to incoming arguments on
the stack with DBG_VALUE instructions referring to variables in the frame
pointer. This fixes the gdb test-suite failure.
Fix 2: Don't trace through copies to physical registers setting up call
arguments. These registers are call clobbered, and the source register is more
likely to be a callee-saved register that can be extended through the call
instruction.
llvm-svn: 128114
2011-03-22 22:33:08 +00:00
Andrew Trick
b0f98bb5e9
Revert r128045 and r128051, debug info enhancements.
...
Temporarily reverting these to see if we can get llvm-objdump to link. Hopefully this is not the problem.
llvm-svn: 128097
2011-03-22 19:18:42 +00:00
Jakob Stoklund Olesen
c6f4af028d
Clear map after use.
...
This is likely to fix the segfault in llvm-gcc-x86_64-darwin10-cross-mingw32.
llvm-svn: 128051
2011-03-22 01:03:24 +00:00
Jakob Stoklund Olesen
9c057ee440
Dont emit 'DBG_VALUE %noreg, ...' to terminate user variable ranges.
...
These ranges get completely jumbled by the post-ra scheduler, and it is not
really reasonable to expect it to make sense of them.
Instead, teach DwarfDebug to notice when user variables in registers are
clobbered, and terminate the ranges there.
llvm-svn: 128045
2011-03-22 00:21:41 +00:00
Daniel Dunbar
fd95b016fb
Revert r127757, "Patch to a fix dwarf relocation problem on ARM. One-line fix
...
plus the test where it used to break.", which broke Clang self-host of a
Debug+Asserts compiler, on OS X.
llvm-svn: 127763
2011-03-16 22:16:39 +00:00
Renato Golin
a3aeafeb35
Patch to a fix dwarf relocation problem on ARM. One-line fix plus the test where it used to break.
...
llvm-svn: 127757
2011-03-16 21:05:52 +00:00
Devang Patel
63b3e76370
Fix typo.
...
llvm-svn: 126962
2011-03-03 21:49:41 +00:00
Devang Patel
34a7ab400e
Fix thinko in previous check-in.
...
Add comment.
llvm-svn: 126959
2011-03-03 20:08:10 +00:00
Devang Patel
4ab660b077
llvm::Function argument count is not a good indicator of how many arugments does the function have at source level. If we need more space, just resize vector conservatively. This vector is only used once per function.
...
llvm-svn: 126957
2011-03-03 20:02:02 +00:00
Devang Patel
6c622ef1bc
If argument numbering is encoded in metadata then emit arguments' debug info in that order.
...
llvm-svn: 126794
2011-03-01 22:58:55 +00:00
Cameron Zwarich
fcf51fd298
Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.
...
llvm-svn: 126488
2011-02-25 16:30:32 +00:00
Devang Patel
b037383a35
Enable DebugInfo support for COFF object files.
...
Patch by Nathan Jeffords!
llvm-svn: 126425
2011-02-24 21:04:00 +00:00
Devang Patel
a5d93247c2
Do not use DIFactory.
...
llvm-svn: 126397
2011-02-24 18:49:30 +00:00
Devang Patel
7b0f796c55
Use DW_FORM_data2 for DW_AT_language and let users use DW_LANG_lo_user=0x8000 to DW_LANG_hi_user=0xffff range.
...
llvm-svn: 126339
2011-02-23 22:37:04 +00:00
Devang Patel
5f1b4cdda1
Do not emit empty DW_TAG_lexical_block DIEs. In one test case, size of debug info reduced by almost 7%.
...
llvm-svn: 126009
2011-02-19 01:31:27 +00:00
Devang Patel
d12c0a2764
Ignore DBG_VALUE machine instructions while constructing instruction ranges based on location info.
...
Machine instruction range consisting of only DBG_VALUE MIs only contributes consecutive labels in assembly output, which is harmless, and empty scope entry in DebugInfo, which confuses debugger tools.
llvm-svn: 125577
2011-02-15 17:56:09 +00:00
Devang Patel
116a9d7c38
Merge .debug_loc entries whenever possible to reduce debug_loc size.
...
llvm-svn: 124904
2011-02-04 22:57:18 +00:00
Devang Patel
be933b470a
Add support to describe template value parameter in debug info.
...
llvm-svn: 124755
2011-02-02 22:35:53 +00:00
Devang Patel
3a9e65efb6
Add support to describe template parameter type in debug info.
...
llvm-svn: 124752
2011-02-02 21:38:25 +00:00
Devang Patel
2d9e532a3a
Fix debug info for merged global.
...
llvm-svn: 123862
2011-01-20 00:02:16 +00:00
Devang Patel
8698f09dbd
Fix register address expression. Patch by Ken Dyck.
...
llvm-svn: 123856
2011-01-19 23:04:47 +00:00
Devang Patel
447cb38fbe
Appropriately truncate debug info range in dwarf output.
...
This is not yet completely enabled.
llvm-svn: 123274
2011-01-11 21:42:10 +00:00
Anton Korobeynikov
2f93128109
Rename TargetFrameInfo into TargetFrameLowering. Also, put couple of FIXMEs and fixes here and there.
...
llvm-svn: 123170
2011-01-10 12:39:04 +00:00
Devang Patel
acbee0b0d9
Speculatively revert r123032.
...
llvm-svn: 123039
2011-01-07 22:33:41 +00:00
Devang Patel
6381e1584c
Appropriately truncate debug info range in dwarf output.
...
Enable live debug variables pass.
llvm-svn: 123032
2011-01-07 21:30:41 +00:00
Devang Patel
70eb982843
Emit 128 bit constant.
...
This fixes PR 8913 crash.
llvm-svn: 122971
2011-01-06 21:39:25 +00:00
Devang Patel
c26da9005b
DW_FORM_data1 may not provide sufficient room for vtable index, use _udata instead.
...
This fixes radar 8730409.
llvm-svn: 121323
2010-12-09 00:10:40 +00:00
Devang Patel
bca5b25721
Undefined value in reg 0 may need a marker to identify end of source range.
...
This will be used to truncate live range of DBG_VALUE instruction by register allocator and friends.
llvm-svn: 121061
2010-12-06 22:48:22 +00:00
Michael J. Spencer
447762da85
Merge System into Support.
...
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
Anton Korobeynikov
4687778398
Move some more hooks to TargetFrameInfo
...
llvm-svn: 119904
2010-11-20 15:59:32 +00:00
Anton Korobeynikov
14ee344944
Move getInitialFrameState() to TargetFrameInfo
...
llvm-svn: 119754
2010-11-18 23:25:52 +00:00