aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2007-11-10 08:46:31 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2007-11-10 08:46:31 +0100
commit416c991fdd5568197d0f545c0e0a2ad3fd577dc6 (patch)
tree93916a577dc944948c3fc3c3b0feb8354f23744a /gcc/tree-inline.h
parent6481b879bad720854a3a1f8be3edc2940b3d4085 (diff)
downloadgcc-416c991fdd5568197d0f545c0e0a2ad3fd577dc6.zip
gcc-416c991fdd5568197d0f545c0e0a2ad3fd577dc6.tar.gz
gcc-416c991fdd5568197d0f545c0e0a2ad3fd577dc6.tar.bz2
re PR middle-end/34018 (ICE: verify_stmts failed)
PR middle-end/34018 * tree-inline.h (copy_body_data): Add regimplify field. * tree-inline.c (copy_body_r): Set id->regimplify to true if an TREE_INVARIANT ADDR_EXPR is no longer invariant after substitutions. (copy_bb): Clear id->regimplify before walk_tree, if it is set afterwards, regimplify the whole statement. * g++.dg/opt/inline14.C: New test. From-SVN: r130068
Diffstat (limited to 'gcc/tree-inline.h')
-rw-r--r--gcc/tree-inline.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-inline.h b/gcc/tree-inline.h
index 895a0af..33eb908 100644
--- a/gcc/tree-inline.h
+++ b/gcc/tree-inline.h
@@ -92,6 +92,9 @@ typedef struct copy_body_data
duplicating BLOCK nodes. */
bool transform_lang_insert_block;
+ /* True if this statement will need to be regimplified. */
+ bool regimplify;
+
/* Statements that might be possibly folded. */
struct pointer_set_t *statements_to_fold;
} copy_body_data;