diff options
Diffstat (limited to 'gcc/tree-pass.h')
-rw-r--r-- | gcc/tree-pass.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h index b997eb1..40cfb0f 100644 --- a/gcc/tree-pass.h +++ b/gcc/tree-pass.h @@ -562,6 +562,27 @@ extern struct gimple_opt_pass pass_convert_switch; extern struct opt_pass *all_passes, *all_small_ipa_passes, *all_lowering_passes, *all_regular_ipa_passes, *all_lto_gen_passes; +/* Define a list of pass lists so that both passes.c and plugins can easily + find all the pass lists. */ +#define GCC_PASS_LISTS \ + DEF_PASS_LIST (all_lowering_passes) \ + DEF_PASS_LIST (all_small_ipa_passes) \ + DEF_PASS_LIST (all_regular_ipa_passes) \ + DEF_PASS_LIST (all_lto_gen_passes) \ + DEF_PASS_LIST (all_passes) + +#define DEF_PASS_LIST(LIST) PASS_LIST_NO_##LIST, +enum +{ + GCC_PASS_LISTS + PASS_LIST_NUM +}; +#undef DEF_PASS_LIST + +/* This is used by plugins, and should also be used in + passes.c:register_pass. */ +extern struct opt_pass **gcc_pass_lists[]; + /* Current optimization pass. */ extern struct opt_pass *current_pass; |