[PATCH] D22491: Added ThinLTO inlining statistics
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 27 16:33:47 PDT 2016
tejohnson added a comment.
Like the new handling for inserting the Nodes, looks much cleaner.
================
Comment at: include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h:63
@@ +62,3 @@
+ bool Visited = false;
+ /// Store name because the function pointer might be dead.
+ std::string FunctionName;
----------------
Instead, I like Easwaran's suggestion to make NodesMap a StringMap.
Then NonImportedCallers should be a vector of strings. Note that StringMap stores a copy of the key when you insert, so you could store the resulting StringRef (returned when the StringMap entry is inserted) in the NonImportedCallers vector instead of a std::string copy.
It is cleaner than using keys that are pointers to possibly deleted memory.
================
Comment at: include/llvm/Transforms/Utils/ImportedFunctionsInliningStatistics.h:95
@@ +94,3 @@
+ /// InlineGraphNode used since the node pointers are also saved in the
+ /// InlinedCallees vector. Ff it would store InlineGraphNode instead then the
+ /// address of the node would not be invariant.
----------------
s/Ff/If/
================
Comment at: lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp:61
@@ +60,3 @@
+ int32_t ImportedFunctions = 0;
+ // FIXME: We are not counting all the functions that were inlined because
+ // some of them could be removed after inlining.
----------------
Good catch. Call this from the ImportedFunctionsInliningStatistics constructor and save the results there instead.
https://reviews.llvm.org/D22491
More information about the llvm-commits
mailing list