public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-4@http.gcc.gnu.org/bugzilla/> @ 2011-01-18 20:55 ` spop at gcc dot gnu.org 2011-01-18 20:55 ` spop at gcc dot gnu.org ` (4 subsequent siblings) 5 siblings, 0 replies; 9+ messages in thread From: spop at gcc dot gnu.org @ 2011-01-18 20:55 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 --- Comment #6 from Sebastian Pop <spop at gcc dot gnu.org> 2011-01-18 20:54:23 UTC --- Author: spop Date: Tue Jan 18 20:54:18 2011 New Revision: 168962 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168962 Log: Add testcase for PR43567. 2011-01-18 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/43567 * gcc.dg/graphite/pr43567.c: New. Added: branches/graphite/gcc/testsuite/gcc.dg/graphite/pr43567.c Modified: branches/graphite/gcc/ChangeLog.graphite ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-4@http.gcc.gnu.org/bugzilla/> 2011-01-18 20:55 ` [Bug tree-optimization/43567] linear loop transform spop at gcc dot gnu.org @ 2011-01-18 20:55 ` spop at gcc dot gnu.org 2011-01-18 21:03 ` spop at gcc dot gnu.org ` (3 subsequent siblings) 5 siblings, 0 replies; 9+ messages in thread From: spop at gcc dot gnu.org @ 2011-01-18 20:55 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 --- Comment #5 from Sebastian Pop <spop at gcc dot gnu.org> 2011-01-18 20:47:10 UTC --- *** Bug 43568 has been marked as a duplicate of this bug. *** ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-4@http.gcc.gnu.org/bugzilla/> 2011-01-18 20:55 ` [Bug tree-optimization/43567] linear loop transform spop at gcc dot gnu.org 2011-01-18 20:55 ` spop at gcc dot gnu.org @ 2011-01-18 21:03 ` spop at gcc dot gnu.org 2011-01-25 21:27 ` spop at gcc dot gnu.org ` (2 subsequent siblings) 5 siblings, 0 replies; 9+ messages in thread From: spop at gcc dot gnu.org @ 2011-01-18 21:03 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 Sebastian Pop <spop at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2011.01.18 20:57:45 AssignedTo|unassigned at gcc dot |spop at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #7 from Sebastian Pop <spop at gcc dot gnu.org> 2011-01-18 20:57:45 UTC --- Fixed on the graphite branch. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-4@http.gcc.gnu.org/bugzilla/> ` (2 preceding siblings ...) 2011-01-18 21:03 ` spop at gcc dot gnu.org @ 2011-01-25 21:27 ` spop at gcc dot gnu.org 2011-01-25 22:05 ` spop at gcc dot gnu.org 2011-02-02 17:48 ` dnovillo at gcc dot gnu.org 5 siblings, 0 replies; 9+ messages in thread From: spop at gcc dot gnu.org @ 2011-01-25 21:27 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 --- Comment #8 from Sebastian Pop <spop at gcc dot gnu.org> 2011-01-25 21:24:41 UTC --- Author: spop Date: Tue Jan 25 21:24:35 2011 New Revision: 169252 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169252 Log: Add testcase for PR43567. 2011-01-25 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/43567 * gcc.dg/graphite/pr43567.c: New. Added: trunk/gcc/testsuite/gcc.dg/graphite/pr43567.c Modified: trunk/gcc/ChangeLog.graphite trunk/gcc/testsuite/ChangeLog ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-4@http.gcc.gnu.org/bugzilla/> ` (3 preceding siblings ...) 2011-01-25 21:27 ` spop at gcc dot gnu.org @ 2011-01-25 22:05 ` spop at gcc dot gnu.org 2011-02-02 17:48 ` dnovillo at gcc dot gnu.org 5 siblings, 0 replies; 9+ messages in thread From: spop at gcc dot gnu.org @ 2011-01-25 22:05 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 Sebastian Pop <spop at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #9 from Sebastian Pop <spop at gcc dot gnu.org> 2011-01-25 21:28:23 UTC --- Fixed. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-4@http.gcc.gnu.org/bugzilla/> ` (4 preceding siblings ...) 2011-01-25 22:05 ` spop at gcc dot gnu.org @ 2011-02-02 17:48 ` dnovillo at gcc dot gnu.org 5 siblings, 0 replies; 9+ messages in thread From: dnovillo at gcc dot gnu.org @ 2011-02-02 17:48 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 --- Comment #10 from Diego Novillo <dnovillo at gcc dot gnu.org> 2011-02-02 17:48:04 UTC --- Author: dnovillo Date: Wed Feb 2 17:48:00 2011 New Revision: 169591 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169591 Log: Add testcase for PR43567. 2011-01-25 Sebastian Pop <sebastian.pop@amd.com> PR tree-optimization/43567 * gcc.dg/graphite/pr43567.c: New. Added: branches/google/integration/gcc/testsuite/gcc.dg/graphite/pr43567.c Modified: branches/google/integration/gcc/ChangeLog.graphite branches/google/integration/gcc/testsuite/ChangeLog ^ permalink raw reply [flat|nested] 9+ messages in thread
[parent not found: <bug-43567-18979@http.gcc.gnu.org/bugzilla/>]
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-18979@http.gcc.gnu.org/bugzilla/> @ 2010-06-25 19:16 ` tjvries at xs4all dot nl 2010-06-25 20:06 ` tjvries at xs4all dot nl 2010-07-11 6:10 ` tjvries at xs4all dot nl 2 siblings, 0 replies; 9+ messages in thread From: tjvries at xs4all dot nl @ 2010-06-25 19:16 UTC (permalink / raw) To: gcc-bugs ------- Comment #2 from tjvries at xs4all dot nl 2010-06-25 19:16 ------- Created an attachment (id=21007) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21007&action=view) slightly more minimal testcase reproduced on trunk revision 161295 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-18979@http.gcc.gnu.org/bugzilla/> 2010-06-25 19:16 ` tjvries at xs4all dot nl @ 2010-06-25 20:06 ` tjvries at xs4all dot nl 2010-07-11 6:10 ` tjvries at xs4all dot nl 2 siblings, 0 replies; 9+ messages in thread From: tjvries at xs4all dot nl @ 2010-06-25 20:06 UTC (permalink / raw) To: gcc-bugs ------- Comment #3 from tjvries at xs4all dot nl 2010-06-25 20:06 ------- Created an attachment (id=21008) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21008&action=view) partially redoing the fix for bug 20612 The problem is in this piece of code in lambda_loopnest_gcc_loopnest: ... /* Create the new iv. */ standard_iv_increment_position (temp, &bsi, &insert_after); create_iv (newlowerbound, build_int_cst (type, LL_STEP (newloop)), ivvar, temp, &bsi, insert_after, &ivvar, NULL); /* Unfortunately, the incremented ivvar that create_iv inserted may not dominate the block containing the exit condition. So we simply create our own incremented iv to use in the new exit test, and let redundancy elimination sort it out. */ inc_stmt = gimple_build_assign_with_ops (PLUS_EXPR, SSA_NAME_VAR (ivvar), ivvar, build_int_cst (type, LL_STEP (newloop))); ivvarinced = make_ssa_name (SSA_NAME_VAR (ivvar), inc_stmt); gimple_assign_set_lhs (inc_stmt, ivvarinced); bsi = gsi_for_stmt (exitcond); gsi_insert_before (&bsi, inc_stmt, GSI_SAME_STMT); ... In case the loop header is copied (-ftree-ch), the second increment is in the same block as the first increment: ... lnivtmp.6_13 = lnivtmp.6_20 + 1; lnivtmp.6_1 = lnivtmp.6_20 + 1; if (lletmp.8_21 >= lnivtmp.6_1) ... indeed redundancy elimination sorts this out. However, if the loop header is not copied: ...<bb 5>: i_11 = i_1 + 1; lnivtmp.2_19 = lnivtmp.2_5 + 1; <bb 6>: # i_1 = PHI <0(2), i_11(5)> # lnivtmp.2_5 = PHI <0(2), lnivtmp.2_19(5)> lletmp.4_16 = n_4(D) + -1; lnivtmp.2_17 = lnivtmp.2_5 + 1; if (lletmp.4_16 >= lnivtmp.2_17) ... the second increment is an extra increment, on top of the first one. The patches fixes this, I'm not sure how minimal or efficient, but I did a x86_64-unknown-linux-gnu bootstrap build and ran testsuites (gcc, objc, gfortran, g++, libgomp, libstdc++, libjava, libmudflap, libffi) for r161295 and r161295+patch, with identical results. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/43567] linear loop transform [not found] <bug-43567-18979@http.gcc.gnu.org/bugzilla/> 2010-06-25 19:16 ` tjvries at xs4all dot nl 2010-06-25 20:06 ` tjvries at xs4all dot nl @ 2010-07-11 6:10 ` tjvries at xs4all dot nl 2 siblings, 0 replies; 9+ messages in thread From: tjvries at xs4all dot nl @ 2010-07-11 6:10 UTC (permalink / raw) To: gcc-bugs ------- Comment #4 from tjvries at xs4all dot nl 2010-07-11 06:10 ------- submitted patch for review: http://gcc.gnu.org/ml/gcc-patches/2010-07/msg00879.html -- tjvries at xs4all dot nl changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |tjvries at xs4all dot nl http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43567 ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-02-02 17:48 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <bug-43567-4@http.gcc.gnu.org/bugzilla/> 2011-01-18 20:55 ` [Bug tree-optimization/43567] linear loop transform spop at gcc dot gnu.org 2011-01-18 20:55 ` spop at gcc dot gnu.org 2011-01-18 21:03 ` spop at gcc dot gnu.org 2011-01-25 21:27 ` spop at gcc dot gnu.org 2011-01-25 22:05 ` spop at gcc dot gnu.org 2011-02-02 17:48 ` dnovillo at gcc dot gnu.org [not found] <bug-43567-18979@http.gcc.gnu.org/bugzilla/> 2010-06-25 19:16 ` tjvries at xs4all dot nl 2010-06-25 20:06 ` tjvries at xs4all dot nl 2010-07-11 6:10 ` tjvries at xs4all dot nl
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).