[PATCH] D71960: [Attributor] AAUndefinedBehavior: AAValueSimplify in memory accessing instructions.

Hideto Ueno via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 28 08:27:22 PST 2019


uenoku added a comment.

> There's one test case that is worrying: IPConstantProp/PR26044.ll. With this patch, a from undef becomes load from null and I don't see the reason.

I think this is no problem. It is because of on-demand creation. It is the first time to create `AAValueSimplify` to a pointer operand. The deduction is like this:

1. The assumption which claims "`for.cond1` is dead" is rejected because `AAIsDead` doesn't know there is UB.
2. `%e.2` is simplified to `null` because %e.2 can be `null` or `undef`.
3. `%e.2` is replaced with `null` in `manifest`

So once `AAIsDead` can get to interact with `AAUB`, the problem will be solved.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D71960





More information about the llvm-commits mailing list