forked from OSchip/llvm-project
5f0e76dca6
As it turns out, modref queries are broken with CFLAA. Specifically, the data source we were using for determining modref behaviors explicitly ignores operations on non-pointer values. So, it wouldn't note e.g. storing an i32 to an i32* (or loading an i64 from an i64*). It also ignores external function calls, rather than acting conservatively for them. (N.B. These operations, where necessary, *are* tracked by CFLAA; we just use a different mechanism to do so. Said mechanism is relatively imprecise, so it's unlikely that we can provide reasonably good modref answers with it as implemented.) Patch by Jia Chen. Differential Revision: https://reviews.llvm.org/D22978 llvm-svn: 277366 |
||
---|---|---|
.. | ||
assign.ll | ||
assign2.ll | ||
attrs-below.ll | ||
attrs.ll | ||
basic-interproc.ll | ||
cycle.ll | ||
interproc-arg-deref-escape.ll | ||
interproc-arg-escape.ll | ||
interproc-ret-arg.ll | ||
interproc-ret-deref-arg-multilevel.ll | ||
interproc-ret-deref-arg.ll | ||
interproc-ret-escape.ll | ||
interproc-ret-ref-arg-multilevel.ll | ||
interproc-ret-ref-arg.ll | ||
interproc-ret-unknown.ll | ||
interproc-store-arg-multilevel.ll | ||
interproc-store-arg-unknown.ll | ||
interproc-store-arg.ll | ||
memalias.ll |