On Fri, Jun 19, 2015 at 6:21 PM, Connor Abbott <cwabbo...@gmail.com> wrote: >>> and the RA has to >>> split live-ranges of other things and deal with arrays specially too >>> in order to not introduce extra array copies. >> >> If I did spilling/rematerialization.. but I don't. > > If you force every array into a specific register range, and assume > that every array is live since the beginning of the program, then you > may not have to do that. But then, again, this means that inserting > phi nodes doesn't help you at all in the register allocator. If you're > doing anything else, then you certainly will have to split live > ranges, even without spilling, since you may run into a situation > where the array becomes live, but there isn't a big enough slot to fit > it in even if the register pressure is low enough for everything to > fit. In any case, you'll have to know the original array where each > value came from in order to not accidentally generate copies, so why > bother inserting phi nodes at all?
I don't disagree with you.. fragmentation of the register space could be an issue.. it just isn't the biggest issue right now (and because of the hard requirement of ensuring sufficient instruction cycles between producer and consumer, any mov's inserted in RA would require re-scheduling) Anyways, that is basically an different topic. BR, -R _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev