[llvm] r235050 - DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable

Duncan P. N. Exon Smith dexonsmith at apple.com
Thu Apr 16 15:37:24 PDT 2015


> On 2015-Apr-16, at 14:21, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote:
> 
>> 
>> On 2015-Apr-16, at 11:41, David Blaikie <dblaikie at gmail.com> wrote:
>> 
>> (from IRC discussion)
>> 
>> Looks like this might've caused the GDB buildbot regression seen here: http://lab.llvm.org:8011/builders/clang-x86_64-ubuntu-gdb-75/builds/21390
>> 
>> Specifically, in the below program
>> 
>> int *g;
>> 
>> static __attribute__((always_inline)) int f(int a) {
>>  int l;
>>  g = &l;
>>  return a;
>> }
>> 
>> int main(void) {
>>  f(0);
>>  f(0);
>>  return 0;
>> }
>> 
>> The inlined_subroutine for 'f' in 'main' has no DW_TAG_formal_parameter (for 'a')
> 
> I've tracked this down -- UserValue::match() needed to be updated.

r235140

> 
> I fixed what might be an unrelated bug in DebugLocEntry.  I'll have
> to separate out the two changes to see if this testcase provides any
> coverage for `DebugLocEntry`; if not I'll maybe need some help from
> you or Adrian coming up with a good testcase for that one.

This turned out to be unrelated.

Looking at the code, I'm not even sure what the variables are doing in
`DebugLocEntry` -- they're only used to prevent adjacent locations from
coalescing.  I guess the main problem is I don't know what this table is
for (well, `.debug_loc`, but I don't know what that is either).

By inspection, r235050 caused a behaviour change here (and the attached
patch would revert the behaviour change), but I honestly have no idea
what to test.

Adrian, you seem to have touched this code most recently.  Any ideas?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: debug-loc-entry-inlined-variables.patch
Type: application/octet-stream
Size: 204 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150416/55fd8ffc/attachment.obj>


More information about the llvm-commits mailing list