This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Put some global vars into crtl
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Sun, 24 Jun 2012 17:25:22 +0200
- Subject: Re: [patch] Put some global vars into crtl
- References: <CABu31nM78_F4pzB+VNiYf5mdU=cG8a8Ze045jjHKfdxrDM1T9Q@mail.gmail.com>
On Sat, Jun 23, 2012 at 10:38 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> Hello,
>
> There are three global variables defined in function.c and exported
> via output.h: current_function_is_leaf,
> current_function_sp_is_unchanging, and
> current_function_uses_only_leaf_regs. All 3 can be added to crtl. The
> patch is large but mechanical. ?The most interesting part of the
> ChangeLog is:
>
> ? ? ? ?* output.h: (current_function_is_leaf,
> ? ? ? ?current_function_sp_is_unchanging,
> ? ? ? ?current_function_uses_only_leaf_regs): Remove.
> ? ? ? ?* function.c (current_function_is_leaf,
> ? ? ? ?current_function_sp_is_unchanging,
> ? ? ? ?current_function_uses_only_leaf_regs): Remove.
> ? ? ? ?(rest_of_handle_check_leaf_regs): Set crtl->uses_only_leaf_regs
> ? ? ? ?instead of current_function_uses_only_leaf_regs.
> ? ? ? ?* function.h (struct rtl_data): New fields sp_is_unchanging,
> ? ? ? ?is_leaf, uses_only_leaf_regs.
>
> The rest is just replacing those variables with crtl->thing references.
>
> This brings output.h closer to where I want it to be: Only export
> things defined in varasm.c and final.c. Just two more functions to
> go...
>
> Bootstapped&tested on powerpc64-unknown-linux-gnu. OK for trunk?
Ok.
Thanks,
Richard.
> Ciao!
> Steven