freenode/#clasp - IRC Chatlog
Search
16:27:54
stassats
iclasp-boehm: /build/llvm-toolchain-5.0-5.0/lib/IR/Type.cpp:619: static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int): Assertion `isValidElementType(EltTy) && "Invalid type for pointer element!"' failed.
16:47:38
beach
Bike: I think I know how to do partial inlining using local graph rewriting. Check out http://metamodular.com/fig{1,2,3,4}.pdf showing how to inline CAR.
16:48:26
beach
I haven't figured out all the rules yet, of course, nor in what situations it is correct to apply them.
16:52:03
beach
Adding or moving an existing one as in the last example, since the old one will no longer be used.
17:32:28
beach
Yes, the example is very simple. No capture, no loops, no assignments to existing variables.
18:43:53
drmeister
Bike. Is it still necessary to code walk to determine call-next-method and next-method-p in cleavir?
18:45:16
Bike
also, i can't reproduce the array thing. i thought it was just that negative numbers didn't work right in signed-byte arrays
18:45:18
drmeister
Clasp does this when compiling methods. Beach always said it would be unnecessary at some point in cleavirs development.
18:48:58
Bike
right. i don't think that's done yet. i could probably whip up a "delete instructions whose outputs aren't used" phase though. might be a little weird with side effects
19:07:00
Bike
the translators both use clasp_make_integer, so it seems like it should fail, unelss there's an overload i guess
19:58:23
drmeister
Bike: clasp_make_integer is almost certainly the problem - it's casting everything to a uint64_t.
19:58:40
drmeister
I think Integer_O::create(...) is what should be used - there are many overloads for that.
0:35:25
drmeister
The function names have zero runtime cost. Function names are now associated with frames from JITted code. In cclasp - arguments are saved when a function has (declare (debug 3)).