This is an archive of the discontinued LLVM Phabricator instance.

[funcattrs] Infer access attributes for vararg arguments
ClosedPublic

Authored by reames on Dec 17 2021, 12:06 PM.

Details

Summary

This change allows us to infer access attributes (readnone, readonly) on arguments passed to vararg functions. Since there isn't a formal argument corresponding to the parameter, they'll never be considered part of the speculative SCC, but they can still benefit from attributes on the call site or the callee function.

The main motivation here is just to simplify the code, and remove some special casing. Previously, an indirect vararg call could return more precise results than an direct vararg call which is just weird.

Depends on: D115961

Diff Detail

Event Timeline

reames created this revision.Dec 17 2021, 12:06 PM
reames requested review of this revision.Dec 17 2021, 12:06 PM
Herald added a project: Restricted Project. · View Herald TranscriptDec 17 2021, 12:06 PM
This revision is now accepted and ready to land.Dec 17 2021, 12:58 PM
This revision was landed with ongoing or failed builds.Dec 21 2021, 9:34 AM
This revision was automatically updated to reflect the committed changes.