refactor: address TODOs ExtHandle usage and simplify DslIr Ext field opcodes #2296
+42
−14
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.
Motivation
This PR introduces extended support for arithmetic operations in the DSL IR, especially for combinations involving
Felt
andExt
values. The current implementation lacked direct opcodes such asSubFE
,MulFEI
, andDivFE
, which limited expressiveness and required verbose patterns.Additionally, this PR adds an
ext_handle_ptr
to theInnerBuilder
to facilitate better contextual access from theFeltOperations
, improving modularity across builder logic.Solution
-Added new IR opcodes to DslIr enum:
SubFE, MulFEI, DivFE
, enabling direct mixed-type arithmetic.-Updated
builder.rs
logic to generate these IR ops where appropriate.-Modified
InnerBuilder
to includeext_handle_ptr
, ensuring safe access and consistent context passing for extended operations.-All related
// TODO:
comments are now removed.cargo check
cargo build
PR Checklist