Micah Villmow
4bb926d91d
Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis.
...
llvm-svn: 165941
2012-10-15 16:24:29 +00:00
Micah Villmow
0c61134d8d
Revert 165732 for further review.
...
llvm-svn: 165747
2012-10-11 21:27:41 +00:00
Micah Villmow
083189730e
Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly.
...
llvm-svn: 165726
2012-10-11 17:21:41 +00:00
Eric Christopher
cc10d20a17
Fixup comment.
...
llvm-svn: 165427
2012-10-08 20:48:54 +00:00
Eric Christopher
85a495e9a7
Fixup comments.
...
llvm-svn: 165426
2012-10-08 20:48:49 +00:00
Micah Villmow
cdfe20b97f
Move TargetData to DataLayout.
...
llvm-svn: 165402
2012-10-08 16:38:25 +00:00
Eric Christopher
13319578ea
Update this a bit more to represent how the prologue should work:
...
a) frame setup instructions define the prologue
b) we shouldn't change our location mid-stream
Add a test to make sure that the stack adjustment stays within
the prologue.
llvm-svn: 165250
2012-10-04 20:46:14 +00:00
Eric Christopher
d7e9a450eb
Revert "Don't use a debug location for frame setup instructions in the"
...
This reverts 165055 and 165052 temporarily while I look at debugger
failures.
llvm-svn: 165071
2012-10-02 23:43:11 +00:00
Eric Christopher
a55b1d5b99
80-col.
...
llvm-svn: 165054
2012-10-02 21:44:12 +00:00
Eric Christopher
f01b02b7cf
Don't use a debug location for frame setup instructions in the
...
prologue. Also skip frame setup instructions when looking for the
first location.
llvm-svn: 165052
2012-10-02 21:17:00 +00:00
Eric Christopher
c1c8a1bb6a
Have the DbgVariable "isArtificial" and "isObjectPointer" not
...
care about it being an argument variable so that we can decide
that captured block and lambda vars that don't happen to
be arguments could be an argument pointer.
Add the object pointer for one case onto the subprogram die.
rdar://12001329
llvm-svn: 164419
2012-09-21 22:18:52 +00:00
Eric Christopher
e341776c1e
Recommit, with fixes:
...
Add some support for dealing with an object pointer on arguments.
Part of rdar://9797999
which now supports adding the object pointer attribute to the
subprogram as it should.
llvm-svn: 163754
2012-09-12 23:36:19 +00:00
Eric Christopher
c44e973a36
Revert "Add some support for dealing with an object pointer on arguments."
...
This should be done on the subprogram, not the variable itself.
llvm-svn: 163734
2012-09-12 18:42:31 +00:00
Eric Christopher
97c0fdd116
Add some support for dealing with an object pointer on arguments.
...
Part of rdar://9797999
llvm-svn: 163667
2012-09-12 00:26:55 +00:00
Eric Christopher
9fd70c8fb3
Revert r160148 it seems to cause more problems than it should
...
right now. We'll fix PR13303 a different way.
llvm-svn: 163570
2012-09-10 23:34:06 +00:00
Eric Christopher
abb4d9ed34
80-col fixup.
...
llvm-svn: 163568
2012-09-10 23:34:00 +00:00
Eric Christopher
a47d096125
No reason to construct this twice.
...
llvm-svn: 163567
2012-09-10 23:33:57 +00:00
Eric Christopher
bb69a27dbc
Use DW_FORM_flag_present to save space in debug information if we're
...
not in darwin gdb compat mode.
Fixes rdar://10975088
llvm-svn: 162526
2012-08-24 01:14:27 +00:00
Eric Christopher
20b76a77c3
Turn these two options in to trinary state so that they can be
...
turned on and off separate from the platform if you're on darwin.
llvm-svn: 162487
2012-08-23 22:36:40 +00:00
Eric Christopher
4977f214d7
Add a flag to DwarfDebug to allow it to communicate whether or not
...
we're using the darwin old gdb compat mode for emitting dwarf.
llvm-svn: 162486
2012-08-23 22:36:36 +00:00
Eric Christopher
a876b8243e
Typo.
...
llvm-svn: 162438
2012-08-23 07:32:06 +00:00
Eric Christopher
3a47c3e3cd
Only emit the __debug_inlined section if we're trying to be compatible
...
with older gdbs on darwin.
rdar://10975874
llvm-svn: 162436
2012-08-23 07:32:02 +00:00
Eric Christopher
7782618271
Emit pubtypes only when going for darwin gdb compatibility.
...
rdar://10393214
llvm-svn: 162434
2012-08-23 07:10:56 +00:00
Eric Christopher
978fbff11b
Add an option for darwin gdb compatibility.
...
llvm-svn: 162432
2012-08-23 07:10:46 +00:00
Eric Christopher
b1b9451337
Temporarily revert c23b933d5f8be9b51a1d22e717c0311f65f87dcd. It's causing
...
failures in the debug testsuite and possibly PR13486.
llvm-svn: 161121
2012-08-01 18:19:01 +00:00
Eric Christopher
86ca9f9e11
Add a DW_AT_high_pc for CUs that are a single address range. Update
...
all tests accordingly.
Fixes PR13351.
Patch by shinichiro hamaji!
llvm-svn: 160899
2012-07-27 22:00:05 +00:00
Eric Christopher
bf57091f8b
The end of the prologue should be marked with is_stmt.
...
Fixes PR13303.
Patch by Paul Robinson!
llvm-svn: 160148
2012-07-12 23:30:25 +00:00
Alexey Samsonov
39602781f6
Fix PR13202 and a regtest.
...
DwarfDebug class could generate the same (inlined) DIVariable twice:
1) when trying to find abstract debug variable for a concrete inlined instance.
2) when explicitly collecting info for variables that were optimized out.
This change makes sure that this duplication won't happen and makes
Clang pass "gdb.opt/inline-locals" test from gdb testsuite.
Reviewed by Eric Christopher.
llvm-svn: 159811
2012-07-06 08:45:08 +00:00
Bill Wendling
f799efdedc
The DIBuilder class is just a wrapper around debug info creation
...
(a.k.a. MDNodes). The module doesn't belong in Analysis. Move it to the VMCore
instead.
llvm-svn: 159414
2012-06-29 08:32:07 +00:00
Bill Wendling
e38859dc8e
Move lib/Analysis/DebugInfo.cpp to lib/VMCore/DebugInfo.cpp and
...
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.
The reasoning is because the DebugInfo module is simply an interface to the
debug info MDNodes and has nothing to do with analysis.
llvm-svn: 159312
2012-06-28 00:05:13 +00:00
Rafael Espindola
d7bdaf5795
Fix a FIXME: DwarfRequiresRelocationForSectionOffset is the same as
...
DwarfUsesRelocationsAcrossSections.
llvm-svn: 158992
2012-06-22 13:24:07 +00:00
Nick Lewycky
33da33676f
Emit relocations for DW_AT_location entries on systems which need it. This is
...
a recommit of r127757. Fixes PR9493. Patch by Paul Robinson!
llvm-svn: 158957
2012-06-22 01:25:12 +00:00
Benjamin Kramer
0748008df5
Allocate the contents of DwarfDebug's StringMaps in a single big BumpPtrAllocator.
...
llvm-svn: 158265
2012-06-09 10:34:15 +00:00
Jakob Stoklund Olesen
54038d796c
Switch all register list clients to the new MC*Iterator interface.
...
No functional change intended.
Sorry for the churn. The iterator classes are supposed to help avoid
giant commits like this one in the future. The TableGen-produced
register lists are getting quite large, and it may be necessary to
change the table representation.
This makes it possible to do so without changing all clients (again).
llvm-svn: 157854
2012-06-01 23:28:30 +00:00
Eric Christopher
e2b36ce24a
Remove duplicate code that we could just fallthrough to.
...
llvm-svn: 157060
2012-05-18 18:24:15 +00:00
Eric Christopher
8d2a77de63
Fix thinko in conditional.
...
Part of rdar://11352000 and should bring the buildbots back.
llvm-svn: 156421
2012-05-08 21:24:39 +00:00
Eric Christopher
4d25052a9a
Handle OpDeref in case it comes in as a register operand.
...
Part of rdar://11352000
llvm-svn: 156405
2012-05-08 18:56:00 +00:00
Eric Christopher
aec8a82694
Patch to set is_stmt a little better for prologue lines in a function.
...
This enables debuggers to see what are interesting lines for a
breakpoint rather than any line that starts a function.
rdar://9852092
llvm-svn: 154120
2012-04-05 20:39:05 +00:00
Eric Christopher
b81e2b403c
Fix thinko check for number of operands to be the one that actually
...
might have more than 19 operands. Add a testcase to make sure I
never screw that up again.
Part of rdar://11026482
llvm-svn: 153961
2012-04-03 17:55:42 +00:00
Eric Christopher
34164196af
Add a line number for the scope of the function (starting at the first
...
brace) so that we get more accurate line number information about the
declaration of a given function and the line where the function
first starts.
Part of rdar://11026482
llvm-svn: 153916
2012-04-03 00:43:49 +00:00
Eric Christopher
ad9fe8955a
Turn on the accelerator tables for Darwin.
...
llvm-svn: 153880
2012-04-02 17:58:52 +00:00
Eric Christopher
7ed2efca6a
Use DW_AT_low_pc for a single entry point into a routine.
...
Fixes PR10105
llvm-svn: 153524
2012-03-27 18:35:54 +00:00
Eric Christopher
0925c62c74
Use the file in the inlined die rather than the compile unit for
...
backtrace locations.
Testcase forthcoming, but I wanted to get some testing here.
Should fix:
PR12323
PR12314
rdar://11091100
llvm-svn: 153471
2012-03-26 21:38:38 +00:00
Benjamin Kramer
71b197306e
DwarfDebug: Store the filename/dirname pair as a zero-separated string in a stringmap, instead of using a highly inefficient std::map of a pair of std::strings.
...
llvm-svn: 152541
2012-03-11 14:56:26 +00:00
Craig Topper
1d32658877
Use uint16_t to store register overlaps to reduce static data.
...
llvm-svn: 152001
2012-03-04 10:43:23 +00:00
Eric Christopher
1df94bfe8a
Grammar-o in function name.
...
llvm-svn: 151875
2012-03-02 02:11:47 +00:00
Eric Christopher
7772531567
If the linkage name doesn't exist we're supposed to emit a reference
...
to the string table for the function name, not the function name.
llvm-svn: 151873
2012-03-02 01:57:52 +00:00
Eric Christopher
7524fe4551
Revert "Reorder the sections being output to reduce the number of assembler"
...
The inline table needs to be constructed ahead of time so that it doesn't try to
create new strings while we're emitting everything.
This reverts commit a8ff9bccb399183cdd5f1c3cec2bda763664b4b0.
llvm-svn: 151864
2012-03-02 00:30:24 +00:00
Eric Christopher
66b0721014
Reorder the sections being output to reduce the number of assembler
...
fixups that are being used to determine section offsets. Reduces
the total number of fixups by 50% for a non-trivial testcase.
Part of rdar://10413936
llvm-svn: 151852
2012-03-01 22:50:31 +00:00
Michael J. Spencer
35145f830a
Minimal changes for LLVM to compile under VS11.
...
llvm-svn: 151849
2012-03-01 22:42:52 +00:00