search for: pldi17

Displaying 11 results from an estimated 11 matches for "pldi17".

2017 Jun 08
7
RFC: Killing undef and spreading poison
...understand the all of prior discussions we've had in this area (hint: we've discussed and explicitly decided to not implement the semantics you're suggesting). Of course, fresh ideas are always welcome but I suggest you start by first reading http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf and some of the mailing list discussions we've had in the past on this topic. Thanks! -- Sanjoy
2017 Jun 17
3
killing undef and spreading poison
...alue of w. Any value with the “poison” attribute is not a valid representative for any seemingly equivalent value. If GVN is actually doing this it is a bug in GVN. So this example doesn’t really show anything about branching. Peter Lawrence. [1. http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf <http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf> ] -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170616/07993e10/attachment.html>
2017 Jun 08
2
RFC: Killing undef and spreading poison
Sanjoy, in your blog post https://www.playingwithpointers.com/problem-with-undef.html <https://www.playingwithpointers.com/problem-with-undef.html> you describe a problem with LLVM “undef”, yet in your paper http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf <http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf> you do not suggest fixing this problem, even though in chpt. 9 you identify other compilers that do attempt to avoid it. It seems to me that since transforming a program with multiple uses of an “undef” variable into one with multi...
2018 Mar 19
2
What is the status of the "Killing Undef and Spreading Poison" RFC?
...the LLVM review website [3]. As far as I can see, there has been no public activity on that matter since mid-2017. What is the current status? Thanks, Benoit References: [1]: https://lists.llvm.org/pipermail/llvm-dev/2016-October/106182.html [2]: https://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf [3]: https://reviews.llvm.org/D29011 ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.
2017 Jun 19
3
killing undef and spreading poison
...gt;> seemingly equivalent value. If GVN is actually doing this it is a bug in >> GVN. >> >> So this example doesn’t really show anything about branching. >> >> >> Peter Lawrence. >> >> >> [1. http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf ] >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/m...
2017 May 23
4
[poison] is select-of-select to logic+select allowed?
...h picking a trade-off: either we disable some optimizations, or we introduce something like freeze to continue doing them. BTW, this table assumes that branch on poison is UB, otherwise optimizations like GVN are wrong (for more details see our paper: http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf). The column marked with ** is the one that Alive currently implements. Regarding SDAG: it has undef, and I believe there was some discussion regarding introducing poison there as well. I don’t recall if it was introduce already, but I believe there’s already nsw/nuw there. If that’s the ca...
2018 Mar 20
0
What is the status of the "Killing Undef and Spreading Poison" RFC?
...As far as I can see, there has been no public activity on that > matter since mid-2017. What is the current status? > > Thanks, Benoit > > References: > [1]: https://lists.llvm.org/pipermail/llvm-dev/2016-October/106182.html > [2]: https://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf > [3]: https://reviews.llvm.org/D29011 > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
2017 May 23
6
[poison] is select-of-select to logic+select allowed?
...h picking a trade-off: either we disable some optimizations, or we introduce something like freeze to continue doing them. BTW, this table assumes that branch on poison is UB, otherwise optimizations like GVN are wrong (for more details see our paper: http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf). The column marked with ** is the one that Alive currently implements. Regarding SDAG: it has undef, and I believe there was some discussion regarding introducing poison there as well. I don’t recall if it was introduce already, but I believe there’s already nsw/nuw there. If that’s the ca...
2017 Jun 07
2
RFC: Killing undef and spreading poison
Since most add/sub operations compiled from C have the nsw attribute, we cannot simply restrict movement of these instructions. Sure, we could drop nsw when moving these instructions, but there are still many other problems left. Please read more about the topic here: https://blog.regehr.org/archives/1496 For example, doing loop unswitching, followed by inline (just to illustrate that the
2017 May 22
5
[poison] is select-of-select to logic+select allowed?
Some InstCombine transforms for select-of-select were added here: https://reviews.llvm.org/rL228409 But Alive says this is more poisonous: Name: selsel %s1 = select i1 %cond1, i8 C1, i8 C2 %s2 = select i1 %cond2, i8 %s1, i8 C2 => %andcond = and i1 %cond1, %cond2 %s2 = select i1 %andcond, i8 C1, i8 C2 http://rise4fun.com/Alive/JT6 Are those transforms legal? -------------- next part
2017 Jun 28
2
The undef story
...ot;, so "poison" needs to be deleted, and "freeze" no longer needs to be considered. Peter Lawrence. References [1. llvm-dev, Dan Gohman, Tue Nov 29 15:21:58 PST 2011 ] [2. llvm-dev, Dan Gohman, Mon Dec 12 12:58:31 PST 2011 ] [3. http://www.cs.utah.edu/~regehr/papers/undef-pldi17.pdf ] [4. llvm-dev, Peter Lawrence, Thu Jun 15 10:27:40 PDT 2017 ] -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170628/b7f3636b/attachment.html>