torch-mlir/lib/Dialect/Torch/IR
Vinayak Dev 67732883fa
[torch] Fix unsqueezed output shape in canonicalization of AtenUnflattenIntOp (#3730)
Fixes https://github.com/iree-org/iree/issues/18562.

During canonicalization pass on `AtenUnflattenIntOp`, if the second dim
was statically equal to one, we would create an `AtenAddIntOp` to add
one to the dimension obtained from `op.getDim()`. This, when passed into
`Torch::unsqueezeTensor()`, would make it get interpreted as
non-constant, which would lead to MLIR failing an assertion when
`UnsqueezeOp` would later get lowered into `ExpandShapeOp`, as the
output of the `UnsqueezeOp` would consist of only dynamic dims.

This patch fixes this behavior, by extracting the integer value from the
dim if it was constant, and then emitting a `ConstantIntOp` from
(dim+1). This creates an output with static shape.
2024-09-24 11:45:18 -05:00
..
CMakeLists.txt Re-organize project structure to separate PyTorch dependencies from core project. (#2542) 2023-11-02 19:45:55 -07:00
TorchDialect.cpp Fix deprecated uses of cast/dyn_cast/dyn_cast_or_null/isa (#3243) 2024-04-27 14:00:56 -07:00
TorchOps.cpp [torch] Fix unsqueezed output shape in canonicalization of AtenUnflattenIntOp (#3730) 2024-09-24 11:45:18 -05:00
TorchOpsODSGenerated.cpp Reduce compilation time for TorchOps.cpp.inc 2022-03-21 14:42:26 -07:00
TorchTypes.cpp [ONNX] add int16 quantization support (#3446) 2024-06-12 10:37:22 +05:30
UtilsForODSGenerated.cpp llvm: bump tag to e1318078 (#781) 2022-04-26 12:27:51 -07:00
UtilsForODSGenerated.h Reduce compilation time for TorchOps.cpp.inc 2022-03-21 14:42:26 -07:00