Search
Monday, 26th of July 2021, 19:28:53 UTC
3:04:15
beach
Good morning everyone!
3:04:41
beach
Gnuxie: That's great news!
6:55:42
beach
hayley: Did you ever write those toy functions and read the generated LIR to get an idea of how well register allocation is performing?
6:58:56
hayley
Everything I could think of involved function calls, which don't provide a lot to look at.
6:59:20
beach
I see, yes. I guess we don't do enough optimizations yet.
6:59:39
hayley
But I could write inlined code myself with the right primop forms.
7:00:05
beach
Only if you have time and feel like it. I am just curious since the technique is presumably new.
7:00:30
hayley
Sure, I'll see when I have a crack at it.
7:00:56
beach
OK. No rush as usual.
7:02:00
hayley
Are you aware of Ivan Burrough's PhD thesis "Register allocation and spilling using the expected distance heuristic"?
7:02:38
beach
Oh! No! So it may not be new.
7:02:45
beach
Good I didn't write a paper about it. :)
7:03:03
beach
The terminology sounds similar, even.
7:03:26
hayley
https://dspace.library.uvic.ca/bitstream/handle/1828/7107/Burroughs_Ivan_PhD_2016.pdf
7:04:03
beach
Thanks. Fairly recent!
7:05:12
beach
I guess the idea was too obvious not to have been discovered already.
7:05:24
beach
Did you read the thesis youself?
7:07:48
hayley
I have only skimmed it so far.
7:08:30
beach
I'll definitely read it.
7:09:05
hayley
It also references "The Power of Belady's Algorithm in Register Allocation for Long Basic Blocks" which is in my browser history but I don't remember reading it.
7:10:28
hayley
Funny that the latter uses a fast Fourier transform program for performance evaluation.
7:11:40
beach
Yeah. It is fairly easy to write a program that generates a special version of the FFT for a particular size. And then the code is completely linear with no branches.
7:12:38
hayley
Oh, right, that would indeed be a long basic block.
7:24:17
beach
The thesis reports excellent improvements, even for the static case.
7:28:18
beach
The static part of the thesis is looking more and more like exactly what we are doing.
7:28:40
beach
But I am still on the introduction, so we'll see.
Tuesday, 27th of July 2021, 7:28:53 UTC