This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Cleanup of IPA-CP alignment lattices
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Fri, 2 Oct 2015 18:15:02 +0200
- Subject: Re: [PATCH] Cleanup of IPA-CP alignment lattices
- Authentication-results: sourceware.org; auth=none
- References: <20151002161216 dot GB20210 at virgil dot suse dot cz>
> 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 <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.
OK,
Honza