This is an archive of the discontinued LLVM Phabricator instance.

[Attributor] Deal more explicit with non-exact definitions
ClosedPublic

Authored by jdoerfert on Sep 3 2019, 10:43 AM.

Details

Summary

Before we tried to rule out non-exact definitions early but that lead to
on-demand attributes created for them anyway. As a consequence we needed
to look at the definition in the initialize of each attribute again.
This patch centralized this lookup and tightens the condition under
which we give up on non-exact definitions.

Diff Detail

Repository
rL LLVM

Event Timeline

jdoerfert created this revision.Sep 3 2019, 10:43 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 3 2019, 10:43 AM
uenoku added a comment.Sep 3 2019, 9:16 PM

LGTM

llvm/test/Transforms/FunctionAttrs/arg_returned.ll
817 ↗(On Diff #218489)

%c3 should be replaced too.

uenoku accepted this revision.Sep 3 2019, 9:19 PM
This revision is now accepted and ready to land.Sep 3 2019, 9:19 PM
jdoerfert marked an inline comment as done.Sep 4 2019, 9:14 AM
This revision was automatically updated to reflect the committed changes.