[PATCH] D71974: [Attributor][WIP] Connect AAIsDead with AAUndefinedBehavior

Hideto Ueno via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 30 11:47:18 PST 2019


uenoku added a comment.

In D71974#1799138 <https://reviews.llvm.org/D71974#1799138>, @jdoerfert wrote:

> In D71974#1798878 <https://reviews.llvm.org/D71974#1798878>, @baziotis wrote:
>
> > In D71974#1798289 <https://reviews.llvm.org/D71974#1798289>, @jdoerfert wrote:
> >
> > > Similarly, in AAUB we should go through the explorer context when we add something to the knownUB set. So if `I` is knownUB, make all instructions in the must-be-executed-context of `I` knownUB, thus insert all into the set. In AAIsDead we can then simply query `isKnownUB` and that will only need to look into the set (as before).
> >
> >
> > If I understand it correctly, this will mark as UB all the instructions from the UB instruction //and forwards// (i.e. the must be executed context goes to the successors). That will probably complicate things as to see if a BB is dead, with the current code, it makes sense to see its first instruction right?
>
>
> The must-be-executed-context is not defined to only contain "successors". It might right now but that will change eventually.
>  I think we should stick to known information right now.
>
> I still believe this is more complex and less general than the approach I tried to describe. Maybe the following is a good compromise in the direction I think we should going but working already right now:
>
> 1. Since the must-be-executed-context is not collecting predecessors yet, we need to change that. The code actually exists already, it just needs to be separated from some other improvements and put for review again. I'll look into that (or @uenoku you can if you want to).


I'd like to work on it.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71974/new/

https://reviews.llvm.org/D71974





More information about the llvm-commits mailing list