[PATCH] D65375: [ValueTracking] Remove volatile check in isGuaranteedToTransferExecutionToSuccessor

Hideto Ueno via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 29 07:37:16 PDT 2019


uenoku marked 3 inline comments as done.
uenoku added inline comments.


================
Comment at: llvm/lib/Analysis/ValueTracking.cpp:4268
     return CS.onlyReadsMemory() || CS.onlyAccessesArgMemory() ||
            match(I, m_Intrinsic<Intrinsic::assume>()) ||
            match(I, m_Intrinsic<Intrinsic::sideeffect>()) ||
----------------
nikic wrote:
> Side note: These special-cased intrinsics should be synced now that `willreturn` exists. In particular `assume` can be removed from the list because it is already willreturn. `sideeffect` and `experimental.widenable.condition` should be marked as `willreturn` (they must be, otherwise this code would be incorrect) and then removed from here.
I agree. I'll fix it in another patch.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65375/new/

https://reviews.llvm.org/D65375





More information about the llvm-commits mailing list