This is an archive of the discontinued LLVM Phabricator instance.

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

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`

Event Timeline

jdoerfert created this revision.Apr 1 2019, 10:43 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 1 2019, 10:43 AM
sanjoy removed a reviewer: sanjoy.Apr 1 2019, 11:06 AM
jdoerfert updated this revision to Diff 203164.Jun 5 2019, 8:22 AM

Update tests

reames requested changes to this revision.Mar 25 2020, 11:16 AM

Please post for review once attributor is actually enabled by default. Removing existing code before that point is inappropriate.

This revision now requires changes to proceed.Mar 25 2020, 11:16 AM