IPA-CP Alignment lattice cleanup
authorMartin Jambor <mjambor@suse.cz>
Mon, 5 Oct 2015 15:55:54 +0000 (17:55 +0200)
committerMartin Jambor <jamborm@gcc.gnu.org>
Mon, 5 Oct 2015 15:55:54 +0000 (17:55 +0200)
commitc8710b5ce0876b154477b3d80ba415f857661f76
tree325ac823f7db9b09d43d88c0a824b2fcff9ebd90
parent85339618b6ba3edab19d8bd98eb19d8c5627c276
IPA-CP Alignment lattice cleanup

2015-10-05  Martin Jambor  <mjambor@suse.cz>
    Jan Hubicka  <hubicka@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.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
From-SVN: r228491
gcc/ChangeLog
gcc/ipa-cp.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/ipa/propalign-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/ipa/propalign-5.c [new file with mode: 0644]