* [Bug tree-optimization/59779] [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop"
2014-01-12 19:50 [Bug tree-optimization/59779] New: [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop" danglin at gcc dot gnu.org
@ 2014-01-12 19:50 ` danglin at gcc dot gnu.org
2014-01-13 9:55 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: danglin at gcc dot gnu.org @ 2014-01-12 19:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59779
--- Comment #1 from John David Anglin <danglin at gcc dot gnu.org> ---
Created attachment 31817
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31817&action=edit
tree dump
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/59779] [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop"
2014-01-12 19:50 [Bug tree-optimization/59779] New: [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop" danglin at gcc dot gnu.org
2014-01-12 19:50 ` [Bug tree-optimization/59779] " danglin at gcc dot gnu.org
@ 2014-01-13 9:55 ` rguenth at gcc dot gnu.org
2014-03-12 13:55 ` jakub at gcc dot gnu.org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-01-13 9:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59779
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.9.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/59779] [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop"
2014-01-12 19:50 [Bug tree-optimization/59779] New: [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop" danglin at gcc dot gnu.org
2014-01-12 19:50 ` [Bug tree-optimization/59779] " danglin at gcc dot gnu.org
2014-01-13 9:55 ` rguenth at gcc dot gnu.org
@ 2014-03-12 13:55 ` jakub at gcc dot gnu.org
2014-03-13 1:39 ` dave.anglin at bell dot net
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-12 13:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59779
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Can't reproduce this with a cross-compiler to hppa-unknown-linux on current
trunk:
./cc1 -O2 -quiet -ftree-parallelize-loops=4 -fdump-tree-parloops-details
-fdump-tree-optimized outer-1.c -nostdinc; grep 'parallelizing outer loop'
outer-1.c.112t.parloops; grep loopfn outer-1.c.169t.optimized
parallelizing outer loop 9
__builtin_GOMP_parallel (parloop._loopfn.0, &.paral_data_store.8, 4, 0);
;; Function parloop._loopfn.0 (parloop._loopfn.0, funcdef_no=2, decl_uid=1447,
symbol_order=3)
parloop._loopfn.0 (void * .paral_data_param)
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/59779] [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop"
2014-01-12 19:50 [Bug tree-optimization/59779] New: [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop" danglin at gcc dot gnu.org
` (2 preceding siblings ...)
2014-03-12 13:55 ` jakub at gcc dot gnu.org
@ 2014-03-13 1:39 ` dave.anglin at bell dot net
2014-03-13 8:44 ` jakub at gcc dot gnu.org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: dave.anglin at bell dot net @ 2014-03-13 1:39 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59779
--- Comment #3 from dave.anglin at bell dot net ---
On 12-Mar-14, at 9:55 AM, jakub at gcc dot gnu.org wrote:
> Can't reproduce this with a cross-compiler to hppa-unknown-linux on
> current
> trunk:
Could this be a HOST_WIDE_INT issue? I see this for 32-bit builds on
both hpux and linux,
but not on 64-bit builds.
Dave
--
John David Anglin dave.anglin@bell.net
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/59779] [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop"
2014-01-12 19:50 [Bug tree-optimization/59779] New: [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop" danglin at gcc dot gnu.org
` (3 preceding siblings ...)
2014-03-13 1:39 ` dave.anglin at bell dot net
@ 2014-03-13 8:44 ` jakub at gcc dot gnu.org
2014-03-13 10:31 ` jakub at gcc dot gnu.org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-13 8:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59779
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-03-13
Ever confirmed|0 |1
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Indeed, you're right, seems cddce1 removes the first loop when HOST_WIDE_INT is
32-bit. So, you really don't need -ftree-parallelize-loop=4 at all, the
testcase would just abort at runtime. Looking into it.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/59779] [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop"
2014-01-12 19:50 [Bug tree-optimization/59779] New: [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop" danglin at gcc dot gnu.org
` (4 preceding siblings ...)
2014-03-13 8:44 ` jakub at gcc dot gnu.org
@ 2014-03-13 10:31 ` jakub at gcc dot gnu.org
2014-03-13 11:33 ` jakub at gcc dot gnu.org
2014-03-13 19:10 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-13 10:31 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59779
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The following fixes this for me:
--- gcc/tree-dfa.c.jj 2014-01-03 11:40:57.000000000 +0100
+++ gcc/tree-dfa.c 2014-03-13 11:22:20.727848114 +0100
@@ -615,6 +615,15 @@ get_ref_base_and_extent (tree exp, HOST_
maxsize = -1;
done:
+ if (bitsize < 0)
+ {
+ *poffset = 0;
+ *psize = -1;
+ *pmax_size = -1;
+
+ return exp;
+ }
+
if (!bit_offset.fits_shwi ())
{
*poffset = 0;
@@ -645,6 +654,9 @@ get_ref_base_and_extent (tree exp, HOST_
maxsize = tree_to_uhwi (TYPE_SIZE (TREE_TYPE (exp))) - hbit_offset;
}
+ if (maxsize < 0)
+ maxsize = -1;
+
/* ??? Due to negative offsets in ARRAY_REF we can end up with
negative bit_offset here. We might want to store a zero offset
in this case. */
The problem is that the array is 0xbebc2000 bits long, and most of the places
in get_ref_base_and_extent work with maxsize (and bitsize) as uhwi, so we can
easily end up with negative, but not -1, maxsize (or bitsize), but callers
obviously expect sizes to be positive or -1 (special magic value for unknown).
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/59779] [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop"
2014-01-12 19:50 [Bug tree-optimization/59779] New: [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop" danglin at gcc dot gnu.org
` (5 preceding siblings ...)
2014-03-13 10:31 ` jakub at gcc dot gnu.org
@ 2014-03-13 11:33 ` jakub at gcc dot gnu.org
2014-03-13 19:10 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-13 11:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59779
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 32344
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32344&action=edit
gcc49-pr59779.patch
Untested fix.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug tree-optimization/59779] [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop"
2014-01-12 19:50 [Bug tree-optimization/59779] New: [4.9 Regression] FAIL: gcc.dg/autopar/outer-1.c scan-tree-dump-times parloops "parallelizing outer loop" danglin at gcc dot gnu.org
` (6 preceding siblings ...)
2014-03-13 11:33 ` jakub at gcc dot gnu.org
@ 2014-03-13 19:10 ` jakub at gcc dot gnu.org
7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-03-13 19:10 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59779
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Mar 13 19:10:05 2014
New Revision: 208554
URL: http://gcc.gnu.org/viewcvs?rev=208554&root=gcc&view=rev
Log:
PR tree-optimization/59779
* tree-dfa.c (get_ref_base_and_extent): Use double_int
type for bitsize and maxsize instead of HOST_WIDE_INT.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-dfa.c
^ permalink raw reply [flat|nested] 9+ messages in thread