[llvm] r180140 - Make sure the instruction right after an inlined function has a

Adrian Prantl aprantl at apple.com
Wed Apr 24 11:38:06 PDT 2013


On Apr 24, 2013, at 11:35 AM, Eric Christopher <echristo at gmail.com> wrote:

> On Wed, Apr 24, 2013 at 7:33 PM, Adrian Prantl <aprantl at apple.com> wrote:
>> 
>> On Apr 24, 2013, at 11:30 AM, Manman Ren <mren at apple.com> wrote:
>> 
>>> 
>>> On Apr 23, 2013, at 7:17 PM, Adrian Prantl wrote:
>>> 
>>>> 
>>>> On Apr 23, 2013, at 3:44 PM, Eric Christopher <echristo at gmail.com> wrote:
>>>> 
>>>>> On Tue, Apr 23, 2013 at 8:56 PM, Adrian Prantl <aprantl at apple.com> wrote:
>>>>>> Author: adrian
>>>>>> Date: Tue Apr 23 14:56:03 2013
>>>>>> New Revision: 180140
>>>>>> 
>>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=180140&view=rev
>>>>>> Log:
>>>>>> Make sure the instruction right after an inlined function has a
>>>>>> debug location. This solves a problem where range of an inlined
>>>>>> subroutine is emitted wrongly.
>>>>>> Patch by Manman Ren.
>>>>>> 
>>>>> 
>>>>> Manman has commit rights. Why is she not committing this?
>>>> I inherited the radar from her, she already had this patch, but it was depending on some other issue to be fixed first. So when that issue was fixed I went ahead and committed it, without taking credit for it, but with taking full responsibility for it :-)
>>> 
>>> Adrian,
>>> 
>>> Thanks for taking responsibility for it :)
>>> The problem was reported on a larger testing case and I came up with this small testing case to verify the patch.
>>> Can you check whether the patch has an impact on the actual testing case?
>>> I think I checked it before, but not so sure.
>> 
>> Yes it does, but Eric correctly pointed out that the current testcase doesn’t actually show any change in the range of the inlined_subroutine DIE. I’m currently running delta on the IR code of the original test and will commit a reduced example that actually tests for the inlined_subroutine range once that’s done.
>> 
> 
> Is the code itself sharable at the moment? (Even a .ii, doesn't have
> to be reduced) so I can see a bit what's going on?

The testcase is tiny, it’s the generated IR that’s huge:

#include <vector>
#include <algorithm>

int main() {
  int x = 4;
  std::vector<int> vec;
  std::reverse(vec.begin(), vec.end());
  return 0;
}

-- adrian



More information about the llvm-commits mailing list