freenode/#clasp - IRC Chatlog
Search
2:08:12
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/cmpliteral.lsp#L278
2:08:30
drmeister
Here: https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cmp/cmpliteral.lsp#L269
2:13:20
drmeister
There is an entire function being created for each allocate-instance and again for initialize-instance from this...
2:13:32
drmeister
https://github.com/clasp-developers/clasp/blob/dev/src/lisp/kernel/cleavir/inline-prep.lisp#L70
2:16:16
Bike
Could we reasonably special case the situation of a creation or initialization form being only a function call?
2:17:22
drmeister
(with-open-file (*debug-io* "/tmp/output.log" :direction :output) (compile-file "sys:kernel;cleavir;inline.lisp"))
2:20:27
drmeister
make-load-form - you pass it an object as the first argument and it gets substituted in the create and initialization forms that are returned - correct?
2:40:38
drmeister
Yeah - that's still not enough - you need to compile the make-load-form create and initialize forms so that they compile other make-load-form forms.
2:42:02
drmeister
A simple thing I could do is suppress the spilling of register arguments - that's not needed at all.
8:01:04
drmeister
I got inline.ll down to 1.8M lines of llvm-IR by removing the register spilling code.
11:23:17
stassats
just reducing compilation size is just plugging holes, i'd rather make it involve zero compilation for constants
13:51:34
drmeister
I know - just sayin. Well, IIRC it was down to about 28min before Bike switched to SSA for temporary variables.
13:51:54
stassats
i would've tried less compily constants on my own, but 40 minute build times and c++ discourage me
13:52:53
drmeister
Bike: Not you - the SSA for temporary variables might have shifted the burden elsewhere within llvm.
13:54:00
drmeister
Could you confirm my suspicions tomorrow? Pick the commits before the temporaries and after the temporaries and then build those.