mirror of https://github.com/llvm/torch-mlir
784156a998
This finishes removing the dependence on the basicpy dialect! Changes: - Add `!torch.bool` type and replace use of `!basicpy.BoolType` in Torch-related code. - Rename BuiltinTensorize to BackendTypeConversion since now it handles bool conversions (and, when we add !torch.int and !torch.float, it will handle those as well), and generalize the related utilities (I also moved them to Torch/Transforms since they aren't really part of Torch/IR). - Add `torch.to_i1` and `torch.from_i1` ops for materializations - [cleanup] Reorganize `torch.constant.*` ops in TorchOps.td - Remove dependency of `torch` dialect on `basicpy` dialect and also `std` dialect. For `std`, we use some call related ops, but the `torch` dialect itself never produces them (we have passes that do though). This is fairly mechanical. Recommended review order: - New stuff in Torch/IR - New BuiltinTypeConversion files. - Mechnical fixups elsewhere. |
||
---|---|---|
.. | ||
README.md | ||
debug-info.py | ||
elif.py | ||
errors.py | ||
function-derefine.py | ||
if.py | ||
list.py | ||
loop.py | ||
prim.py | ||
tuple.py | ||
types-bool.py | ||
types-none.py |
README.md
node_import
Most of the tests in this directory test the importing of TorchScript
torch::jit::Graph
's.
However, TorchScript graphs don't really correspond directly to anything on
the MLIR side. They are a weird combination of a context, builder, and
function and just holds a torch::jit::Block
. It is torch::jit::Node
and torch::jit::Block
which form the recursive structure analogous to
MLIR's operation/region/block.
torch::jit::Node
==mlir::Operation
,torch::jit::Block
==mlir::Region
containing singlemlir::Block
Hence the name of this directory and the corresponding code in node_importer.h/cpp.