blob: 792272796a2b5ca512a93d0b37b4610a20b54d30 [file] [log] [blame] [edit]
// RUN: mlir-opt %s -sparse-tensor-codegen -verify-diagnostics
// NOTE: This test has valid IR, however we are testing whether
// the legalization failure occurs when important passes are
// missing. Notably, using --lower-sparse-ops-to-foreach
// followed by --lower-sparse-foreach-to-scf prior to
// sparse codegen will convert the dense tensor correctly.
#SparseVector = #sparse_tensor.encoding<{
map = (d0) -> (d0 : compressed)
}>
module {
func.func @main() -> tensor<8xf32, #SparseVector> {
%dense = arith.constant dense<[1.0, 0.0, 0.0, 2.0, 0.0, 3.0, 0.0, 0.0]>
: tensor<8xf32>
// expected-error@+1 {{failed to legalize operation 'sparse_tensor.convert' that was explicitly marked illegal}}
%sparse = sparse_tensor.convert %dense
: tensor<8xf32> to tensor<8xf32, #SparseVector>
return %sparse : tensor<8xf32, #SparseVector>
}
}
// -----