[PATCH] D59648: [BasicAliasAnalysis] Fix computation for arrays > half of address space
Eugene Sharygin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 17 04:30:59 PDT 2019
eush marked 2 inline comments as done.
eush added inline comments.
================
Comment at: test/Analysis/BasicAA/cs-cs.ll:276
; CHECK: NoModRef: Ptr: i8* %q <-> call void @an_inaccessiblememonly_func()
-; CHECK: NoModRef: Ptr: i8* %p <-> call void @an_inaccessibleorargmemonly_func(i8* %q)
+; CHECK: Both ModRef: Ptr: i8* %p <-> call void @an_inaccessibleorargmemonly_func(i8* %q)
; CHECK: Both ModRef (MustAlias): Ptr: i8* %q <-> call void @an_inaccessibleorargmemonly_func(i8* %q)
----------------
hfinkel wrote:
> Why did this change?
>
> The change doesn't look wrong, but it's also unrelated to the half-the-address-space issue (AFAIKT, this test has 32-bit pointers), so it will be useful to understand what fixed this.
>
This change is caused by the fact that the wraparound semantics implemented in
this diff makes `%p` and `%q` MayAlias aliases of each other. The object
pointed to by `%q` has unknown size, and with wraparound it can very well span
until `%p`.
Previously, without wraparound, the object could only span until the end of
the address space.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59648/new/
https://reviews.llvm.org/D59648
More information about the llvm-commits
mailing list