freenode/#sicl - IRC Chatlog
Search
7:29:52
beach
This morning I watched a talk by Kate Gregory at cppcon 2018, entitled Simplicity: Not Just For Beginners (or How To Write Simpler Code). I am confused. Is cppcon a conference with a program committee? This talk is largely for beginners in that she is giving rules that anybody should already know. Also, the entire thing is absurd. I mean, you want to keep things simple, and you use C++????
8:05:20
splittist
beach: if you have to use C++ (because it is a requirement imposed by your job), then wouldn't you want some help?
8:11:36
beach
splittist: Sure. I am just very surprised that an international conference would accept a paper like this.
8:13:28
splittist
I am surprised you are surprised. Quality of message seems pretty low down on the list of requirements to be chosen to present at conferences of any sort, as far as I have experienced. (Obviously I put lisp conferences slightly to one side, here...)
8:52:00
beach
Back to computing the estimated distance to use or EDU. Like I said, it is a sparse linear-equation system. It is sparse because most instruction have a single successor. Also, only the back arcs are problematic. And the computation can be done initially per basic block.
8:52:02
beach
So I counted the number of back arcs in the code that is converted to HIR during bootstrapping. With more than 4000 HIR programs processed, there are less than 2000 back arcs, so on the average one for every two HIR program. Plus, If I do this by basic block, the system won't be sparse, so I think I can use a traditional technique using Gaussian elimination.
15:11:28
beach
I am now convinced that the formula for combining EDUs of several successors that I wrote in the Cleavir documentation is right, and so it is not linear. But it's OK, because I decided that I should do this will Kildall instead.
15:11:29
beach
If I systematically round the EDU down to the FLOOR of the combined value, iterations should stop quickly. Plus, if there are as few back arcs as my test indicates, and presumably some variables are used or defined inside loops, then there will be no iteration at all for those.
15:12:32
beach
So now I am studying what Bike wrote for the Kildall implementation. It is quite well written. I will just add a few comments and fix some others.
15:27:52
heisig
I was already wondering how this system could be made linear. Using Kildall sounds good.
15:29:24
heisig
I recall that the compiler I wrote for my university assignments used Kildall for almost everything. It is a great algorithm.