[PATCH] D62687: [Attributor] Deduce "nofree" function attribute
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 30 09:27:19 PDT 2019
lebedev.ri added a comment.
Are langref changes missing?
How do these attributes get documented there?
================
Comment at: llvm/include/llvm/IR/Attributes.td:205
+/// No Free Call
+/// This is an experimental attribute.
----------------
Can this please be more explanatory?
I can read this as "`free()` isn't being called", "all calls here are non-free (as in non-cheap)" etc
================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:186
+ if (Attr.isStringAttribute()) {
+ auto StringAttr = Attr.getKindAsString();
+ if (StringAttr == "nofree") {
----------------
StringRef
================
Comment at: llvm/lib/Transforms/IPO/Attributor.cpp:1089
+ AM.getResult<ModuleAnalysisManagerCGSCCProxy>(C, CG).getManager();
+ assert(C.size() > 0 && "Cannot handle an empty SCC!");
+ Module &M = *C.begin()->getFunction().getParent();
----------------
Hm, there is no .empty() ?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62687/new/
https://reviews.llvm.org/D62687
More information about the llvm-commits
mailing list