We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
And
Or
break
continue
1 + 2
10: Pushc(0) 11: Pushc(1) 12: Add
Branch
Jt
10: ... 11: Not 12: Jf 13: ...
LIR
25: ... 26: Jmp(27) 27: ....
func: 11: Pushc(0) 12: Ret 13: Pushc(1) 14: ...
HIR
HirUnit
module_builder.entry()
module_builder.add(ENTRY_POINT)
Label
LirElement
LoweringRuntime
HirLoweringRuntime
emit
LirLoweringRuntime
Bytecode
The text was updated successfully, but these errors were encountered:
Merge pull request #10 from lausek/optimization
596503b
Implement #8 and #9
No branches or pull requests
Constructs that require labels
And
,Or
)break
,continue
)Optimization cases
1 + 2
are not optimized:Branch
conditions intoJt
:Branch
(doesn't happen anymore after introduction ofLIR
?):Steps for implementation
HIR
is a confusing name. change it toHirUnit
(?)module_builder.entry()
instead ofmodule_builder.add(ENTRY_POINT)
Label
LirElement
LoweringRuntime
toHirLoweringRuntime
that transformsHIR
->LIR
emit
try to optimize the last instructions (depending on instruction)LirLoweringRuntime
that transformsLIR
->Bytecode
The text was updated successfully, but these errors were encountered: