This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, alpha]: Introduce handle_trap_shadows and align_insns passes
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Richard Henderson <rth at redhat dot com>
- Date: Fri, 11 Jul 2014 09:46:16 +0200
- Subject: Re: [PATCH, alpha]: Introduce handle_trap_shadows and align_insns passes
- Authentication-results: sourceware.org; auth=none
- References: <CAFULd4bCnYgY+LbMpS1LV6NGrqg0s1VYqsdCnVSorcFNtsm5fA at mail dot gmail dot com>
On Mon, Jun 30, 2014 at 9:59 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> After fixing _.barriers and _.eh_range passes w.r.t. CALL_ARG_LOCATION
> notes, we can finaly move handling of trap shadows (PR 56858) and insn
> alignments into their own passes.
>
> Additionally, the patch skips handling of BARRIERs in
> alpha_pad_function_end, since CALL_ARG_LOCATION notes are not split
> away from their call insn anymore.
>
> 2014-06-30 Uros Bizjak <ubizjak@gmail.com>
>
> PR target/56858
> * config/alpha/alpha.c: Include tree-pass.h, context.h
> and pass_manager.h.
> (pass_data_handle_trap_shadows): New pass.
> (pass_handle_trap_shadows::gate): New pass gate function.
> (make_pass_handle_trap_shadows): New function.
> (rest_of_handle_trap_shadows): Ditto.
>
> (alpha_align_insns_1): Rename from alpha_align_insns.
> (pass_data_align_insns): New pass.
> (pass_align_insns::gate): New pass gate function.
> (make_pass_aling_insns): New function.
> (rest_of_align_insns): Ditto.
> (alpha_align_insns): Ditto.
>
> (alpha_option_override): Declare handle_trap_shadows info
> and align_insns_info. Register handle_trap_shadows and align_insns
> passes here.
> (alpha_reorg): Do not call alpha_trap_shadows and
> alpha_align_insn from here.
>
> (alpha_pad_function_end): Do not skip BARRIERs.
I went agead and installed the patch on mainline SVN. The patch just
fixes existing approach and doesn't introduce new functionality.
Uros.