[PATCH] D129003: [WPD] Filter out intrinsics inserted from whole-program-vtables
David Li via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 6 09:36:11 PDT 2022
davidxl added a comment.
In D129003#3625953 <https://reviews.llvm.org/D129003#3625953>, @nikic wrote:
> This should be split into a patch for CallSiteSplitting and one for Loads. For CallSiteSplitting, you'll probably want to implement ephemeral value handling along the lines of https://github.com/llvm/llvm-project/blob/main/llvm/lib/Transforms/Utils/SimplifyCFG.cpp#L2941. For Loads, we'd want something along the lines of D101553 <https://reviews.llvm.org/D101553>.
You may want to spell out the interface changes you think is right more clearly :)
================
Comment at: llvm/lib/Analysis/Loads.cpp:619
ScanBB->rend())) {
- if (Inst.isDebugOrPseudoInst())
+ if (Inst.isDebugOrPseudoInst() || Inst.isWholeProgramVTIntrinsic())
continue;
----------------
aeubanks wrote:
> davidxl wrote:
> > Add a wrapper interface 'isNopInst()' instead?
> >
> > These instructions should not be counted in inline size estimation either.
> the assume and type test should be already handled in `CallAnalyzer::analyzeBlock` by being ephemeral values (analyzed by AssumptionCache/`CodeMetrics::collectEphemeralValues`), but it'd be good to double check
It is probably better to unify the interface that does this though (an old comment -- forgot to click the submit button).
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129003/new/
https://reviews.llvm.org/D129003
More information about the llvm-commits
mailing list