[llvm] r315044 - Roll forward r314928

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 6 17:26:14 PDT 2017


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/d77b1e34/attachment.html>


More information about the llvm-commits mailing list