[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