[PATCH] D29734: IR: Function summary extensions for whole-program devirtualization pass.
Teresa Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 10 14:24:30 PST 2017
tejohnson accepted this revision.
tejohnson added inline comments.
This revision is now accepted and ready to land.
================
Comment at: llvm/include/llvm/Bitcode/LLVMBitCodes.h:221
+ // The list of virtual calls made by this function using
+ // llvm.assume(llvm.type.test) intrinsics that do not have constant integer
+ // arguments.
----------------
Add the "all constant" to comments for records too.
================
Comment at: llvm/include/llvm/IR/ModuleSummaryIndex.h:256
+ struct VFuncId {
+ GlobalValue::GUID GUID;
+ uint64_t Offset;
----------------
pcc wrote:
> tejohnson wrote:
> > I wonder if GUID should be moved out of GlobalValue since we are now using it for types?
> Not sure -- it isn't clear where else it should go though. One possibility is ModuleSummaryIndex, but that will also require moving getGUID to avoid a circular dependency. Moving it should probably be a separate cleanup, I reckon.
I'm not sure either, and it doesn't have to be done in this patch, but it stood out to me since we are adding more non-GV uses of this functionality. The summary is not the right place, since getGUID and GUID are also used in the instrumentation based PGO functionality.
https://reviews.llvm.org/D29734
More information about the llvm-commits
mailing list