[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