[llvm] r315044 - Roll forward r314928

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


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


More information about the llvm-commits mailing list