aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2015-07-23 14:31:44 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2015-07-23 14:31:44 +0000
commitd057c8669b2ca758096697826647bdc06f77c336 (patch)
treeb825dc9fc48e85dddf5705132c0c5adb5a343656 /gcc/fold-const.c
parentdc891fe75e30646dea032b06ab484d814c7e05b6 (diff)
downloadgcc-d057c8669b2ca758096697826647bdc06f77c336.zip
gcc-d057c8669b2ca758096697826647bdc06f77c336.tar.gz
gcc-d057c8669b2ca758096697826647bdc06f77c336.tar.bz2
generic-match-head.c: Include cgraph.h.
2015-07-23 Richard Biener <rguenther@suse.de> * generic-match-head.c: Include cgraph.h. * gimple-match-head.c: Likewise. * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created SSA names. * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification... * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification pattern. From-SVN: r226111
Diffstat (limited to 'gcc/fold-const.c')
-rw-r--r--gcc/fold-const.c23
1 files changed, 0 insertions, 23 deletions
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index fa321f4..886922f 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -11082,29 +11082,6 @@ fold_binary_loc (location_t loc,
&& code == NE_EXPR)
return non_lvalue_loc (loc, fold_convert_loc (loc, type, arg0));
- /* If this is an equality comparison of the address of two non-weak,
- unaliased symbols neither of which are extern (since we do not
- have access to attributes for externs), then we know the result. */
- if (TREE_CODE (arg0) == ADDR_EXPR
- && DECL_P (TREE_OPERAND (arg0, 0))
- && TREE_CODE (arg1) == ADDR_EXPR
- && DECL_P (TREE_OPERAND (arg1, 0)))
- {
- int equal;
-
- if (decl_in_symtab_p (TREE_OPERAND (arg0, 0))
- && decl_in_symtab_p (TREE_OPERAND (arg1, 0)))
- equal = symtab_node::get_create (TREE_OPERAND (arg0, 0))
- ->equal_address_to (symtab_node::get_create
- (TREE_OPERAND (arg1, 0)));
- else
- equal = TREE_OPERAND (arg0, 0) == TREE_OPERAND (arg1, 0);
- if (equal != 2)
- return constant_boolean_node (equal
- ? code == EQ_EXPR : code != EQ_EXPR,
- type);
- }
-
/* Similarly for a BIT_XOR_EXPR; X ^ C1 == C2 is X == (C1 ^ C2). */
if (TREE_CODE (arg0) == BIT_XOR_EXPR
&& TREE_CODE (arg1) == INTEGER_CST