freenode/#clasp - IRC Chatlog
Search
22:44:57
drmeister
I'm generalizing the exception handling code I wrote for bclasp so that I can use it for cclasp. That will make backtrace frames easier to install.
5:55:32
Bike
hi beach. i tried path replication to eliminate boolean assignments. seems to work, though there are some kludges i'll ahve to unkludge
6:06:59
Bike
well, the problem i had with (if (if (primop:whatever ...) t nil) ...) was that recognizing constants is a little difficult. so i moved up to generally (if (if ...) ...). because of how ast-to-hir works, that results in a test where each branch ends in an output to a temporary, which is then used as an input to an eq test
6:07:32
Bike
so, for each eq instruction it checks if either of its inputs are only defined twice, and that the two instructions defining that variable share a successor.
6:09:30
Bike
no. if the shared successor doesn't dominate the eq, it's possible to reach the eq while one of its inputs is undefined, so something went pretty wrong.