llvm-project
c61c5d29 - [mlir][tosa] Add a pass to narrow i64 to i32 (#165581)

Commit
20 days ago
[mlir][tosa] Add a pass to narrow i64 to i32 (#165581) This pass aims to narrow i64 types on TOSA operations to i32. It can be useful for legalizations from various frameworks. It comes with the following options: - "aggressive-rewrite" - This option is typically able to narrow more values, but may impact numerical behaviour if not used carefully. - "convert-function-boundaries" - If enabled, parameters/ results to/from a function may be narrowed. Otherwise, casts are inserted to preserve the I/O of the function. Currently the non aggressive mode is very limited, targeting an argmax -> cast sequence that has been observed during legalization as well as some data layout operations that can always narrow. Support for more operations will be added in the future. Co-authored-by: Vitalii Shutov <vitalii.shutov@arm.com> Co-authored-by: Shubham <shubham@arm.com> Co-authored-by: Declan Flavin <declan.flavin@arm.com> Signed-off-by: Luke Hutton <luke.hutton@arm.com> Co-authored-by: Vitalii Shutov <vitalii.shutov@arm.com> Co-authored-by: Shubham <shubham@arm.com> Co-authored-by: Declan Flavin <declan.flavin@arm.com>
Author
Parents
Loading