On Tue, Oct 2, 2012 at 3:14 AM, Vladimir Makarov <vmaka...@redhat.com> wrote: > Analogous live ranges are used in IRA as intermidiate step to build a > conflict graph.
Right, ira-lives.c and lra-lives.c look very much alike, the only major difference is that the object of interest in an IRA live range is an ira_object_t, and in an LRA live range it's just a regno. But the code of create_start_finish_chains, ira_rebuild_start_finish_chains, remove_some_program_points_and_update_live_ranges, and most the live range printing functions, are almost identical between lra-lives.c and ira-lives.c. That looks like unnecessary code duplication. Do you think some of that code be shared (esp. in a C++ world where maybe a live range can be a container for another type)? Ciao! Steven