This is an archive of the discontinued LLVM Phabricator instance.

[Attributor] Deduce memory behavior argument attributes
AbandonedPublic

Authored by jdoerfert on Mar 28 2019, 11:35 PM.

Details

Summary

Deduce the memory behavior, aka "read-none", "read-only", or
"write-only", for function arguments.

Impact on the statistics (-stats) for LLVM-TS + Spec2006, totaling ~14% more readnone arguments and finally writeonly arguments.

CHANGED: attributor                   NumAttributesManifested                50306 ->      77683 (   +54.421%)                                                                                 
CHANGED: attributor                   NumAttributesValidFixpoint             81666 ->     109073 (   +33.560%)                                                                                 
  ADDED: attributor                   NumFnArgumentReadNone                    n/a ->       5458                                                                                               
  ADDED: attributor                   NumFnArgumentReadOnly                    n/a ->      16532                                                                                               
  ADDED: attributor                   NumFnArgumentWriteOnly                   n/a ->       5387                                                                                               
CHANGED: functionattrs                NumReadNoneArg                          4784 ->        216 (   -95.485%)                                                                                 
CHANGED: functionattrs                NumReadOnlyArg                         17449 ->       1072 (   -93.856%)

Note: Remaining readnone/readonly will drop further with future memory behavior deduction patches. Also, some are a result of a bug, see: http://llvm.org/PR41328

Event Timeline

jdoerfert created this revision.Mar 28 2019, 11:35 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptMar 28 2019, 11:35 PM
jdoerfert updated this revision to Diff 192961.Mar 29 2019, 9:38 PM

Minor update

jdoerfert edited the summary of this revision. (Show Details)Apr 1 2019, 8:32 AM
jdoerfert updated this revision to Diff 193107.Apr 1 2019, 9:34 AM

Minor adjustments wrt later patches

sanjoy removed a reviewer: sanjoy.Apr 1 2019, 11:06 AM
jdoerfert abandoned this revision.Sep 9 2019, 8:09 PM

Obsolete, D67384.