Commit b9921bf0 by Richard Biener Committed by Richard Biener

re PR libgomp/84086 ([8 Regresssion] segfault in instantiate_scev_r for…

re PR libgomp/84086 ([8 Regresssion] segfault in instantiate_scev_r for libgomp.fortran/examples-4/simd-2.f90 -O1)

2018-01-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84086
	* tree-ssanames.c: Include cfgloop.h and tree-scalar-evolution.h.
	(flush_ssaname_freelist): When SSA names were released reset
	the SCEV hash table.

From-SVN: r257152
parent 670a8d74
2018-01-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/84086
* tree-ssanames.c: Include cfgloop.h and tree-scalar-evolution.h.
(flush_ssaname_freelist): When SSA names were released reset
the SCEV hash table.
2018-01-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/84057
* tree-ssa-loop-ivcanon.c (unloop_loops): Deal with already
removed paths when removing edges.
......
......@@ -29,6 +29,8 @@ along with GCC; see the file COPYING3. If not see
#include "stor-layout.h"
#include "tree-into-ssa.h"
#include "tree-ssa.h"
#include "cfgloop.h"
#include "tree-scalar-evolution.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
......@@ -241,6 +243,9 @@ verify_ssaname_freelists (struct function *fun)
void
flush_ssaname_freelist (void)
{
/* If there were any SSA names released reset the SCEV cache. */
if (! vec_safe_is_empty (FREE_SSANAMES_QUEUE (cfun)))
scev_reset_htab ();
vec_safe_splice (FREE_SSANAMES (cfun), FREE_SSANAMES_QUEUE (cfun));
vec_safe_truncate (FREE_SSANAMES_QUEUE (cfun), 0);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment