mirror of https://github.com/llvm/torch-mlir
09f502667b
In one of our downstreams, we encountered an internal assertion failure in an intermediate pass from `AtenTensorOp::fold` invocation: ``` external/llvm-project/llvm/include/llvm/Support/Casting.h:650: decltype(auto) llvm::dyn_cast(const From &) [To = mlir::torch::Torch::NonValueTensorType, From = mlir::Type]: Assertion `detail::isPresent(Val) && "dyn_cast on a non-existent value"' failed. ``` for this snippet in the IR: ``` %arg1: !torch.tensor {torch.type_bound = !torch.vtensor<[1,1,15360],f32>} ... %218 = torch.aten.size %arg1 : !torch.tensor -> !torch.list<int> %219 = torch.aten.tensor %218, %none, %none, %false : !torch.list<int>, !torch.none, !torch.none, !torch.bool -> !torch.tensor ``` Turns out this was [fixed](https://github.com/llvm/torch-mlir/pull/3189/files#diff-dc8ed165c207918e606490eee3984b1ad51d7034e6aac36fc046bf47f6f03f4fR3719) eventually (and we were on an old hash of torch-mlir). This PR submits just the lit test for test coverage on that specific change: ```c++ OpFoldResult AtenTensorOp::fold(FoldAdaptor adaptor) { auto resultTy = dyn_cast<ValueTensorType>(getType()); // lit test this if (!resultTy || !resultTy.hasSizes() || !resultTy.hasDtype()) return nullptr; ... ``` |
||
---|---|---|
.. | ||
GlobalizeObjectGraph | ||
adjust-calling-conventions.mlir | ||
canonicalize.mlir | ||
decompose-complex-ops-legal.mlir | ||
decompose-complex-ops.mlir | ||
drop-abstract-interp-calculations.mlir | ||
erase-module-initializer.mlir | ||
fuse-quantized-ops.mlir | ||
inline-global-slots-analysis.mlir | ||
inline-global-slots-transform.mlir | ||
invalid.mlir | ||
lower-to-backend-contract-error.mlir | ||
match-quantized-customs-ops.mlir | ||
maximize-value-semantics.mlir | ||
ops.mlir | ||
prepare-for-globalize-object-graph.mlir | ||
reduce-op-variants-error.mlir | ||
reduce-op-variants.mlir | ||
refine-public-return.mlir | ||
reify-dtype-calculations.mlir | ||
reify-shape-calculations.mlir | ||
scalarize-shapes.mlir | ||
simplify-dtype-calculations.mlir | ||
simplify-shape-calculations.mlir | ||
torch-function-to-torch-backend-pipeline.mlir | ||
torch-nary-canonicalize.mlir | ||
verify-backend-contract-error.mlir | ||
verify-backend-contract-unimplemented-op.mlir |