Propagate dump flags in pass_manager::register_pass
authorTom de Vries <tom@codesourcery.com>
Sun, 17 Apr 2016 05:22:04 +0000 (05:22 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Sun, 17 Apr 2016 05:22:04 +0000 (05:22 +0000)
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

gcc/ChangeLog
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/vzeroupper-dump-flags.c [new file with mode: 0644]

index 91807e60b06cbcea6b2a4a6ad03d866e45bc0ba8..1dfae4020e64c4f6333f9f31d0864b64991b4243 100644 (file)
@@ -1,3 +1,8 @@
+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
index 7b6deee79c2896d45e89f80be4bf271ca04ef980..b9eab06f93fdcca7f63176751ffcbdf02229640e 100644 (file)
@@ -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;
     }
index efb2caa93a25722684b5496f5bd0ad2d8afa6f88..79b6afa4c2db2f6252f70bb8ffb2bf49862a988c 100644 (file)
@@ -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 (file)
index 0000000..933e595
--- /dev/null
@@ -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" } }  */