diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-11-24 14:07:18 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-11-24 14:07:18 +0000 |
commit | a5650c86908b3048c79602aadbcc619a603410b4 (patch) | |
tree | 67f5be1ec46132969be310c870c5591ebbadbab2 /gcc/gimple-fold.h | |
parent | 44923ba4e0bd04b7cfc98e02eb71d26df559d07c (diff) | |
download | gcc-a5650c86908b3048c79602aadbcc619a603410b4.tar.gz |
2014-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/63679
* tree-ssa-sccvn.c: Include ipa-ref.h, plugin-api.h and cgraph.h.
(copy_reference_ops_from_ref): Fix non-constant ADDR_EXPR case
to properly leave off at -1.
(fully_constant_vn_reference_p): Generalize folding from
constant initializers.
(vn_reference_lookup_3): When looking through aggregate copies
handle offsetted reads and try simplifying the result to
a constant.
* gimple-fold.h (fold_ctor_reference): Export.
* gimple-fold.c (fold_ctor_reference): Likewise.
* gcc.dg/tree-ssa/ssa-fre-42.c: New testcase.
* gcc.dg/tree-ssa/20030807-5.c: Avoid folding read from global to zero.
* gcc.target/i386/ssetype-1.c: Likewise.
* gcc.target/i386/ssetype-3.c: Likewise.
* gcc.target/i386/ssetype-5.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218019 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gimple-fold.h')
-rw-r--r-- | gcc/gimple-fold.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/gimple-fold.h b/gcc/gimple-fold.h index a38848f3396..7574de85d18 100644 --- a/gcc/gimple-fold.h +++ b/gcc/gimple-fold.h @@ -39,6 +39,8 @@ extern tree follow_single_use_edges (tree); extern tree gimple_fold_stmt_to_constant_1 (gimple, tree (*) (tree), tree (*) (tree) = no_follow_ssa_edges); extern tree gimple_fold_stmt_to_constant (gimple, tree (*) (tree)); +extern tree fold_ctor_reference (tree, tree, unsigned HOST_WIDE_INT, + unsigned HOST_WIDE_INT, tree); extern tree fold_const_aggregate_ref_1 (tree, tree (*) (tree)); extern tree fold_const_aggregate_ref (tree); extern tree gimple_get_virt_method_for_binfo (HOST_WIDE_INT, tree, |