aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2016-05-18 18:41:19 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2016-05-18 18:41:19 +0200
commit776e4fe2cacf85c639bbf98ffc49da0ea4d996b2 (patch)
treeea0c61cf669bb09530b2c397848a1956446177e7 /gcc/ipa-prop.c
parent91bb9f80e58963d65a5cd305b438a2d7009cdb09 (diff)
downloadgcc-776e4fe2cacf85c639bbf98ffc49da0ea4d996b2.zip
gcc-776e4fe2cacf85c639bbf98ffc49da0ea4d996b2.tar.gz
gcc-776e4fe2cacf85c639bbf98ffc49da0ea4d996b2.tar.bz2
Const parameters are always unmodified
2016-05-18 Martin Jambor <mjambor@suse.cz> PR ipa/69708 * ipa-prop.c (parm_preserved_before_stmt_p): Return true for loads from TREE_READONLY parameters. From-SVN: r236417
Diffstat (limited to 'gcc/ipa-prop.c')
-rw-r--r--gcc/ipa-prop.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index 785f2f4..117a025 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -803,6 +803,11 @@ parm_preserved_before_stmt_p (struct ipa_func_body_info *fbi, int index,
bool modified = false;
ao_ref refd;
+ tree base = get_base_address (parm_load);
+ gcc_assert (TREE_CODE (base) == PARM_DECL);
+ if (TREE_READONLY (base))
+ return true;
+
/* FIXME: FBI can be NULL if we are being called from outside
ipa_node_analysis or ipcp_transform_function, which currently happens
during inlining analysis. It would be great to extend fbi's lifetime and