aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2011-04-26 09:21:44 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2011-04-26 09:21:44 +0000
commitad0e2567d69760fa7156ef24418b4d10f99def6a (patch)
tree8ff4c2719e2c23a082193dd49ef8d3a607ac33e4 /gcc/tree.h
parent0d467c0bf219265a40b0cfe284092ec5382d4b1a (diff)
downloadgcc-ad0e2567d69760fa7156ef24418b4d10f99def6a.zip
gcc-ad0e2567d69760fa7156ef24418b4d10f99def6a.tar.gz
gcc-ad0e2567d69760fa7156ef24418b4d10f99def6a.tar.bz2
re PR tree-optimization/48694 (possible memory hog bug)
2011-04-26 Richard Guenther <rguenther@suse.de> PR middle-end/48694 * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag. * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set. * gcc.dg/torture/pr48694-1.c: New testcase. * gcc.dg/torture/pr48694-2.c: Likewise. From-SVN: r172954
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 0bc98cd..8f25832 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -5118,7 +5118,8 @@ extern tree fold_fma (location_t, tree, tree, tree, tree);
enum operand_equal_flag
{
OEP_ONLY_CONST = 1,
- OEP_PURE_SAME = 2
+ OEP_PURE_SAME = 2,
+ OEP_CONSTANT_ADDRESS_OF = 4
};
extern int operand_equal_p (const_tree, const_tree, unsigned int);