torch-mlir/lib/Dialect/Torch/IR
Sambhav Jain 7acabafd84
Remove folder from `AtenStackOp` for single element list inputs (#2626)
`AtenStackOp` defines this folder for list operand containing single
element:
```
OpFoldResult AtenStackOp::fold(FoldAdaptor adaptor) {
  auto list = getOperand(0).getDefiningOp<PrimListConstructOp>();
  if (!list || !list->hasOneUse() || list.getElements().size() != 1)
    return nullptr;
  return list.getElements()[0];
}
```
However, unlike `AtenCatOp`, `AtenStackOp` cannot be folded away for
single element list operand because the result from a stack operation
contains an additional dimension (of size 1, like expand_shape).

This PR removes the `AtenStackOp::fold` method, and adds an e2e test for
single element list input case, which fails on current `main` as
follows:
```
Unexpected outcome summary: (linalg)                                                                                                                                                                   
                                                                                                                                                                                                       
****** Failed tests - 1 tests                                                                                                                                                                          
    FAIL - "TensorsStackSingleElementListModule_basic"                                                                                                                                                 
        @ trace item #0 - call to "forward"                                                                                                                                                            
        @ output of call to "forward"                                                                                                                                                                  
        ERROR: shape (torch.Size([10, 32])) is not equal to golden shape (torch.Size([10, 1, 32]))     
```
Thanks Chris Lalau Keraly for the bug report.
2023-12-11 10:52:50 -08: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 update llvm to d23516e9ad477527a9db4d06b1fa9566680ac67c (#1812) 2023-01-23 16:34:22 -08:00
TorchOps.cpp Remove folder from `AtenStackOp` for single element list inputs (#2626) 2023-12-11 10:52:50 -08:00
TorchOpsODSGenerated.cpp Reduce compilation time for TorchOps.cpp.inc 2022-03-21 14:42:26 -07:00
TorchTypes.cpp [MLIR][TORCH] Add support for unsigned integer types 2023-11-21 21:57:26 +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