Page MenuHomePhabricator

[FunctionAttrs] Remove post order "no-recurse" attribute deduction
Needs ReviewPublic

Authored by jdoerfert on Apr 1 2019, 10:43 AM.

Details

Summary

The Attributor can deduce "no-recurse" function attributes (see D60074)
generally equivalent to the hereby removed functionality.

Test cases have been adjusted to run the attributor in addition to
functionattrs if they were not already.

This fixed the bug https://llvm.org/PR41336, where no-recurse was
derived for a function with linkonce_odr linkage (which be replaced
later and should therefore not participate in inter-procedural
reasoning).

Test case is available in:

`llvm/test/Transforms/FunctionAttrs/arg_returned.ll`