forked from OSchip/llvm-project
e5822ded56
This patch adds initial argmemonly inference, by checking the underlying
objects of locations returned by MemoryLocation.
I think this should cover most cases, except function calls to other
argmemonly functions.
I'm not sure if there's a reason why we don't infer those yet.
Additional argmemonly can improve codegen in some cases. It also makes
it easier to come up with a C reproducer for
|
||
---|---|---|
.. | ||
2008-09-03-Mutual.ll | ||
2008-09-03-ReadNone.ll | ||
2008-09-03-ReadOnly.ll | ||
2008-09-13-VolatileRead.ll | ||
2008-12-29-Constant.ll | ||
2009-01-02-LocalStores.ll | ||
2010-10-30-volatile.ll | ||
arg_returned.ll | ||
argmemonly.ll | ||
assume.ll | ||
atomic.ll | ||
comdat-ipo.ll | ||
convergent.ll | ||
incompatible_fn_attrs.ll | ||
int_sideeffect.ll | ||
invalidate.ll | ||
naked_functions.ll | ||
nocapture.ll | ||
nofree-attributor.ll | ||
nofree.ll | ||
nonnull-global.ll | ||
nonnull.ll | ||
norecurse.ll | ||
noreturn.ll | ||
nosync.ll | ||
nounwind.ll | ||
operand-bundles-scc.ll | ||
optnone-simple.ll | ||
optnone.ll | ||
out-of-bounds-iterator-bug.ll | ||
read-write-scc.ll | ||
readattrs.ll | ||
readnone.ll | ||
returned.ll | ||
stats.ll | ||
willreturn-callsites.ll | ||
willreturn.ll | ||
writeonly.ll |