freenode/#clasp - IRC Chatlog
Search
1:51:43
drmeister
So the current state of things is 1. With compile-file-parallel the buildbot fails about 1/3 to 1/2 of the time.
1:52:20
drmeister
2. When I try to set up 10 parallel builds on hermes by changing XDG_CACHE_HOME I get build failures
1:53:35
drmeister
However there is something weird. The XDG_CACHE_HOME directories I set are populated but I flushed them between builds and after the first build the quicklisp code is just loaded from somewhere - I'm doing something wrong but I don't know what. My test is screwing up and I don't trust it.
1:54:08
drmeister
4. When I build on hermes one at a time with compile-file-parallel - I am unable to get the quicklisp compilation to fail. I've done it about 8 times now.
1:59:24
drmeister
Thank goodness that with bir and compile-file-parallel - a full build of the cando quicklisp code takes 2 min.
2:00:18
drmeister
And as I type that I get a crash while repeatedly building the quicklisp - finally.
2:28:29
karlosz
Bike: do you have any advice on the primops issue? i just defined a flushable attribute and i want to put it on things like car and cdr and the arithmetic operators
2:29:00
karlosz
i have it as part of the dead code eliminator in metaevaluation, but it seems like i don't actually get an abstract call?
2:30:11
karlosz
i mean the issue seems to be that clasp doesn't even make an abstract call for car or cdr
2:31:12
Bike
not sure what you mean about not getting an abstract call. i would think that it makes a call to the car function, which is then inlined.
2:32:43
Bike
well what i mean is we could mark primop uses with attributes the same way we mark calls.
2:41:13
Bike
i can do that. longer term i'd like to be able to use the flow of the callee like i've been saying but we work with what we have
2:42:41
karlosz
not sure how we can do the flow of the callee with the constant foldable ness though
2:45:56
Bike
reocgnizing mv-bind lambdas would be tricky, i don't think we have information about the defaults available in bir, and we need it
2:55:57
karlosz
OK, so in order to have (lambda () (- 1 (+ 1 2)) t) flush the arithemtic expression i needed:
2:59:18
karlosz
i'm going to see how many of these arithmetic calls actually get flushed during self build now
2:59:52
karlosz
these are things llvm can't flush for us. i think llvm could do readvars and constants
3:07:14
Bike
ok, well going back to inlining for a second i've been thinking we could make inlining just another kind of transformation
3:09:33
karlosz
also there are three primop calls to SYMBOL VALUE that get flushed during self build, for whatever reason
3:11:41
karlosz
nothing to do with (lambda (x) (car x) t)... i was just running the code flusher over self build