freenode/#clasp - IRC Chatlog
Search
2:01:08
drmeister
Bike: Is there any way to verify equivalence of two programs? Before inlining and after inlining?
2:02:13
drmeister
Something to automatically validate the HIR after inlining - it seems like that would be fantastically useful.
2:02:34
drmeister
This debugging broken code is so painful. You are doing a great job keeping at it.
2:04:02
drmeister
It seems to me that there should be some invariants before and after inlining, like tracing every path from entry to return - the same sequence of instructions (except the funcalls and enclose that were inlined).
2:51:08
beach
But, if the inliner does only what is in our paper, then checking that the same instructions are executed before and after is doable.
2:51:58
beach
When you introduce transformations that add or remove instructions, I think all bets are off.
2:52:30
drmeister
Bike may have the current situation in hand - but I remember back to when I was debugging HIR issues and I see his HIR issues. Trying to spot problems in these gnarly HIR graphs is a needle in a haystack problem.
2:53:09
Bike
in this case i don't think a validator would tell me more than i already know, which is that a datum is lacking a proper owner
2:55:01
drmeister
I know - I'm a bit conflicted about it as well. Invest time in fixing the current problem or time into a tool to catch problems in the future.
2:56:38
drmeister
A text based representation of HIR might also be useful. Graphs are nice until they get big.
7:58:48
scymtym
speaking of clim-based visualizations (four hours too late, admittedly), i made some progress with my instruction selection toy: https://techfak.de/~jmoringe/instruction-selection-visualizer.png
8:00:59
beach
It looks pretty. :) But I don't have time right now to look into details. I am busy reader Jim Newton's thesis today.
8:04:44
beach
I am pretty sure it will be available. The defense is November 20, so it should be finished by then.