[llvm] [RFC] TableGen-erate SDNode descriptions (PR #119709)

Sergei Barannikov via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 12 13:03:57 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;
-  }
-
-  /// Test if this node has a target-specific
-  /// memory-referencing opcode (in the \<target\>ISD namespace and
-  /// greater than FIRST_TARGET_MEMORY_OPCODE).
-  bool isTargetMemoryOpcode() const {
----------------
s-barannikov wrote:

I ran CodeGen tests with the memory opcode check disabled and there was one failure in
`X86/fp-intrinsics-flags.ll`. The following diff resolves it:

![image](https://github.com/user-attachments/assets/c72af02c-a921-458a-8a9d-d05f3cf8e14c)

There was a discussion in https://reviews.llvm.org/D72466 that can be related to this. Can you confirm that this is a safe change? If so, then quoting @uweigand from https://reviews.llvm.org/D71841 I assume the check for memory opcode can be dropped:

> Note that there a bit of a quirk in identifying target nodes that are both memory nodes and strict FP nodes. To simplify the logic, right now all target memory nodes are automatically also considered strict FP nodes -- this could be fixed by adding one more range.


https://github.com/llvm/llvm-project/pull/119709


More information about the llvm-commits mailing list