[PATCH] D45576: [RFC] Allow target to handle STRICT floating-point nodes

Andy Kaylor via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 21 16:22:32 PDT 2018


andrew.w.kaylor added a comment.

The reason that I originally implemented this the way I did, mutating the strict nodes to their non-constrained equivalents, was that I thought it would require too much duplication in the .td files to implement all the pattern matching for the strict nodes. The original plan was to find some other way to communicate the "strict" state to the target after instruction selection, but I never found a way to do that.

What you've done here seems reasonable to me. Obviously it still involves a lot of updates to the td files, but your approach to making that manageable going forward seems plausible. I really don't have the expertise in instruction selection to judge that completely, but this looks like a promising direction.

I particularly like that you've introduced it as a way for targets to opt-in. I believe some targets are already modeling the FP status and control registers and may not need this. X86 isn't one of them, so I think we'll want to consider something like what you've done here.


Repository:
  rL LLVM

https://reviews.llvm.org/D45576





More information about the llvm-commits mailing list