From 1f13963ec14a5c664633f78856e70de1d40258cd Mon Sep 17 00:00:00 2001 From: River Riddle Date: Tue, 16 Mar 2021 16:11:01 -0700 Subject: [PATCH] [mlir][pdl] Cast the OperationPosition to Position to fix MSVC miscompile If we don't cast, MSVC picks an overload that hasn't been defined yet(not sure why) and miscompiles. --- mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp b/mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp index bcd32df..3061d46 100644 --- a/mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp +++ b/mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp @@ -94,7 +94,8 @@ static void getOperandTreePredicates(std::vector &predList, predList.emplace_back(resultPos, builder.getEqualTo(pos)); // Collect the predicates of the parent operation. - getTreePredicates(predList, op.parent(), builder, inputs, parentPos); + getTreePredicates(predList, op.parent(), builder, inputs, + (Position *)parentPos); }); } -- 2.7.4