[llvm] [SelectionDAG] Virtualize isTargetStrictFPOpcode / isTargetMemoryOpcode (PR #119969)
Sergei Barannikov via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 25 22:57:25 PST 2024
================
@@ -688,22 +687,6 @@ END_TWO_BYTE_PACK()
/// \<target\>ISD namespace).
bool isTargetOpcode() const { return NodeType >= ISD::BUILTIN_OP_END; }
- /// Test if this node has a target-specific opcode that may raise
- /// FP exceptions (in the \<target\>ISD namespace and greater than
- /// FIRST_TARGET_STRICTFP_OPCODE). Note that all target memory
- /// opcode are currently automatically considered to possibly raise
- /// FP exceptions as well.
- bool isTargetStrictFPOpcode() const {
- return NodeType >= ISD::FIRST_TARGET_STRICTFP_OPCODE;
----------------
s-barannikov wrote:
> > Not all memory opcodes will be generated, because some targets do not provide a tablegen description for all memory nodes.
>
> This sounds more like a bug.
Depends how you look at it. It wasn't a bug before the proposed changes; targets were not required to describe all target-specific opcodes in *.td files.
> Your RFC sold not requiring targets to use this as a feature, but I'd consider it a defect.
Yes, otherwise it wouldn't be sold. This feature/defect allows gradual migration.
> It would be better if targets were required to generate this kind of information from tablegen
I guess we can do that once all in-tree targets have migrated. Probably need to give some time to downstream targets, too.
https://github.com/llvm/llvm-project/pull/119969
More information about the llvm-commits
mailing list