[PATCH] D127254: [SelectionDAGISel] Chain any mayRaiseFPException instruction created from a strict FP node

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 9 21:20:39 PDT 2022


craig.topper added a comment.

> How many PowerPC patterns need the CSE code?  Would it make sense to get rid of the CSE code, and just reimplement the relevant patterns using custom lowering, or something like that?

It's basically anything that uses CRNotPat in PPCInstrInfo.td. This is because `crnot` is defined as

  def crnot : OutPatFrag<(ops node:$in),
                        (CRNOR $in, $in)>;

which replicates the $in. I think this is quite a few patterns to custom select.

I tried replacing `CRNOR $in, $in` with `CRXOR $in, (CRSET)` and rely on PPCDAGToDAGISel::PeepholeCROps to turn it into a CRNOR. This works except at -O0.

Another option could be to add a CRNOT CodeGenOnly unary opcode.

@nemanjai what do you think?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127254



More information about the llvm-commits mailing list