Dan Klishch
483e195e48
JSSpecCompiler: Store arguments in declaration instead of definition
...
And create a struct encapsulating argument name in the preparation for
argument types and optional arguments.
2024-01-21 14:57:10 -07:00
Dan Klishch
5825eaa264
JSSpecCompiler: Save references to return value and function arguments
2024-01-14 16:05:51 -07:00
Dan Klishch
5338cdd153
JSSpecCompiler: Add bare-bones DCE pass
...
Right now the only dead code it eliminates is the unused phi nodes.
2024-01-14 16:05:51 -07:00
Dan Klishch
fbdb1a3d61
JSSpecCompiler: Add SSA form building pass
2024-01-12 16:22:22 -07:00
Dan Klishch
23164bc570
JSSpecCompiler: Replace all declarations with assignments
...
We assume that variable shadowing is impossible, so then there is no
reason to keep distinct Declaration and Assignment operators after
ReferenceResolvingPass.
2024-01-04 12:06:56 -07:00
Dan Klishch
12072dbac5
JSSpecCompiler: Add control flow graph simplification pass
...
It removes empty `BasicBlock`s with an unconditional jump continuation
and then removes unreferenced blocks from the graph.
2024-01-04 12:06:56 -07:00
Dan Klishch
8126e76e59
JSSpecCompiler: Compare CFG when running regression tests
2023-12-14 09:06:05 -07:00
Dan Klishch
ff44aea917
JSSpecCompiler: Add control flow building pass
2023-12-14 09:06:05 -07:00
Dan Klishch
00928764e9
JSSpecCompiler: Add our first test :^)
2023-12-07 10:13:21 -07:00