I have noticed quite a few changes regarding register allocation. I am wondering will there be support for radically different data structures other than the LiveIntervals, Virtual Register Map, etc? I have build a custom data structure which has it's own intermediate representation like live-intervals, but much more conducive for my allocation algorithm. I do not know if LiveIntervals can accurately describe my data structure, and it would be a huge hack to enforce the live interval framework. - Thanks, Jeff Kunkel
On Oct 28, 2010, at 9:40 AM, Jeff Kunkel wrote:> I have noticed quite a few changes regarding register allocation. I am > wondering will there be support for radically different data > structures other than the LiveIntervals, Virtual Register Map, etc?Not any more than we already have. If anything, these data structures are going to be simplified. For instance, VirtRegMap's support for deferred insertion of spill code might go away in the future. It is not really needed any longer - InlineSpiller simply inserts spill code directly.> I > have build a custom data structure which has it's own intermediate > representation like live-intervals, but much more conducive for my > allocation algorithm. I do not know if LiveIntervals can accurately > describe my data structure, and it would be a huge hack to enforce the > live interval framework.So don't. RegAllocFast isn't using LiveIntervals either. It is entirely optional. /jakob
On Oct 28, 2010, at 4:34 PM, Jakob Stoklund Olesen wrote:> > On Oct 28, 2010, at 9:40 AM, Jeff Kunkel wrote: > >> I have noticed quite a few changes regarding register allocation. I am >> wondering will there be support for radically different data >> structures other than the LiveIntervals, Virtual Register Map, etc? > > Not any more than we already have. > > If anything, these data structures are going to be simplified. For instance, VirtRegMap's support for deferred insertion of spill code might go away in the future. It is not really needed any longer - InlineSpiller simply inserts spill code directly.*might* go away? :-) Evan> >> I >> have build a custom data structure which has it's own intermediate >> representation like live-intervals, but much more conducive for my >> allocation algorithm. I do not know if LiveIntervals can accurately >> describe my data structure, and it would be a huge hack to enforce the >> live interval framework. > > So don't. RegAllocFast isn't using LiveIntervals either. It is entirely optional. > > /jakob > > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev