[PATCH] D97453: [X86] Allow PTILEZEROV and PTILELOADDV to be rematerializable

Pengfei Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 27 05:10:38 PST 2021


pengfei added inline comments.


================
Comment at: llvm/lib/Target/X86/X86InstrInfo.cpp:1010
+  case X86::PTILEZEROV:
+  case X86::PTILELOADDV:
     return true;
----------------
LuoYuanke wrote:
> pengfei wrote:
> > LuoYuanke wrote:
> > > LuoYuanke wrote:
> > > > Sorry. I just noticed the ptileloaddv is also rematerialized. I'm not sure about it, because we need the stride (encoded as index)  information and we need also make sure the memory address is global variable. What do you think?
> > > We may need to make sure the memory is not modified before reload. Constant pool should be ok.
> > I did a research and found it has difficulties:
> > The PTILELOADDV doesn't have a MachineMemOperand like other load MIs, so we cannot analyze the memory through it.
> > I also checked the other load MIs' rematerializion, and found they only do it for RIP based (which AMX doesn't support) addressing and PIC. I guess these represent the handling of constant pool.
> > Finally, I think loading form constant pool is rare for AMX. So I think we cound just disable the rematerializion for ptileloaddv. What do you think?
> > 
> I agree to disable it first, and re-enable it when we have a safe approach.
Thanks. Done by rG42e025f9deab.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97453



More information about the llvm-commits mailing list