[PATCH] D71960: [Attributor] AAUndefinedBehavior: AAValueSimplify in memory accessing instructions.
Hideto Ueno via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 30 08:04:02 PST 2019
uenoku added inline comments.
================
Comment at: llvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll:12
-; CHECK-NEXT: [[A_0:%.*]] = load i32, i32* null
-; CHECK-NEXT: br i1 false, label [[T:%.*]], label [[F:%.*]]
; CHECK: T:
----------------
baziotis wrote:
> jdoerfert wrote:
> > We should also repair this test. pass a valid pointer into `callee`, e.g., an argument.
> Ok,yes. Btw, the `nonnull` and `dereferenceable` attributes for `%A` are wrong right? I guess these are the kind of checks for violations you have proposed that AAUB could do.
> Btw, the nonnull and dereferenceable attributes for %A are wrong right?
I think to mark nonnull and dereferenceable attributes for %A itself is not wrong.
(but anyway %A will be deleted with D68765 or additional patches)
I mean **passing** null to this function is UB too. So `AAUB` can prove
```
%X = call i32 @callee(i1 false, i32* null)
```
is UB.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71960/new/
https://reviews.llvm.org/D71960
More information about the llvm-commits
mailing list