libera/#sicl - IRC Chatlog
Search
12:43:32
hayley
I'm starting to think that it might be easier to generate adapting code after introducing register locations to the IR, as my use of arrangements doesn't feel right in some way. There would be an instruction class for which an instance would be inserted between instructions where adaptation needs to be done, and then a pass after register allocation would generate the code.
12:47:40
hayley
Just a thought, but what I have written has a lot of arrangement-handling code and it seems pointless in this context; mostly because it doesn't track any attribution, or require candidate sets that aren't just one register.
13:46:56
beach
I am afraid I don't understand how your suggestion is different from what we already do. Instructions like assignments are inserted to alter the attributions, and lexical-location plus a register attribution is essentially a register.
13:55:08
hayley
Yes, but in this specific situation the indirection induced by attributions seems like more of a hassle.
13:55:40
beach
I see. But I still don't understand enough of your suggestion to determine whether less hassle would result.
13:56:11
hayley
Another thing is that I had to write a function to "merge" arrangements, in order to ensure we use stack slots that are clear of either arrangement, but it involves producing bogus attributions as it is not really correct to attribute one location to multiple registers or stack slots.
13:58:41
beach
I have a suggestion... Finish this thing with arrangements and attributions, and then experiment as much as you like with new ideas.