### Description This PR builds on #99872. It implements a minimal version of function body vector unrolling to convert vector types into 1D and with a size supported by SPIR-V (2, 3 or 4 depending on the original dimension). The ops that are currently supported include those with elementwise traits (e.g. `arith.addi`), `vector.reduction` and `vector.transpose`. This PR also includes new LIT tests that only check for vector unrolling. ### Future Plans - Support more ops --------- Co-authored-by: Jakub Kuderski <kubakuderski@gmail.com>
10 lines
315 B
MLIR
10 lines
315 B
MLIR
// RUN: mlir-opt -convert-to-spirv="run-signature-conversion=false run-vector-unrolling=false" -split-input-file %s | FileCheck %s
|
|
|
|
// CHECK-LABEL: @ub
|
|
// CHECK: %[[UNDEF:.*]] = spirv.Undef : i32
|
|
// CHECK: spirv.ReturnValue %[[UNDEF]] : i32
|
|
func.func @ub() -> index {
|
|
%0 = ub.poison : index
|
|
return %0 : index
|
|
}
|