giovinazzo-kevin / Ergo

Other
4 stars 0 forks source link

Static Analysis: Inlining, Compiler & Compile-Time Optimizations #72

Closed giovinazzo-kevin closed 1 year ago

giovinazzo-kevin commented 1 year ago

This is quite a big PR but it finally introduces an actual compiler that produces executable graphs. These graphs can be further optimized by performing some compile-time checks. The graph structure implicitly takes care of control flow, while the optimizations reduce the graph size as much as possible.

There's also an inlining process which runs before the compilation step. It can provide benefits in the interpreted case, and it also makes compilation faster.