[PATCH] D92449: [X86] Sink x86_amx load in AMX type lowering.
LuoYuanke via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 2 21:42:45 PST 2020
LuoYuanke added inline comments.
================
Comment at: llvm/lib/Target/X86/X86LowerAMXType.cpp:100
+ make_range(Start->getIterator(), End->getIterator())) {
+ if (Inst.mayThrow())
+ return &Inst;
----------------
LuoYuanke wrote:
> craig.topper wrote:
> > craig.topper wrote:
> > > Does this prevent sinking across a call that may change the memory being loaded?
> > Or atomics, or anything with side effects.
> Thank you for review. Yes. I want to prevent all the scenario that may change the memory being loaded. I'll check how many scenario we need to prevent from sinking.
@craig.topper , I do some study, but I still don't understand why load can't sink across atomic instruction or side effect instruction. I notice in MergedLoadStoreMotion::isStoreSinkBarrierInRange(), it only check myThrow() and alias.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92449/new/
https://reviews.llvm.org/D92449
More information about the llvm-commits
mailing list