Add support for `AtenDivTensorOp` `AtenDivScalarOp` with integer operands
#456 geöffnet am 2. Dez. 2021
Repository-Metriken
- Stars
- (1.840 Stars)
- PR-Merge-Metriken
- (PR-Metriken ausstehend)
Beschreibung
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.