> Hi, > > I have already proposed this patch many months ago but it got > forgotten, for a number of reasons. It does not change functionality, > it only cleans up the alignment lattices, which are currently a bit > clumsy. > > I have refreshed the patch and made sure it still bootstraps and tests > fine on an x86_64-linux. OK for trunk? > > Thanks, > > Martin > > > 2015-02-25 Martin Jambor <mjam...@suse.cz> > Jan Hubicka <hubi...@ucw.cz> > > * ipa-cp.c (ipcp_alignment_lattice): New type. > (ipcp_param_lattices): Use the above to represent alignment. > (ipcp_alignment_lattice::print): New function. > (print_all_lattices): Use it to print alignment information. > (ipcp_alignment_lattice::top_p): New function. > (ipcp_alignment_lattice::bottom_p): Likewise. > (ipcp_alignment_lattice::set_to_bottom): Likewise. > (ipcp_alignment_lattice::meet_with_1): Likewise. > (ipcp_alignment_lattice::meet_with): Two new overloaded functions. > (set_all_contains_variable): Use set_to_bottom of alignment lattice. > (initialize_node_lattices): Likewise. > (propagate_alignment_accross_jump_function): Work with the new class > for alignment lattices. > (propagate_constants_accross_call): Pass only the alignment lattice to > propagate_alignment_accross_jump_function. > (ipcp_store_alignment_results): Work with the new class for alignment > lattices. > > testsuite/ > * gcc.dg/ipa/propalign-4.c: New test. > * gcc.dg/ipa/propalign-5.c: Likewise.
OK, Honza