evgeny777 added a comment. > This is an enabler for upcoming enhancements to indirect call promotion, for > example streamlined promotion guard sequences that compare against vtable > address instead of the target function
Can you please describe the whole approach in more detail? At the moment ICP is capable to do (a sort of) devirtualization is replacing indirect vtbl call with sequence of function address comparisons and direct calls. Are you going to speedup this by means of comparing vtable pointers instead of function pointers (thus eliminating a single load per each vtbl call) or there is also something else in mind? If that's true, what's the next step? Make ICP pass analyze type test intrinsics? ================ Comment at: llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp:1660 + cast<MetadataAsValue>(CI->getArgOperand(1))->getMetadata(); // If we found any, add them to CallSlots. if (!Assumes.empty()) { ---------------- This change seems to be unrelated Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73242/new/ https://reviews.llvm.org/D73242 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits