[llvm] r315044 - Roll forward r314928

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 6 17:57:27 PDT 2017


No, but next week maybe I can try bisecting the file with #pragma clang
optnone.

On Fri, Oct 6, 2017 at 5:26 PM, Xinliang David Li <davidxl at google.com>
wrote:

> Do you know the function name that is affected?
>
> David
>
> On Fri, Oct 6, 2017 at 5:14 PM, Reid Kleckner <rnk at google.com> wrote:
>
>> Here is a zip file with 3 files: before.ll, after.ll, and
>> passes-disabled.ll.
>> https://drive.google.com/open?id=0B5-KodWdXF4YLVA5UUFkWnBvRWM
>>
>> Hopefully `opt -O2 passes-disabled.ll` shows the interesting transform.
>>
>> On Fri, Oct 6, 2017 at 5:06 PM, Xinliang David Li <davidxl at google.com>
>> wrote:
>>
>>> that will be great.   InstCombine is iterative, so it usually creates
>>> huge text diff. To minimize the diff, the DEBUG_COUNTER  (which is used by
>>> instcombine) can be used to pin-point one combining that triggers the
>>> mis-behavior.
>>>
>>> David
>>>
>>> On Fri, Oct 6, 2017 at 5:00 PM, Reid Kleckner <rnk at google.com> wrote:
>>>
>>>> It's a normal release build. I'm pretty sure I know which TU is
>>>> miscompiled (SemaExpr.cpp), so I'll get the textual IR before and after
>>>> this change. Hopefully it'll be obvious that they aren't equivalent.
>>>>
>>>> On Fri, Oct 6, 2017 at 4:23 PM, Xinliang David Li <davidxl at google.com>
>>>> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Fri, Oct 6, 2017 at 4:08 PM, Reid Kleckner <rnk at google.com> wrote:
>>>>>
>>>>>> On Fri, Oct 6, 2017 at 2:50 PM, Xinliang David Li <davidxl at google.com
>>>>>> > wrote:
>>>>>>
>>>>>>> On Fri, Oct 6, 2017 at 2:20 PM, Reid Kleckner <rnk at google.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> This appears to have caused a bootstrap failure on Windows:
>>>>>>>> http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/6884
>>>>>>>> http://lab.llvm.org:8011/builders/clang-x86-windows-msvc2015
>>>>>>>> /builds/7611
>>>>>>>>
>>>>>>>> I am going to revert and try to reproduce. It looks like clang ends
>>>>>>>> up emitting an error on valid code.
>>>>>>>>
>>>>>>>
>>>>>>> Please help with the reproducible -- it will be hard for me to get a
>>>>>>> repro on windows.
>>>>>>>
>>>>>>
>>>>>> Can you build clang with your patch and try to compile this code?
>>>>>>
>>>>>> char *f(char *p, int i) {
>>>>>>   return p + i;
>>>>>> }
>>>>>>
>>>>>> If clang says:
>>>>>> t.c:2:12: error: invalid operands to binary expression ('char *' and
>>>>>> 'int')
>>>>>>   return p + i;
>>>>>>          ~ ^ ~
>>>>>> 1 error generated.
>>>>>>
>>>>>> Then you have the miscompile locally and it doesn't require Windows.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> How is the self build compiler built? I have one built with
>>>>> RelWithDebInfo, and that compiler compiles this case fine without an error.
>>>>>
>>>>> David
>>>>>
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171006/ba5a4e12/attachment.html>


More information about the llvm-commits mailing list