[PATCH] D71799: [Attributor] AAUndefinedBehavior: Check for branches on undef value.

Stefanos Baziotis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 24 04:42:32 PST 2019


baziotis added a comment.

In D71799#1795492 <https://reviews.llvm.org/D71799#1795492>, @uenoku wrote:

> In D71799#1795477 <https://reviews.llvm.org/D71799#1795477>, @baziotis wrote:
>
> > It seems to me that for constants or `undef`, this should be known. Looking at `initialize()` of `AAValueSimplifyFloating`, for constants and `undef`, it indicates a //pessimistic// fixpoint and I don't understand why.
>
>
> At first concept of `AAValueSimplify`, I set the semantics of optimistic state as that the value is **simplified actually**. So if the state is pessimistic, `getAssumedSimplifiedValue` returns the original associated value.
>
>   (https://reviews.llvm.org/D66967#1659664)
>   
>
> Base on that, if the associated value is constant or undef, I fixed the state as pessimistic because we can't simplify the value more.


Aha, ok I got the idea.

> But now it seems it's more useful to reach an optimistic fixpoint when the value is constant or undef, so I can agree to change it(D71852 <https://reviews.llvm.org/D71852>).

Great, thank you for the quick action! After reading the above again, maybe then we want to not break the conceptual idea of `AAValueSimplify`. Actually let me comment on the other revision.


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

https://reviews.llvm.org/D71799





More information about the llvm-commits mailing list