diff options
author | Richard Biener <rguenther@suse.de> | 2015-07-23 14:31:44 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-07-23 14:31:44 +0000 |
commit | d057c8669b2ca758096697826647bdc06f77c336 (patch) | |
tree | b825dc9fc48e85dddf5705132c0c5adb5a343656 /gcc/fold-const.c | |
parent | dc891fe75e30646dea032b06ab484d814c7e05b6 (diff) | |
download | gcc-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.c | 23 |
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 |