From: Sebastian Pop <sebpop@gmail.com>
To: gcc-patches@gcc.gnu.org
Cc: gcc-graphite@googlegroups.com, Sebastian Pop <sebpop@gmail.com>
Subject: [PATCH 12/12] Unshare the scev before code generating it.
Date: Fri, 16 Jul 2010 07:05:00 -0000 [thread overview]
Message-ID: <1279263843-9149-13-git-send-email-sebpop@gmail.com> (raw)
In-Reply-To: <1279263843-9149-1-git-send-email-sebpop@gmail.com>
2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
* sese.c (rename_uses): Call unshare_expr before force_gimple_operand.
* gcc.dg/graphite/id-23.c: New.
---
gcc/ChangeLog.graphite | 6 ++++++
gcc/sese.c | 3 ++-
gcc/testsuite/gcc.dg/graphite/id-23.c | 22 ++++++++++++++++++++++
3 files changed, 30 insertions(+), 1 deletions(-)
create mode 100644 gcc/testsuite/gcc.dg/graphite/id-23.c
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index 6600df7..1cf50f3 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,5 +1,11 @@
2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
+ * sese.c (rename_uses): Call unshare_expr before force_gimple_operand.
+
+ * gcc.dg/graphite/id-23.c: New.
+
+2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
+
* graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
SSA scalar phi nodes that can be scev_analyzable_p.
diff --git a/gcc/sese.c b/gcc/sese.c
index f59f317..3f7266b 100644
--- a/gcc/sese.c
+++ b/gcc/sese.c
@@ -543,7 +543,8 @@ rename_uses (gimple copy, htab_t rename_map, gimple_stmt_iterator *gsi_tgt,
&& !tree_contains_chrecs (new_expr, NULL));
/* Replace the old_name with the new_expr. */
- new_expr = force_gimple_operand (new_expr, &stmts, true, NULL);
+ new_expr = force_gimple_operand (unshare_expr (new_expr), &stmts,
+ true, NULL);
gsi_insert_seq_before (gsi_tgt, stmts, GSI_SAME_STMT);
replace_exp (use_p, new_expr);
set_rename (rename_map, old_name, new_expr);
diff --git a/gcc/testsuite/gcc.dg/graphite/id-23.c b/gcc/testsuite/gcc.dg/graphite/id-23.c
new file mode 100644
index 0000000..0f8a1f3
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/id-23.c
@@ -0,0 +1,22 @@
+double *ZV_entries (void);
+void SubMtx_fillRowZV (int irow)
+{
+ double *rowvec = ZV_entries ();
+ double *entries;
+ int ii, ipivot, jrow, kk, m;
+ int *pivotsizes;
+
+ SubMtx_blockDiagonalInfo (&pivotsizes);
+
+ for (jrow = ipivot = kk = 0; jrow <= irow; ipivot++)
+ {
+ m = pivotsizes[ipivot];
+ if (jrow <= irow && irow < jrow + m)
+ for (ii = jrow; ii < irow; ii++)
+ {
+ rowvec[2*ii] = entries[2*kk];
+ rowvec[2*ii+1] = entries[2*kk+1];
+ }
+ jrow += m;
+ }
+}
--
1.7.0.4
next prev parent reply other threads:[~2010-07-16 7:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-16 7:04 [PATCH 00/12] [graphite] Remove the induction variable canonicalization Sebastian Pop
2010-07-16 7:04 ` [PATCH 03/12] chrec_apply should only apply to the specified variable Sebastian Pop
2010-07-16 7:04 ` [PATCH 07/12] Scevs could be expressions without chrecs and still be scev_analyzable_p Sebastian Pop
2010-07-16 7:04 ` [PATCH 09/12] Add testcase for PR42729 and fix handling of gimple_debug info Sebastian Pop
2010-07-16 7:05 ` [PATCH 01/12] Remove insert_loop_close_phis Sebastian Pop
2010-07-16 7:05 ` [PATCH 08/12] Special case non close-phi nodes with one argument in rewrite_close_phi_out_of_ssa Sebastian Pop
2010-07-16 7:05 ` Sebastian Pop [this message]
2010-07-16 7:05 ` [PATCH 05/12] Remove uses of loop->single_iv Sebastian Pop
2010-07-16 7:05 ` [PATCH 11/12] Do not rewrite out of SSA scalar phi nodes that can be scev_analyzable_p Sebastian Pop
2010-07-16 7:05 ` [PATCH 02/12] Remove expand_scalar_variables_ hack Sebastian Pop
2010-07-16 7:05 ` [PATCH 04/12] Also handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps Sebastian Pop
2010-07-16 7:05 ` [PATCH 06/12] Bump the size of scevs Sebastian Pop
2010-07-16 8:03 ` Richard Guenther
2010-07-16 14:41 ` Sebastian Pop
2010-07-16 7:05 ` [PATCH 10/12] Correctly handle SSA_NAME_IS_DEFAULT_DEF in rewrite_close_phi_out_of_ssa Sebastian Pop
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1279263843-9149-13-git-send-email-sebpop@gmail.com \
--to=sebpop@gmail.com \
--cc=gcc-graphite@googlegroups.com \
--cc=gcc-patches@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).