freenode/#clasp - IRC Chatlog
Search
20:00:58
drmeister
We could move them - but we can't delete them unless their calls are replaced wherever they are made.
20:04:37
Bike
there's also a couple #defines in core.h that should probably be moved to cando, or deleted if cando has moved on
20:05:21
Bike
i thought maybe i'd shared a variable between basic blocks, but the obvious case of that doesn't seem to be it
20:12:56
drmeister
The validator is supposed to catch all problems - but my experience is that it doesn't.
20:20:49
Bike
unintern is about symbols, anyway, not their bindings. it doesn't care if there's a constant binding or whatever
20:26:49
drmeister
Bike: It doesn't know it is invalid - I think it fails while loading the bitcode. I've never been able to do anything with a bitcode file that includes bad bitcode.
20:28:42
drmeister
I don't know if it's the validator or the linker that is having a problem and if it's the linker I don't know if the linker is crashing. All I know is that I see that error message when I try to load bitcode files that have bad llvm-ir into any tool.
20:46:51
karlosz
should i be defining primops for new ast nodes i introduce? i see that clasp doesn't really do that
20:50:48
karlosz
is there a disadvantage to just writing compiler macros instead and returning the right source form instead?
20:51:43
Shinmera
compiler macros are prohibited from expanding if the function is declarednotinline
20:53:04
karlosz
hm... do you think it would be reasonable to punt to the default, slower bytecode sequence if a user explicitly declares something like print notinline?
20:54:00
karlosz
im not quite sure when someone would explicitly declare a standard CL function notinline
22:34:17
Bike
https://github.com/clasp-developers/clasp/commit/6cd1e493760edd13d6c606e2ec84f0f3936d5bbe this is the commit
22:34:23
drmeister
It has a units package - remember when the Mars Orbiter skipped off the Martian atmosphere and was lost in space?
5:44:08
karlosz
its actually realtively easy to tell which <- instructions are actually needed in the flowgraph. if a <- instructions's target node has only 1 def, and either the source node has 1 def or the target has 1 use, then the <- instruction can be eliminated, with the source and target nodes merging into one node
5:45:00
karlosz
that's the algorithm i'm using to only produce the minimum amount of runtime store and loads from <- instructions
5:45:34
karlosz
perhaps that can be the basis for a general purpose HIR pass that cleans up the <- nodes