+2017-02-21 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/79621
+ * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore
+ blocks with edges to themselves.
+
2017-02-21 Jakub Jelinek <jakub@redhat.com>
PR target/79633
#include "tree-ssa.h"
#include "cfgloop.h"
#include "tree-cfg.h"
+#include "cfganal.h"
#include "intl.h"
if (has_abnormal_or_eh_outgoing_edge_p (bb))
continue;
+
+ /* If BB has an edge to itself, then duplication of BB below
+ could result in reallocation of BB's PHI nodes. If that happens
+ then the loop below over the PHIs would use the old PHI and
+ thus invalid information. We don't have a good way to know
+ if a PHI has been reallocated, so just avoid isolation in
+ this case. */
+ if (find_edge (bb, bb))
+ continue;
+
/* First look for a PHI which sets a pointer to NULL and which
is then dereferenced within BB. This is somewhat overly
conservative, but probably catches most of the interesting
+2017-02-21 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/79621
+ * gcc.c-torture/compile/pr79621.c: New test.
+
2017-02-21 Jakub Jelinek <jakub@redhat.com>
PR c++/79655