Open
Description
The type promotion rule for div ops are different when both operands are integers (integer operands are promoted to default float type) see https://pytorch.org/docs/stable/generated/torch.div.html.
To support this, AtenDivTensorOp
and AtenDivScalarOp
need to have some customized logic in RefineTypes rather than using visitBinaryBroadcastingOp
or visitBinaryTensorScalarOp
directly as it is now https://github.com/llvm/mlir-npcomp/blob/5475d02a0d03b2bda7ef9cc240773041d22a926b/lib/Dialect/Torch/Transforms/RefineTypes.cpp#L305-L308.
Once the changes in RefineTypes are made, the TorchToLinalg lowering code can be updated as well.