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, PR70183] Propagate dump flags in pass_manager::register_pass


Hi,

atm dumpfile vzeroupper is not influenced by the flags in -fdump-rtl-all-flags.

The patch fixes this by copying the flags in  pass_manager::register_pass.

OK for stage1 if bootstrap and reg-test succeeds?

Thanks,
- Tom
Propagate dump flags in pass_manager::register_pass

2016-03-16  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.

---
 gcc/passes.c                                          |  6 +++++-
 gcc/testsuite/gcc.target/i386/vzeroupper-dump-flags.c | 10 ++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/gcc/passes.c b/gcc/passes.c
index 9d90251..62fcc03 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/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" } }  */

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