Commit 8f1a73b2 by Richard Biener Committed by Richard Biener

re PR tree-optimization/84803 (ICE from ifcvt_memrefs_wont_trap with -O3)

2018-03-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84803
	* tree-if-conv.c (ifcvt_memrefs_wont_trap): Don't do anything
	for refs DR analysis didn't process.

	* gcc.dg/torture/pr84803.c: New testcase.

From-SVN: r258446
parent b270a521
2018-03-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/84803
* tree-if-conv.c (ifcvt_memrefs_wont_trap): Don't do anything
for refs DR analysis didn't process.
2018-03-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/84777
* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): For
force-vectorize loops ignore whether we are optimizing for size.
......
2018-03-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/84803
* gcc.dg/torture/pr84803.c: New testcase.
2018-03-12 Jakub Jelinek <jakub@redhat.com>
PR c++/84813
......
/* { dg-do compile } */
long a;
long *b;
void c ();
void d ();
void
e (long f)
{
if (a)
*b = f;
}
void
g ()
{
c (g, e);
}
void
c (int f, int h ())
{
d (f, h, "");
}
void
d (int f, int h (), char *i, char *k)
{
int j;
d (f, h, i + 1, k);
while (--j)
h (*i);
}
......@@ -864,6 +864,11 @@ base_object_writable (tree ref)
static bool
ifcvt_memrefs_wont_trap (gimple *stmt, vec<data_reference_p> drs)
{
/* If DR didn't see a reference here we can't use it to tell
whether the ref traps or not. */
if (gimple_uid (stmt) == 0)
return false;
data_reference_p *master_dr, *base_master_dr;
data_reference_p a = drs[gimple_uid (stmt) - 1];
......
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