freenode/#clasp - IRC Chatlog
Search
0:17:46
drmeister
karlosz: Yes - you generate code that is not SSA and then run it through optimization passes. One in particular is called mem2reg - it converts alloca's to registers with PHI nodes when possible.
0:20:05
drmeister
Isn't there some transformation for converting stack machine code into register machine code?
1:38:35
drmeister
Well - if you ever do this is what clasp does: https://github.com/drmeister/clasp/blob/cst-catch/src/lisp/kernel/cleavir/setup.lisp#L53
1:39:31
karlosz
thanks -- but it seems like the bytecodes are high level enought hat i can just deal with constants as a uniform blob
1:39:36
Bike
also the immediate-literal thing is kind of weird. our load time value machinery is still sorta weird
1:44:26
karlosz
also, what is that extra gensym output to enter-instruction doing there? the docs dont mention anything about it
1:46:01
Bike
it represents the closed over variables. the only thing it can be used for is an input to a fetch-instruction. cleavir-hir-transformations:process-captured-variables takes care of inserting the instructions
1:46:12
Bike
you'll need to implement translations for fetch, write-cell, read-cell, and create-cell
1:48:06
Bike
i was thinking of changing the handling so that the enter would just output cells directly, but i've been doin other stuff
1:48:21
Bike
a transform to use values instead of cells when the cells are read-only is on my list to