[PATCH] D86490: [CSSPGO] IR instrinsic for pseudo-probe block instrumentation
Hongtao Yu via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 26 16:56:50 PDT 2020
hoy added inline comments.
================
Comment at: llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1986
+ if (CurI.mayHaveSideEffects() && !isa<StoreInst>(CurI) &&
+ !isa<PseudoProbeInst>(CurI))
return nullptr;
----------------
hoy wrote:
> wmi wrote:
> > Can we check CallBase::onlyAccessesInaccessibleMemory instead of checking PseudoProbeInst here?
> Good question. Checking against `PseudoProbeInst` is more than `onlyAccessesInaccessibleMemory`. The instruction identified here will be either converted to a `select` or deleted. I probably should move the `PseudoProbeInst` check into `BrBB->instructionsWithoutDebug()`.
On the second thought, it might not be a good idea to fuse the check into `instructionsWithoutDebug` since API is used in quite some places. We sometimes like a `PseudoProbeInst` treated like a debug intrinsic but sometimes not. It is specific to the transform we'd like to not block.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86490/new/
https://reviews.llvm.org/D86490
More information about the llvm-commits
mailing list