[Attributor] Teach AANoCapture to use information in-flight more aggressively
authorJohannes Doerfert <jdoerfert@anl.gov>
Mon, 21 Oct 2019 00:48:42 +0000 (00:48 +0000)
committerJohannes Doerfert <jdoerfert@anl.gov>
Mon, 21 Oct 2019 00:48:42 +0000 (00:48 +0000)
commit3839b57f7306bdca794bd033f36bff02f68cf0f0
tree66bbf9f7e9a11a3d12a958ec314a4cf5d6836287
parente78414622ddbc4f696d1d16ef8db918f732a0a88
[Attributor] Teach AANoCapture to use information in-flight more aggressively

AAReturnedValues, AAMemoryBehavior, and AANoUnwind, can provide
information that helps during the tracking or even justifies no-capture.
We now use this information and enable no-capture in some test cases
designed a long while a ago for these cases.

llvm-svn: 375382
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
llvm/test/Transforms/FunctionAttrs/arg_returned.ll
llvm/test/Transforms/FunctionAttrs/nocapture.ll
llvm/test/Transforms/FunctionAttrs/nonnull.ll
llvm/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll