[llvm-dev] A bug related with undef value when bootstrapMemorySSA.cpp
Nuno Lopes via llvm-dev
llvm-dev at lists.llvm.org
Mon Jul 17 15:22:25 PDT 2017
>> On Mon, Jul 17, 2017 at 11:18 AM, Sanjoy Das via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>> Hi,
>>
>> On Mon, Jul 17, 2017 at 10:32 AM, Xinliang David Li <davidxl at google.com>
>> wrote:
>>> The issue blocks another optimization patch and Wei has spent huge
>>> amount of
>>> effort isolating the the bootstrap failure to this same problem. I agree
>>> with Wei that other developers may also get hit by the same issue and
>>> the
>>> cost of leaving this issue open for long can be very high to the
>>> community.
>>
>> I can't speak for others, but I am fine with adding a workaround for
>> this. However, I suspect isGuaranteedNotToBeUndefOrPoison in
>> LoopUnswitch may regress other benchmarks.
>
> Any other thoughts on a more minimal fix?
> Otherwise, it sounds like we can only try to find the fix that does the
> least damage.
> We can't just leave it broken given it's triggering even in llvm
> bootstraps now :(
Well, I don't think there's an easy fix for this..
The only suggestion I can help to improve isGuaranteedNotToBeUndefOrPoison()
is to tweak the pass manager to say if all inter-procedural stuff is done
such that this function can consider all arguments and global as
non-poisonous. That probably will improve the precision significantly.
I can't think of any easy hack otherwise.
Nuno
More information about the llvm-dev
mailing list