On Sunday 27 June 2010 at 23:05, Peter Lobsinger wrote: > The problem with doing register allocation before IMCC is that IMCC > creates temporary registers and does so in a very simple, inefficient > way (every temporary in a function consumes an independant register).
This wouldn't be a problem if the generated PIR reused temporaries. POST->PIR doesn't. > I'm not saying that we should keep register allocation in IMCC, but > rather that it should occur in a phase *after* IMCC has finished > allocating its temproraries. I'm not sure we have enough information available at that point; IMCC has already thrown away what it needs to know by then. We *could* modify IMCC to keep that around, but that means modifying IMCC. For historical reference, the point at which I decided that IMCC wasn't worth my own time to revise heavily was fixing its register allocator. We'd have to tease out the various uses of its SymReg struct into multiple separate types-- that's the source of the O(n^4) and O(n^8) algorithms now. -- c _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
