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

Eric Christopher echristo at gmail.com
Fri Apr 26 16:13:21 PDT 2013


After some chatting in private and realizing how much the inliner/opt
passes hate all of us I think we'll keep the testcase as is so at
least we'll know if something goes wrong and not worry about it.

Think you could investigate that last branch without debug info when
you get a chance? Pretty sure it's not an issue, but want to be
positive.

Thanks!

-eric

On Wed, Apr 24, 2013 at 7:38 PM, Eric Christopher <echristo at gmail.com> wrote:
> What routine should I be looking at and compile options etc?
>
> -eric
>
> On Wed, Apr 24, 2013 at 7:38 PM, Adrian Prantl <aprantl at apple.com> wrote:
>>
>> 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