This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/81278] [8 Regression] -fcompare-debug failure (length)
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 03 Jul 2017 13:05:05 +0000
- Subject: [Bug debug/81278] [8 Regression] -fcompare-debug failure (length)
- Auto-submitted: auto-generated
- References: <bug-81278-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81278
--- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Seems a different order in release_ssa_name in that function, in one case it is
198, 2, 199, 23, 40, in the other case 199, 2, 40, 23, 198. Used
--- tree-ssanames.c.xx 2017-07-01 10:15:12.000000000 +0200
+++ tree-ssanames.c 2017-07-03 14:43:13.278636615 +0200
@@ -29,6 +29,7 @@ along with GCC; see the file COPYING3.
#include "stor-layout.h"
#include "tree-into-ssa.h"
#include "tree-ssa.h"
+#include "tree-pretty-print.h"
/* Rewriting a function into SSA form can create a huge number of SSA_NAMEs,
many of which may be thrown away shortly after their creation if jumps
@@ -309,6 +310,14 @@ make_ssa_name_fn (struct function *fn, t
else
SSA_NAME_RANGE_INFO (t) = NULL;
+{
+FILE *f = fopen ("/tmp/ssanames", "a");
+fprintf (f, "@@@make_ssa_name ");
+print_generic_expr (f, t, TDF_VOPS|TDF_MEMSYMS);
+fprintf (f, " %s\n", IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME
(current_function_decl)));
+fclose (f);
+}
+
SSA_NAME_IN_FREE_LIST (t) = 0;
SSA_NAME_IS_DEFAULT_DEF (t) = 0;
imm = &(SSA_NAME_IMM_USE_NODE (t));
@@ -560,6 +569,14 @@ release_ssa_name_fn (struct function *fn
int saved_ssa_name_version = SSA_NAME_VERSION (var);
use_operand_p imm = &(SSA_NAME_IMM_USE_NODE (var));
+{
+FILE *f = fopen ("/tmp/ssanames", "a");
+fprintf (f, "@@@release_ssa_name ");
+print_generic_expr (f, var, TDF_VOPS|TDF_MEMSYMS);
+fprintf (f, " %s\n", IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME
(current_function_decl)));
+fclose (f);
+}
+
if (MAY_HAVE_DEBUG_STMTS)
insert_debug_temp_for_var_def (NULL, var);
hack to find that out. Now to debug where those release_ssa_name calls come
from and what is the difference.