summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-02 18:31:47 +0000
committermatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-02 18:31:47 +0000
commitbc83f58704de603dcd6863a3e2f9dcc994b6c14f (patch)
treeda6f6fbaadc0e51a49a926d72b946f5ff6ad2d7e
parent87ded6872697a5b3b114b23be7b41cac398df201 (diff)
downloadgcc-bc83f58704de603dcd6863a3e2f9dcc994b6c14f.tar.gz
PR middle-end/50260
* ipa-split.c (split_function): Call add_referenced_var. * tree-ssa-phiopt.c (cond_store_replacement): Don't call get_var_ann. (cond_if_else_store_replacement_1): Ditto. * tree-ssa-pre.c (get_representative_for): Ditto. (create_expression_by_pieces): Ditto. (insert_into_preds_of_block): Ditto. * tree-sra.c (create_access_replacement): Ditto. (get_replaced_param_substitute): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178489 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/ipa-split.c3
-rw-r--r--gcc/tree-sra.c2
-rw-r--r--gcc/tree-ssa-phiopt.c10
-rw-r--r--gcc/tree-ssa-pre.c12
5 files changed, 21 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 268eabd37ae..b6aeebb40f6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2011-09-02 Michael Matz <matz@suse.de>
+
+ PR middle-end/50260
+ * ipa-split.c (split_function): Call add_referenced_var.
+
+ * tree-ssa-phiopt.c (cond_store_replacement): Don't call get_var_ann.
+ (cond_if_else_store_replacement_1): Ditto.
+ * tree-ssa-pre.c (get_representative_for): Ditto.
+ (create_expression_by_pieces): Ditto.
+ (insert_into_preds_of_block): Ditto.
+ * tree-sra.c (create_access_replacement): Ditto.
+ (get_replaced_param_substitute): Ditto.
+
2011-09-02 Bernd Schmidt <bernds@codesourcery.com>
* config/c6x/c6x.md (collapse-ndfa, no-comb-vect): New
diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c
index 4373a1b423e..d5e5c69b5d8 100644
--- a/gcc/ipa-split.c
+++ b/gcc/ipa-split.c
@@ -988,6 +988,9 @@ split_function (struct split_point *split_point)
arg = gimple_default_def (cfun, parm);
if (!arg)
{
+ /* This parm wasn't used up to now, but is going to be used,
+ hence register it. */
+ add_referenced_var (parm);
arg = make_ssa_name (parm, gimple_build_nop ());
set_default_def (parm, arg);
}
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 2d97845ffe6..203c4823db5 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -1825,7 +1825,6 @@ create_access_replacement (struct access *access, bool rename)
tree repl;
repl = create_tmp_var (access->type, "SR");
- get_var_ann (repl);
add_referenced_var (repl);
if (rename)
mark_sym_for_renaming (repl);
@@ -4106,7 +4105,6 @@ get_replaced_param_substitute (struct ipa_parm_adjustment *adj)
DECL_NAME (repl) = get_identifier (pretty_name);
obstack_free (&name_obstack, pretty_name);
- get_var_ann (repl);
add_referenced_var (repl);
adj->new_ssa_base = repl;
}
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index 30eea319edc..42753447575 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -1269,10 +1269,7 @@ cond_store_replacement (basic_block middle_bb, basic_block join_bb,
/* 2) Create a temporary where we can store the old content
of the memory touched by the store, if we need to. */
if (!condstoretemp || TREE_TYPE (lhs) != TREE_TYPE (condstoretemp))
- {
- condstoretemp = create_tmp_reg (TREE_TYPE (lhs), "cstore");
- get_var_ann (condstoretemp);
- }
+ condstoretemp = create_tmp_reg (TREE_TYPE (lhs), "cstore");
add_referenced_var (condstoretemp);
/* 3) Insert a load from the memory of the store to the temporary
@@ -1355,10 +1352,7 @@ cond_if_else_store_replacement_1 (basic_block then_bb, basic_block else_bb,
/* 2) Create a temporary where we can store the old content
of the memory touched by the store, if we need to. */
if (!condstoretemp || TREE_TYPE (lhs) != TREE_TYPE (condstoretemp))
- {
- condstoretemp = create_tmp_reg (TREE_TYPE (lhs), "cstore");
- get_var_ann (condstoretemp);
- }
+ condstoretemp = create_tmp_reg (TREE_TYPE (lhs), "cstore");
add_referenced_var (condstoretemp);
/* 3) Create a PHI node at the join block, with one argument
diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c
index d784bac6818..6f3b03b3f98 100644
--- a/gcc/tree-ssa-pre.c
+++ b/gcc/tree-ssa-pre.c
@@ -1399,7 +1399,7 @@ get_representative_for (const pre_expr e)
if (!pretemp || exprtype != TREE_TYPE (pretemp))
{
pretemp = create_tmp_reg (exprtype, "pretmp");
- get_var_ann (pretemp);
+ add_referenced_var (pretemp);
}
name = make_ssa_name (pretemp, gimple_build_nop ());
@@ -3178,10 +3178,7 @@ create_expression_by_pieces (basic_block block, pre_expr expr,
/* Build and insert the assignment of the end result to the temporary
that we will return. */
if (!pretemp || exprtype != TREE_TYPE (pretemp))
- {
- pretemp = create_tmp_reg (exprtype, "pretmp");
- get_var_ann (pretemp);
- }
+ pretemp = create_tmp_reg (exprtype, "pretmp");
temp = pretemp;
add_referenced_var (temp);
@@ -3441,10 +3438,7 @@ insert_into_preds_of_block (basic_block block, unsigned int exprnum,
/* Now build a phi for the new variable. */
if (!prephitemp || TREE_TYPE (prephitemp) != type)
- {
- prephitemp = create_tmp_var (type, "prephitmp");
- get_var_ann (prephitemp);
- }
+ prephitemp = create_tmp_var (type, "prephitmp");
temp = prephitemp;
add_referenced_var (temp);