Revert "Revert r275027 - Let FuncAttrs infer the 'returned' argument attribute"
authorHal Finkel <hfinkel@anl.gov>
Sat, 16 Jul 2016 07:21:28 +0000 (07:21 +0000)
committerHal Finkel <hfinkel@anl.gov>
Sat, 16 Jul 2016 07:21:28 +0000 (07:21 +0000)
commit660096b26045e2be00d5a7eb8df15ae3d45cc5c5
tree6d60dc9e537fa1ad5b24d7209a9d7b7104317734
parent04b5330ccdf93e3d051c7abe67303dd2dc973303
Revert "Revert r275027 - Let FuncAttrs infer the 'returned' argument attribute"

This reverts commit r275042; the initial commit triggered self-hosting failures
on ARM/AArch64. James Molloy identified the problematic backend code, which has
been disabled in r275677. Trying again...

Original commit message:

Let FuncAttrs infer the 'returned' argument attribute

A function can have one argument with the 'returned' attribute, indicating that
the associated argument is always the return value of the function. Add
FuncAttrs inference logic.

llvm-svn: 275678
llvm/lib/Transforms/IPO/FunctionAttrs.cpp
llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
llvm/test/Transforms/FunctionAttrs/nocapture.ll
llvm/test/Transforms/FunctionAttrs/readattrs.ll