[gambit-list] full program optimization

Dimitris Vyzovitis vyzo at hackzen.org
Sat Mar 3 04:50:27 EST 2018


Hi Marc,

Does gsc perform any full program optimization and cross module
inlining when compiling executables?

I am particularly interested in the case of linking multiple scheme
modules together to compile executables. The Gerbil compiler uses this
mode for compiling static executables, which was done with full
program optimization in mind. At a very basic level, it allows global
prelude declarations like `(not safe)` to be applied to the whole
program, but it could do much more.

It doesn't have to be too complicated:
- the partial evaluator should look across module boundaries
- small procedures should be inlined across module boundaries
- (block) declarations should be taken into account across modules,
  so that mutability information can be propagated. Tthis would
  allow the compiler to elide procedure call checks for procedures
  defined in another module when the binding is not mutated.

-- vyzo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20180303/300c0b9c/attachment.htm>


More information about the Gambit-list mailing list