================
@@ -490,7 +490,11 @@ static LogicalResult checkImplementationStatus(Operation 
&op) {
       .Case([&](omp::TargetOp op) {
         checkAllocate(op, result);
         checkBare(op, result);
-        checkInReduction(op, result);
+        // in_reduction(byref(...)) on target is not implemented yet. Other
+        // unsupported in_reduction shapes (cleanup region, two-argument
+        // initializer, missing combiner) and the device-side / offload-entry
+        // cases are diagnosed inline in convertOmpTarget.
+        checkInReductionByref(op, result);
----------------
skatrak wrote:

Nit: The convention here is to have a single lambda for each clause, call it 
for every op that has some not yet implemented edge case related to that 
clause, and then in the lambda potentially make different checks based on the 
operation itself.

I'm not sure when `checkInReductionByref` was introduced, but it should be 
`checkInReduction`, and base the byref-only check on the operation that called 
it.

https://github.com/llvm/llvm-project/pull/199967
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to