This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, alpha]: Use alpha-passes.def to register passes.


2016-10-11  Uros Bizjak  <ubizjak@gmail.com>

    * config/alpha/alpha-passes.def: New file.
    * config/alpha/t-alpha: New file.
    * config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
    (make_pass_handle_trap_shadows): New prototype.
    (make_pass_align_insns): Ditto.
    * config/alpha/alpha.c (alpha_option_override): Don't register
    passes here.
    * config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.

Bootstrapped and regression tested on alphaev68-linux-gnu.

Committed to mainline SVN.

BTW - Jakub, it looks there is a bug in awk script. If the order of
pass insertion commands in alpha/alpha-passes.def is reversed to:

  INSERT_PASS_AFTER (pass_convert_to_eh_region_ranges, 1,
pass_handle_trap_shadows);
  INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_align_insns);

then the second pass is not registered for some reason. This can be
seen in generated pass-instances.def (also when building crosscompiler
to alpha-linux-gnu), where pass_align_insns insertion is simply
missing from what is the correct pass order:

          NEXT_PASS (pass_convert_to_eh_region_ranges, 1);
  NEXT_PASS ( pass_handle_trap_shadows, 1);
  NEXT_PASS ( pass_align_insns, 1);
          NEXT_PASS (pass_shorten_branches, 1);

(There is no problem with the pass insertion commands order, as
committed in the patch).

BTW2: There is a superfluous space generated after the opening paren.

Uros.

Attachment: a.diff.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]