This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, PR70183] Propagate dump flags in pass_manager::register_pass
- From: Tom de Vries <Tom_deVries at mentor dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 16 Mar 2016 12:26:40 +0100
- Subject: [PATCH, PR70183] Propagate dump flags in pass_manager::register_pass
- Authentication-results: sourceware.org; auth=none
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" } } */