[PATCH] D157458: [X86] Run X86FastPreTileConfigPass only with FastISel.

Evgenii Kudriashov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 30 09:38:50 PDT 2023


e-kud marked 7 inline comments as done.
e-kud added a comment.

> Change the comment to say that only alive registers are guaranteed to have a regclass.

@qcolombet I've added a part about alive registers. It's unclear to me, should we drop a part about 2 conditions or keep it?



================
Comment at: llvm/lib/Target/X86/X86FastPreTileConfig.cpp:672
+    const TargetRegisterClass *RC = MRI->getRegClassOrNull(VirtReg);
+    if (RC && RC->getID() == X86::TILERegClassID) {
       HasVirtTileReg = true;
----------------
qcolombet wrote:
> I think the proper fix here would be:
> ```
>  if (!MRI->reg_empty(VirtReg) && // <-- only process alive registers
>      MRI->getRegClass(VirtReg)->getID() == X86::TILERegClassID) {
> ```
@qcolombet thank you! This fix is really better than just skipping registers. However since X86FastPreTileConfig is intended for FastISel only. I've decided to continue this way.


================
Comment at: llvm/lib/Target/X86/X86TargetMachine.cpp:538
+  else
+    addPass(createX86PreTileConfigPass());
 }
----------------
pengfei wrote:
> I'm not sure if this pass works for GISel or not, let see if there's problem in the future.
Yes. I have the same thoughts.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157458



More information about the llvm-commits mailing list