[PATCH] D23237: [MSSA] Fix PR28880 by fixing stack popping behavior.

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 7 21:37:32 PDT 2016


I actually went a bit farther.
I generated something that covers pretty much all the domtree it sees as
well.

It ends up being about 390k testcases.

I've attached the generator (thoughts on whether it should go in utils/
welcome).

You can obviously generate more if you want (IE you could make the thing
list permutations of size 2), but this suffices to cover every actual case
that comes up for the stack (loops are not necessary since the domtree is
acylic anyway), and doing that generates billions and billions of testcases.

In any case, you can find interesting failures in all previous versions.
This patch ends up clean.

You can run by piping the output to opt -memoryssa

On Sun, Aug 7, 2016 at 1:02 PM, Daniel Berlin <dberlin at dberlin.org> wrote:

> So, ...
> I enumerated literally all of the possibilities of conflict/noconflict
> pushes and pops, and it's about .... 1000 testcases.
> I am going to try to see if i can't combine some without loss of
> functionality.
>
> (Note that all previous versions of the use optimizer fail some set of
> cases, with this patch it fails none of them :P)
>
>
>
> On Sat, Aug 6, 2016 at 4:13 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>> They are coming
>>
>>
>> On Sat, Aug 6, 2016, 4:00 PM Sebastian Pop <sebpop at gmail.com> wrote:
>>
>>> sebpop added a comment.
>>>
>>> You may want to add the testcases you were speaking about that break the
>>> logic of checking the stack size.
>>>
>>>
>>> https://reviews.llvm.org/D23237
>>>
>>>
>>>
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160807/34f4e2d8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: make-memoryssa-stacktests.py
Type: text/x-python-script
Size: 1645 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160807/34f4e2d8/attachment.bin>


More information about the llvm-commits mailing list