diff options
author | Marek Polacek <polacek@redhat.com> | 2013-08-30 10:24:49 +0200 |
---|---|---|
committer | Marek Polacek <polacek@redhat.com> | 2013-08-30 10:24:49 +0200 |
commit | 1a986fd51aa96fbd0d66f4d52739356374912563 (patch) | |
tree | f5310553e69c8a35180556d9af7e66bdecac7f92 /gcc/passes.c | |
parent | 61fb959b676db6ca9ef0da335dfef0d8ec08e113 (diff) | |
parent | f85c9de6ba5165bc1b941ceb09e4e8ffb1c7eb0f (diff) | |
download | gcc-ubsan.tar.gz |
Merge branch 'master' of git+ssh://gcc.gnu.org/git/gcc into ubsanubsan
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index e3a7212ccce..5b4975267eb 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -676,6 +676,11 @@ pass_manager::register_one_dump_file (struct opt_pass *pass) flag_name = concat (prefix, name, num, NULL); glob_name = concat (prefix, name, NULL); optgroup_flags |= pass->optinfo_flags; + /* For any passes that do not have an optgroup set, and which are not + IPA passes setup above, set the optgroup to OPTGROUP_OTHER so that + any dump messages are emitted properly under -fopt-info(-optall). */ + if (optgroup_flags == OPTGROUP_NONE) + optgroup_flags = OPTGROUP_OTHER; id = dump_register (dot_name, flag_name, glob_name, flags, optgroup_flags); set_pass_for_id (id, pass); full_name = concat (prefix, pass->name, num, NULL); @@ -1365,7 +1370,19 @@ void register_pass (struct register_pass_info *pass_info) { g->get_passes ()->register_pass (pass_info); +} + +void +register_pass (opt_pass* pass, pass_positioning_ops pos, + const char* ref_pass_name, int ref_pass_inst_number) +{ + register_pass_info i; + i.pass = pass; + i.reference_pass_name = ref_pass_name; + i.ref_pass_instance_number = ref_pass_inst_number; + i.pos_op = pos; + g->get_passes ()->register_pass (&i); } void |