Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fbc: internal: add IR_EMITOPT to control backend options from AST/IR
This commit adds some internal changes for tracking specific emit options in AST/IR that can then be passed on to the backend / EMIT. This will potentially provide a generic way to extend AST options to the backend. - add 'enum IR_EMITOPT' for options relating to EMIT options - add 'AST_OPOPT.AST_OPOPT_DOINVERSE' for relational operators to indicate that the AST expression needs to be inverted. This allows AST to preserve the user's original expression and pass it on to the backend to solve. - add 'IR_EMITOPT.IR_EMITOPT_REL_DOINVERSE' to indicate the option to the backend - add 'EMIT_NODE.options' to track options emit options - Update `EMIT_RELCB` to accept an options parameter - For procedures handling relational operators in IR/EMIT, add parameters to the internal functions to accept 'options as IR_EMITOPT'. This will then control how the backend handles code generation.
- Loading branch information
Showing
13 changed files
with
189 additions
and
85 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.