This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, TREE_LIST removal] remove calls to build_constructor_from_list from coverage.c
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Nathan Froyd <froydnj at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, steven at gcc dot gnu dot org
- Date: Tue, 11 May 2010 22:58:33 +0200
- Subject: Re: [PATCH, TREE_LIST removal] remove calls to build_constructor_from_list from coverage.c
- References: <20100511171921.GJ5834@codesourcery.com>
On Tue, May 11, 2010 at 7:19 PM, Nathan Froyd <froydnj@codesourcery.com> wrote:
> The patch below ports over a couple of patches from the oldlto branch to
> eliminate calls to build_constructor_from_list in coverage.c. ?The port
> is slightly modernized by the use of CONSTRUCTOR_APPEND_ELT.
>
> Testing in progress on x86-64-linux-gnu; will commit after testing
> finishes.
>
> -Nathan
>
> ? ? ? ?* coverage.c (build_fn_info_value): Call build_constructor instead of
> ? ? ? ?build_constructor_from_list.
> ? ? ? ?(build_ctr_info_value): Likewise.
> ? ? ? ?(build_gcov_info): Likewise.
Please track revisions you port in http://gcc.gnu.org/PR43977.
But actually please don't commit this. With build_vector_from_list,
TREE_CONSTANT is computed for the constructor, and with this manual
constructor building it is not.
I already tried a few of these patches. They don't pass bootstrap. We
need to figure out an interface for pushing constructor elements and
calculating TREE_CONSTANT on the fly -- or modify build_constructor to
just always iterate over all elements and compute TREE_CONSTANT there
for everything that passes through there.
Ciao!
Steven