`isOpOperandCanBeDroppedAfterFusedLinalgs` crashes when `indexingMaps` is empty. This can occur when `producer` only has DPS init operands and `consumer ` only has a single DPS input operand (all operands are ignored and nothing gets added to `indexingMaps`). This is because `concatAffineMaps` wasn't handling the maps being empty properly. Similar to `canOpOperandsBeDroppedImpl`, I added an early return when the maps are of size zero. Additionally, `concatAffineMaps`'s declaration comment says it returns an empty map when `maps` is empty but it has no way to get the `MLIRContext` needed to construct the empty affine map when the array is empty. So, I changed this to take the context. __NOTE: concatAffineMaps now takes an MLIRContext to be able to construct an empty map in the case where `maps` is empty.__ --------- Signed-off-by: Ian Wood <ianwood2024@u.northwestern.edu> Co-authored-by: Quinn Dawkins <quinn.dawkins@gmail.com>
45 KiB
45 KiB