This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C Patch]: pr52543
- From: Ian Lance Taylor <iant at google dot com>
- To: Kenneth Zadeck <zadeck at naturalbridge dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Mike Stump <mikestump at comcast dot net>, Kenneth Zadeck <Kenneth dot Zadeck at NaturalBridge dot com>, avr at gjlay dot de, ramana dot radhakrishnan at linaro dot org, rdsandiford at googlemail dot com
- Date: Tue, 03 Apr 2012 09:22:11 -0700
- Subject: Re: [C Patch]: pr52543
- References: <4F67D595.9030700@naturalbridge.com> <mcrd387n9bf.fsf@dhcp-172-18-216-180.mtv.corp.google.com> <4F6881EA.9080306@naturalbridge.com> <mcrvclzl7b7.fsf@dhcp-172-18-216-180.mtv.corp.google.com> <4F6889CC.8080302@naturalbridge.com> <mcrr4wnl6lb.fsf@dhcp-172-18-216-180.mtv.corp.google.com> <4F74CFB3.5090308@naturalbridge.com> <g47gy2e6z8.fsf@richards-thinkpad.stglab.manchester.uk.ibm.com> <4F75D041.4070206@naturalbridge.com> <g4zkaycd0v.fsf@richards-thinkpad.stglab.manchester.uk.ibm.com> <4F772EF0.8080509@naturalbridge.com> <g4iphgdir9.fsf@richards-thinkpad.stglab.manchester.uk.ibm.com>
Richard Sandiford <rdsandiford@googlemail.com> writes:
> What do you think? The patch looks OK to me with these changes,
> but I'd like to leave it for 48 hours to see if Ian has any comments.
The patch looks fine to me.
Thanks.
Ian
> 2012-04-03 Kenneth Zadeck <zadeck@naturalbridge.com>
> Richard Sandiford <r.sandiford@uk.ibm.com>
>
> * Makefile.in (lower-subreg.o, target-globals.o): Depend on
> lower-subreg.h.
> * lower-subreg.h: New file.
> * target-globals.h (this_target_lower_subreg): Declare.
> (target_globals): Add lower_subreg;
> (restore_target_globals): Restore this_target_lower_subreg.
> * target-globals.c: Include it.
> (default_target_globals): Add default_target_lower_subreg.
> (save_target_globals): Initialize target_lower_subreg.
> * rtl.h (init_lower_subreg): Added declaration.
> * toplev.c (backend_init_target): Call initializer for lower-subreg
> pass.
> * lower-subreg.c (LOG_COSTS, FORCE_LOWERING): New macros.
> (default_target_lower_subreg): New variable.
> (this_target_lower_subreg): Likewise.
> (twice_word_mode, choices): New macros.
> (shift_cost, compute_splitting_shift, compute_costs)
> (init_lower_subreg): New functions.
> (resolve_simple_move): Add speed_p argument. Check choices.
> (find_pseudo_copy): Don't check the mode size here.
> (resolve_simple_move): Assert the mode size.
> (find_decomposable_shift_zext): Add speed_p argument and return
> a bool. Check choices.
> (resolve_shift_zext): Add comment.
> (dump_shift_choices, dump_choices): New functions.
> (decompose_multiword_subregs): Dump list of profitable
> transformations. Add code to skip non profitable transformations.
> Update calls to simple_move and find_decomposable_shift_zext.