[PATCH] D41083: DAG: Tolerate non-MemSDNOdes for OPC_RecordMemRef

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 14 11:56:09 PST 2017


arsenm added a comment.

In https://reviews.llvm.org/D41083#955697, @hfinkel wrote:

> Do you have a test case? I don't understand from your description what's happening. Do you have a target intrinsic with an ID in the wrong range (i.e., not > FIRST_TARGET_MEMORY_OPCODE)?


As it is now, if you have a raw intrinsic (i.e. ISD::INTRINSIC_*) node, the memory operand is always dropped. https://reviews.llvm.org/D40978 allows preserving it by setting the property on the intrinsic, so OPC_RecordMemRef will actually be encountered. If you have an intrinsic marked as having a memory operand, but getTgtMemIntrinsic does not handle it, it won't be a MemSDNode. The other case is probably a table gen bug not understanding different memory properties when the same opcode is used, but I'm not sure how worth it is continuing to investigate that.


https://reviews.llvm.org/D41083





More information about the llvm-commits mailing list