diff options
author | Florian Hahn <flo@fhahn.com> | 2022-03-16 10:24:33 +0000 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2022-03-16 10:24:33 +0000 |
commit | e5822ded562fd233ff7468d88da9e2c4f1a96c70 (patch) | |
tree | bf93f3ee944001270d2edc92dc02655212a8fbe5 /llvm/lib/CodeGen/ModuloSchedule.cpp | |
parent | 0aab344104034e6191114a74f0d9eb5129bf550d (diff) | |
download | llvm-e5822ded562fd233ff7468d88da9e2c4f1a96c70.zip llvm-e5822ded562fd233ff7468d88da9e2c4f1a96c70.tar.gz llvm-e5822ded562fd233ff7468d88da9e2c4f1a96c70.tar.bz2 |
[FunctionAttrs] Infer argmemonly .
This patch adds initial argmemonly inference, by checking the underlying
objects of locations returned by MemoryLocation.
I think this should cover most cases, except function calls to other
argmemonly functions.
I'm not sure if there's a reason why we don't infer those yet.
Additional argmemonly can improve codegen in some cases. It also makes
it easier to come up with a C reproducer for 7662d1687b09 (already fixed,
but I'm trying to see if C/C++ fuzzing could help to uncover similar
issues.)
Compile-time impact:
NewPM-O3: +0.01%
NewPM-ReleaseThinLTO: +0.03%
NewPM-ReleaseLTO+g: +0.05%
https://llvm-compile-time-tracker.com/compare.php?from=067c035012fc061ad6378458774ac2df117283c6&to=fe209d4aab5b593bd62d18c0876732ddcca1614d&stat=instructions
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D121415
Diffstat (limited to 'llvm/lib/CodeGen/ModuloSchedule.cpp')
0 files changed, 0 insertions, 0 deletions