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

Stefanos Baziotis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 26 09:47:39 PST 2019


baziotis added a comment.

> I think the problem here is that you are calling changeToUnrechable in manifest. This might cause unpredictable errors.

Thanks, I hadn't seen how `manifest()` fits into the big picture.

> So you should cache instructions to be changed to unreachable and call changeToUnrechable after manifest(see below comment).
>  I tested this way locally and the error has been removed.
>  I create a patch(D71910 <https://reviews.llvm.org/D71910>)  for this problem then with that patch, you can use like `A.changeToUnreachableAfterManifest(I)`.

Much appreciated, thank you. I hadn't noticed and I wrote similar code thinking I was doing something wrong because I had to change parts outside `AAUndefinedBehavior` (because all the similar code changes //uses// not instructions).
I'll wait for it to be committed. Now the yesterday's code that uses `AAValueSimplify` on the memory accessing instructions should work.


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

https://reviews.llvm.org/D71799





More information about the llvm-commits mailing list