The pattern recognition for MatMul is restrictive.
The number of "disjuncts" in the isl_map containing constraint information was previously required to be 1 (as per isl_coalesce - which should ideally produce a domain map with a single disjunct, but does not under some circumstances).
This was changed and made more flexible.
Could we just drop the constraints not involving the output dimensions:
auto *NewAccMap = isl_map_drop_constraints_not_involving_dims(
and investigate the new map, using the old code?
if (NewAccMap.foreach_basic_map(Lambda) != isl::stat::ok || DimInPos[0] < 0 ||