diff options
author | Tai Ly <tai.ly@arm.com> | 2024-02-29 18:53:35 +0000 |
---|---|---|
committer | Tai Ly <tai.ly@arm.com> | 2024-03-06 09:12:32 -0800 |
commit | eecc90165c5d37b75aca83f4d00cb4481872b238 (patch) | |
tree | c007ab2961c99d32b54f6fafaba363567065c133 /src/TosaSerialize.cpp | |
parent | bffbb131352491f2eaaaa7a6aca3f860a4a09f02 (diff) | |
download | tosa_mlir_translator-eecc90165c5d37b75aca83f4d00cb4481872b238.tar.gz |
[tosa_mlir_translator] change rescale attrs to inputs
This patch is for RescaleOp multiplier/shift changing
from attributes to inputs
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I2fe3aa3cd37134f36873240c92b387b9610e3f9d
Diffstat (limited to 'src/TosaSerialize.cpp')
-rw-r--r-- | src/TosaSerialize.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/TosaSerialize.cpp b/src/TosaSerialize.cpp index 0d5e044..74988c8 100644 --- a/src/TosaSerialize.cpp +++ b/src/TosaSerialize.cpp @@ -1356,10 +1356,6 @@ TosaSerializationOperatorBuilder::build<mlir::tosa::RescaleOp>( bool per_channel = op.getAttr("per_channel").dyn_cast<mlir::BoolAttr>().getValue(); - auto multiplier = - op.getAttr("multiplier").dyn_cast<mlir::DenseI32ArrayAttr>().asArrayRef(); - auto shift = getDenseI8ArrayAttr<int32_t>(op.getAttr("shift")); - bool input_unsigned = op.getAttr("input_unsigned").dyn_cast<mlir::BoolAttr>().getValue(); bool output_unsigned = @@ -1371,15 +1367,18 @@ TosaSerializationOperatorBuilder::build<mlir::tosa::RescaleOp>( auto output_ty = output.getType().cast<mlir::RankedTensorType>(); std::string input_name = GetTensorName(input); + std::string multiplier_name = GetTensorName(op.getOperand(1)); + std::string shift_name = GetTensorName(op.getOperand(2)); std::string output_name = GetTensorName(output); - TosaRescaleAttribute attribute(input_zp, output_zp, multiplier, shift, + TosaRescaleAttribute attribute(input_zp, output_zp, + /* multiplier = */ {}, /* shift = */ {}, scale32, double_round, per_channel, input_unsigned, output_unsigned); TosaSerializationOperator *tyop = new TosaSerializationOperator( Op_RESCALE, Attribute_RescaleAttribute, &attribute, - std::vector<std::string>{input_name}, + std::vector<std::string>{input_name, multiplier_name, shift_name}, std::vector<std::string>{output_name}); return tyop; |