aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-04-28 07:05:27 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-04-28 07:05:27 +0000
commit782e47649004a0fbc97d0a8d8817577923a5e619 (patch)
treebc1d3f9a4dbf7b8d4e4547d72128355009b2d84a
parent5c2cab46561c26daf25039c43c086ffa9e4e67a7 (diff)
downloadgcc-782e47649004a0fbc97d0a8d8817577923a5e619.zip
gcc-782e47649004a0fbc97d0a8d8817577923a5e619.tar.gz
gcc-782e47649004a0fbc97d0a8d8817577923a5e619.tar.bz2
tree-cfg.c (verify_gimple_phi): Take a gphi * argument.
2018-04-28 Richard Biener <rguenther@suse.de> * tree-cfg.c (verify_gimple_phi): Take a gphi * argument. (verify_gimple_in_cfg): Rename visited_stmts to visited_throwing_stmts to reflect use. Only add interesting stmts. From-SVN: r259738
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-cfg.c14
2 files changed, 12 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8513d2d..edc952c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-04-28 Richard Biener <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_phi): Take a gphi * argument.
+ (verify_gimple_in_cfg): Rename visited_stmts to visited_throwing_stmts
+ to reflect use. Only add interesting stmts.
+
2018-04-27 Martin Jambor <mjambor@suse.cz>
PR ipa/85549
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 34ab248..8726a53 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -5055,7 +5055,7 @@ verify_gimple_stmt (gimple *stmt)
and false otherwise. */
static bool
-verify_gimple_phi (gimple *phi)
+verify_gimple_phi (gphi *phi)
{
bool err = false;
unsigned i;
@@ -5374,7 +5374,7 @@ verify_gimple_in_cfg (struct function *fn, bool verify_nothrow)
timevar_push (TV_TREE_STMT_VERIFY);
hash_set<void *> visited;
- hash_set<gimple *> visited_stmts;
+ hash_set<gimple *> visited_throwing_stmts;
/* Collect all BLOCKs referenced by the BLOCK tree of FN. */
hash_set<tree> blocks;
@@ -5396,8 +5396,6 @@ verify_gimple_in_cfg (struct function *fn, bool verify_nothrow)
bool err2 = false;
unsigned i;
- visited_stmts.add (phi);
-
if (gimple_bb (phi) != bb)
{
error ("gimple_bb (phi) is set to a wrong basic block");
@@ -5453,8 +5451,6 @@ verify_gimple_in_cfg (struct function *fn, bool verify_nothrow)
tree addr;
int lp_nr;
- visited_stmts.add (stmt);
-
if (gimple_bb (stmt) != bb)
{
error ("gimple_bb (stmt) is set to a wrong basic block");
@@ -5504,6 +5500,8 @@ verify_gimple_in_cfg (struct function *fn, bool verify_nothrow)
that they cannot throw, that we update other data structures
to match. */
lp_nr = lookup_stmt_eh_lp (stmt);
+ if (lp_nr != 0)
+ visited_throwing_stmts.add (stmt);
if (lp_nr > 0)
{
if (!stmt_could_throw_p (stmt))
@@ -5527,11 +5525,11 @@ verify_gimple_in_cfg (struct function *fn, bool verify_nothrow)
}
}
- eh_error_found = false;
hash_map<gimple *, int> *eh_table = get_eh_throw_stmt_table (cfun);
+ eh_error_found = false;
if (eh_table)
eh_table->traverse<hash_set<gimple *> *, verify_eh_throw_stmt_node>
- (&visited_stmts);
+ (&visited_throwing_stmts);
if (err || eh_error_found)
internal_error ("verify_gimple failed");