[PATCH] D60077: [Attributor] Deduce memory location function attributes
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 1 10:50:28 PDT 2019
jdoerfert created this revision.
jdoerfert added reviewers: homerdin, hfinkel, fedor.sergeev, sanjoy, spatel, nlopes, nicholas, reames.
Herald added a project: LLVM.
jdoerfert added a parent revision: D60076: [Attributor] Deduce memory behavior function attributes.
Deduce the memory location attributes, i.a., "inaccessiblememonly",
"argmemonly", and "inaccessible_or_argmemonly", for functions. This
also improves earlier memory behavior deductions, for example D59980 <https://reviews.llvm.org/D59980>, as
we can now identify and ignore accesses to local and constant memory.
Impact on the statistics (-stats) for LLVM-TS + Spec2006,
CHANGED: attributor NumAttributesManifested 87205 -> 88546 ( +1.538%)
CHANGED: attributor NumAttributesValidFixpoint 118598 -> 119936 ( +1.128%)
ADDED: attributor NumFnArgMemOnly n/a -> 5115
CHANGED: attributor NumFnReadNone 2930 -> 3086 ( +5.324%)
CHANGED: attributor NumFnReadOnly 4380 -> 4243 ( -3.128%)
CHANGED: attributor NumFnWriteOnly 1960 -> 1987 ( +1.378%)
CHANGED: functionattrs NumReadNone 165 -> 12 ( -92.727%)
CHANGED: functionattrs NumReadOnly 134 -> 120 ( -10.448%)
CHANGED: functionattrs NumWriteOnly 52 -> 25 ( -51.923%)
CHANGED: memdep NumCacheNonLocalPtr 7731531 -> 7837481 ( +1.370%)
Note: Some ofthe remaining readnone/readonly/writeonly functionattrs
deductions are a result of a bug, see: http://llvm.org/PR41328
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D60077
Files:
llvm/include/llvm/Transforms/IPO/Attributor.h
llvm/lib/Transforms/IPO/Attributor.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60077.193127.patch
Type: text/x-patch
Size: 13362 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190401/8c6e8be9/attachment.bin>
More information about the llvm-commits
mailing list