fix: fixed 1st and 3rd point of the to-do list; issue #1162 #1322
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixed 1st and 3rd point of the to-do list
This pull request includes significant changes to the
heir_py/mlir_emitter.py
file to enhance type inference for assignments and return statements. The most important changes include replacing hardcoded types with inferred types and adding a new method to handle type inference.Enhancements to type inference:
heir_py/mlir_emitter.py
: Modified theemit_assign
method to replace the hardcoded typei64
with a call toself.infer_type(assign.value)
.heir_py/mlir_emitter.py
: Modified theemit_return
method to replace the hardcoded typei64
with a call toself.infer_type(ret.value)
.Addition of type inference method:
heir_py/mlir_emitter.py
: Added a new methodinfer_type
to infer types of various expressions, including binary operations, simple data types, lists, tuples, and dictionaries. This method is used in bothemit_assign
andemit_return
to dynamically determine the appropriate type.( issue Resolve experimental python frontend FIXMEs #1162 )