00:01 pyrimidine joined 00:21 pyrimidine joined 01:10 pyrimidi_ joined 02:18 pyrimidine joined 02:38 pyrimidine joined 02:48 ilbot3 joined, pyrimidine joined 03:06 pyrimidine joined 03:14 pyrimidine joined 03:31 pyrimidine joined 03:45 pyrimidine joined 04:02 pyrimidine joined 04:06 geekosaur joined 05:44 pyrimidine joined 05:54 pyrimidine joined 06:04 pyrimidine joined 06:14 pyrimidine joined 06:24 pyrimidine joined
brrt \o 06:25
i am in fact no longer fully convinced that a second 'register assignment' loop in linear scan maear scan makes any sense at all 06:30
because you need to be able to find the ' current' live range that stands for a particular value, and that 'current' version lives usuaully in the active set to begin with 06:32
06:34 pyrimidine joined
brrt you *can* move it t o a later phase but it is kind of pointlyess 06:39
pointless
06:40 pyrimidine joined 06:50 pyrimidine joined 06:59 domidumont joined
brrt hmmm, okay, so let me think about that some more 07:04
while running linear scan, I may have to update existing references to live ranges to other references because the live range themselves have been spilled 07:05
if i wait with register assignment until after the first loop, I can simply read the registers per tile from the updates references 07:06
however, since i already must do the update, updating the register number rather than the reference seems to me to be equivalent
so what i need... is a register assignment primitive that updates the users of the live range to the new register 07:09
07:56 pyrimidine joined 08:04 pyrimidine joined 08:18 pyrimidine joined 08:25 zakharyas joined, pyrimidine joined 08:34 pyrimidine joined 08:54 pyrimidine joined 09:09 pyrimidine joined 09:34 pyrimidine joined 09:41 pyrimidine joined 09:50 pyrimidine joined 09:53 Util joined 10:02 vendethiel- joined 10:05 pyrimidi_ joined 10:14 pyrimidine joined
brrt so, sucky news, but $employer has just suspended the hackathon time... 10:19
10:27 pyrimidi_ joined
timotimo :o 10:33
10:50 pyrimidine joined
brrt yes 11:00
the good news bit is that I think I have a definitive answer to the second-loop problem; it is not necessary and it doesn't simplify anything 11:01
timotimo first-loop problems, man
brrt :-D 11:02
note for future references: I'm going to store the index node-that-references the live range along in the use array of the live ranges, so that I have a complete mapping from live ranges to tile nodes, so that when I assign the actual register to the live range, I can find the tiles that have to be assigned the register to by simply looping over the 'uses' array 11:07
which means that i no longer have to maintain a tile -> live range mapping because the mapping will be in the reverse order, which is the interesting order anyway 11:08
and... if i do that for definitions as well as uses, this generalizes nicely because definitions are always in the '0' index, and I can still always 'reuse' the definitions/uses when splitting/spilling 11:11
but first, lunch &
timotimo ah, nice
11:42 brrt` joined 12:08 ggoebel joined 12:35 pyrimidine joined 12:44 pyrimidine joined 12:54 pyrimidine joined 13:03 pyrimidine joined 13:13 pyrimidine joined 13:15 japhb joined 13:21 pyrimidine joined 13:33 pyrimidine joined 13:43 pyrimidine joined 13:53 pyrimidine joined 14:02 dalek joined 14:45 pyrimidine joined 14:52 pyrimidine joined 15:03 nwc10 joined 15:08 pyrimidine joined 15:26 domidumont joined 15:50 domidumont joined
timotimo should i continue putting "but got REPR debug_name" stuff into places like the interpreter? 15:57
maybe smaller code would be better
so maybe there should be a function that gets called to build the error message from a few parts
i'm not convinced that's actually smaller
OTOH, we jit a bunch of things, so the size of the interpreter itself isn't as noticable for hot things 16:01
brrt i don't really know the answer to that, tbh 16:34
16:40 FROGGS joined 17:00 pyrimidine joined 17:06 pyrimidine joined 17:58 japhb joined 18:27 japhb joined 19:43 domidumont joined 19:57 pyrimidine joined 20:26 pyrimidi_ joined 20:35 zakharyas joined 20:37 domidumont joined 20:53 pyrimidine joined 21:03 pyrimidine joined 21:13 pyrimidine joined 21:34 pyrimidine joined 21:38 pyrimidi_ joined 21:42 vendethiel joined 21:49 pyrimidine joined 22:02 pyrimidine joined 22:29 pyrimidine joined 23:08 pyrimidine joined