diff options
author | Tom de Vries <tom@codesourcery.com> | 2016-04-17 05:22:04 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2016-04-17 05:22:04 +0000 |
commit | da152c9f7bee5cd40dfcbb4511d882bd65a3d2ae (patch) | |
tree | f007719809e67c58e12e9efb1d74a56ee091813c | |
parent | 17e7ab87992bddfeb3a5f051e024e94d97cbc0a8 (diff) | |
download | gcc-da152c9f7bee5cd40dfcbb4511d882bd65a3d2ae.zip gcc-da152c9f7bee5cd40dfcbb4511d882bd65a3d2ae.tar.gz gcc-da152c9f7bee5cd40dfcbb4511d882bd65a3d2ae.tar.bz2 |
Propagate dump flags in pass_manager::register_pass
2016-04-17 Tom de Vries <tom@codesourcery.com>
PR other/70183
* passes.c (pass_manager::register_pass): Propagate pflags.
* gcc.target/i386/vzeroupper-dump-flags.c: New test.
From-SVN: r235072
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/passes.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/vzeroupper-dump-flags.c | 10 |
4 files changed, 25 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 91807e6..1dfae40 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2016-04-17 Tom de Vries <tom@codesourcery.com> + PR other/70183 + * passes.c (pass_manager::register_pass): Propagate pflags. + +2016-04-17 Tom de Vries <tom@codesourcery.com> + PR other/68875 * pass_manager.h (TERMINATE_PASS_LIST): Add pass argument. * passes.c (pass_manager::pass_manager): Declare and init p_start in diff --git a/gcc/passes.c b/gcc/passes.c index 7b6deee..b9eab06 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1497,8 +1497,12 @@ pass_manager::register_pass (struct register_pass_info *pass_info) tdi = TDI_rtl_all; /* Check if dump-all flag is specified. */ if (dumps->get_dump_file_info (tdi)->pstate) - dumps->get_dump_file_info (added_pass_nodes->pass->static_pass_number) + { + dumps->get_dump_file_info (added_pass_nodes->pass->static_pass_number) ->pstate = dumps->get_dump_file_info (tdi)->pstate; + dumps->get_dump_file_info (added_pass_nodes->pass->static_pass_number) + ->pflags = dumps->get_dump_file_info (tdi)->pflags; + } XDELETE (added_pass_nodes); added_pass_nodes = next_node; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index efb2caa..79b6afa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-04-17 Tom de Vries <tom@codesourcery.com> + + PR other/70183 + * gcc.target/i386/vzeroupper-dump-flags.c: New test. + 2016-04-15 Jan Hubicka <jh@suse.cz> PR ipa/70018 diff --git a/gcc/testsuite/gcc.target/i386/vzeroupper-dump-flags.c b/gcc/testsuite/gcc.target/i386/vzeroupper-dump-flags.c new file mode 100644 index 0000000..933e595 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/vzeroupper-dump-flags.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options " -fdump-rtl-all-slim -mavx -mvzeroupper -fexpensive-optimizations" } */ + +int +foo (void) +{ + return 0; +} + +/* { dg-final { scan-rtl-dump-not "\\(insn " "vzeroupper" } } */ |