[PATCH] D143787: [X86] Add new pass `X86FixupISel` for fixing up machine-instruction selection.

Noah Goldstein via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 16 09:44:44 PST 2023


goldstein.w.n added inline comments.


================
Comment at: llvm/lib/Target/X86/X86FixupISel.cpp:12
+// attempting to get the "right" instruction can break patterns. This pass
+// is not meant to do any analysis. It is only meant to be make transformations
+// that are guaranteed to be doable.
----------------
RKSimon wrote:
> What do you mean by analysis? I'm hoping we can use scheduler models in the future to drive some transforms here.
I mean something like transforming `vpermq ymm` <-> `vshufd ymm` should not be put in this file, as its not always valid (requires analyzing the mask to see if no lane crosses and repeated / mask is only in pairs of 2). OTOH `vpermilps <-> vshufd` are always interchangable. I'll make the logic more clear.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D143787



More information about the llvm-commits mailing list