public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/94969] New: Invalid loop distribution
@ 2020-05-06 9:12 krebbel at gcc dot gnu.org
2020-05-06 9:16 ` [Bug tree-optimization/94969] " krebbel at gcc dot gnu.org
` (19 more replies)
0 siblings, 20 replies; 21+ messages in thread
From: krebbel at gcc dot gnu.org @ 2020-05-06 9:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
Bug ID: 94969
Summary: Invalid loop distribution
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: critical
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: krebbel at gcc dot gnu.org
Target Milestone: ---
Created attachment 48461
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48461&action=edit
Testcase
The attached testcase aborts on x86 when compiled with -O3. It succeeds with
-O2 or -O3 -fno-loop-distribution.
The loop is distributed separating the two statements. This affects the result
of the testcase.
for (; c <= 1; c++) {
f[b] = g;
f[b].e ^= 1;
}
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] Invalid loop distribution
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
@ 2020-05-06 9:16 ` krebbel at gcc dot gnu.org
2020-05-06 9:21 ` krebbel at gcc dot gnu.org
` (18 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: krebbel at gcc dot gnu.org @ 2020-05-06 9:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #1 from Andreas Krebbel <krebbel at gcc dot gnu.org> ---
The problem arises from dr_analyze_innermost not being able to analyze the
bitfield access. However, the returned error is ignored in
find_data_references_in_stmt and execution continues with bogus values in the
data reference object.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] Invalid loop distribution
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
2020-05-06 9:16 ` [Bug tree-optimization/94969] " krebbel at gcc dot gnu.org
@ 2020-05-06 9:21 ` krebbel at gcc dot gnu.org
2020-05-06 9:22 ` krebbel at gcc dot gnu.org
` (17 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: krebbel at gcc dot gnu.org @ 2020-05-06 9:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #2 from Andreas Krebbel <krebbel at gcc dot gnu.org> ---
Created attachment 48462
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48462&action=edit
Experimental patch
With this patch the returned error is propagated. Unfortunately this prevents
some vectorizations e.g. in gcc.dg/vect/vect-simd-5.c. The reason appears to be
the "evolution of base is not affine" failure in dr_analyze_innermost which now
also gets propagated.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] Invalid loop distribution
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
2020-05-06 9:16 ` [Bug tree-optimization/94969] " krebbel at gcc dot gnu.org
2020-05-06 9:21 ` krebbel at gcc dot gnu.org
@ 2020-05-06 9:22 ` krebbel at gcc dot gnu.org
2020-05-06 9:38 ` [Bug tree-optimization/94969] [8/9/10/11 Regression] " rguenth at gcc dot gnu.org
` (16 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: krebbel at gcc dot gnu.org @ 2020-05-06 9:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
Andreas Krebbel <krebbel at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
Host| |x86_64-gnu-linux
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (2 preceding siblings ...)
2020-05-06 9:22 ` krebbel at gcc dot gnu.org
@ 2020-05-06 9:38 ` rguenth at gcc dot gnu.org
2020-05-06 9:54 ` [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9 marxin at gcc dot gnu.org
` (15 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-06 9:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |8.5
Keywords| |wrong-code
Last reconfirmed| |2020-05-06
Status|UNCONFIRMED |NEW
Summary|Invalid loop distribution |[8/9/10/11 Regression]
| |Invalid loop distribution
Known to work| |7.5.0
Ever confirmed|0 |1
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed. Works fine in GCC 7 which also says
Creating dr for f[pretmp_5].e
analyze_innermost: Applying pattern match.pd:84, generic-match.c:11461
failed: bit offset alignment.
base_address:
offset from base address:
constant offset from base address:
step:
aligned to:
base_object: f
Access function 0: 7
Access function 1: pretmp_5
but
(compute_affine_dependence
stmt_a: f[pretmp_5] = g;
stmt_b: _2 = f[pretmp_5].e;
) -> dependence analysis failed
instead of
(compute_affine_dependence
stmt_a: f[pretmp_5] = g;
stmt_b: _2 = f[pretmp_5].e;
(analyze_overlapping_iterations
(chrec_a = pretmp_5)
(chrec_b = pretmp_5)
(overlap_iterations_a = [0])
(overlap_iterations_b = [0]))
)
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (3 preceding siblings ...)
2020-05-06 9:38 ` [Bug tree-optimization/94969] [8/9/10/11 Regression] " rguenth at gcc dot gnu.org
@ 2020-05-06 9:54 ` marxin at gcc dot gnu.org
2020-05-06 10:01 ` rguenth at gcc dot gnu.org
` (14 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-05-06 9:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[8/9/10/11 Regression] |[8/9/10/11 Regression]
|Invalid loop distribution |Invalid loop distribution
| |since
| |r8-2390-gdfbddbeb1ca912c9
CC| |marxin at gcc dot gnu.org,
| |rsandifo at gcc dot gnu.org
--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, started with -O3 -ftree-loop-distribution since
r8-2390-gdfbddbeb1ca912c9
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (4 preceding siblings ...)
2020-05-06 9:54 ` [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9 marxin at gcc dot gnu.org
@ 2020-05-06 10:01 ` rguenth at gcc dot gnu.org
2020-05-06 10:05 ` rguenth at gcc dot gnu.org
` (13 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-06 10:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
So I think the issue is not dependence testing but loop distribution accepting
a
zero dependence distance as OK. Of course dependence analysis is quite useless
here since the accesses are to the same location in every iteration.
Bin, maybe you can share your thoughts on this issue?
The testcase doesn't need bitfields - those just disable the cost model
which otherwise prevents the distribution.
diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
index 44423215332..ac272d63c3d 100644
--- a/gcc/tree-loop-distribution.c
+++ b/gcc/tree-loop-distribution.c
@@ -2852,6 +2852,7 @@ loop_distribution::finalize_partitions (class loop *loop,
/* Don't distribute current loop into too many loops given we don't have
memory stream cost model. Be even more conservative in case of loop
nest distribution. */
+#if 0
if ((same_type_p && num_builtin == 0
&& (loop->inner == NULL || num_normal != 2 || num_partial_memset != 1))
|| (loop->inner != NULL
@@ -2867,6 +2868,7 @@ loop_distribution::finalize_partitions (class loop *loop,
}
partitions->truncate (1);
}
+#endif
/* Fuse memset builtins if possible. */
if (partitions->length () > 1)
makes the testcase miscompiled even with the : 7 and : 2 commented, so plain
struct S {
signed m;
signed e;
};
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (5 preceding siblings ...)
2020-05-06 10:01 ` rguenth at gcc dot gnu.org
@ 2020-05-06 10:05 ` rguenth at gcc dot gnu.org
2020-05-10 15:54 ` amker at gcc dot gnu.org
` (12 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-05-06 10:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Before Richards change we likely gave up on the mismatch in access function
dimensionality for f[b] vs. f[b].e but now we compute a dependence distance
of zero.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (6 preceding siblings ...)
2020-05-06 10:05 ` rguenth at gcc dot gnu.org
@ 2020-05-10 15:54 ` amker at gcc dot gnu.org
2020-05-11 5:40 ` amker at gcc dot gnu.org
` (11 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: amker at gcc dot gnu.org @ 2020-05-10 15:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #7 from bin cheng <amker at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> So I think the issue is not dependence testing but loop distribution
> accepting a
> zero dependence distance as OK. Of course dependence analysis is quite
> useless
> here since the accesses are to the same location in every iteration.
>
> Bin, maybe you can share your thoughts on this issue?
>
> The testcase doesn't need bitfields - those just disable the cost model
> which otherwise prevents the distribution.
>
> diff --git a/gcc/tree-loop-distribution.c b/gcc/tree-loop-distribution.c
> index 44423215332..ac272d63c3d 100644
> --- a/gcc/tree-loop-distribution.c
> +++ b/gcc/tree-loop-distribution.c
> @@ -2852,6 +2852,7 @@ loop_distribution::finalize_partitions (class loop
> *loop,
> /* Don't distribute current loop into too many loops given we don't have
> memory stream cost model. Be even more conservative in case of loop
> nest distribution. */
> +#if 0
> if ((same_type_p && num_builtin == 0
> && (loop->inner == NULL || num_normal != 2 || num_partial_memset !=
> 1))
> || (loop->inner != NULL
> @@ -2867,6 +2868,7 @@ loop_distribution::finalize_partitions (class loop
> *loop,
> }
> partitions->truncate (1);
> }
> +#endif
>
> /* Fuse memset builtins if possible. */
> if (partitions->length () > 1)
>
>
> makes the testcase miscompiled even with the : 7 and : 2 commented, so plain
>
> struct S {
> signed m;
> signed e;
> };
I think there is something wrong in data dependence analysis, however,
Richard's change just exposed it.
Given below loop and data refs:
for (...) {
array[loop_invariant] = x; // ref1
array[loop_invariant] ^= 1; // ref2
}
There are both output dependence for ref2(iteration i) -> ref1 (iteration i +
1), and for ref1(iteration i) -> ref2(iteration i).
It seems to me now the first one is missing. Will dig deeper.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (7 preceding siblings ...)
2020-05-10 15:54 ` amker at gcc dot gnu.org
@ 2020-05-11 5:40 ` amker at gcc dot gnu.org
2020-05-13 3:39 ` cvs-commit at gcc dot gnu.org
` (10 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: amker at gcc dot gnu.org @ 2020-05-11 5:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #8 from bin cheng <amker at gcc dot gnu.org> ---
Root cause is in build_classic_dist_vector -> constant_access_functions which
adds unit distance vector only in case of constant access function. It should
cover invariant cases. Testing a patch. Thanks
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (8 preceding siblings ...)
2020-05-11 5:40 ` amker at gcc dot gnu.org
@ 2020-05-13 3:39 ` cvs-commit at gcc dot gnu.org
2020-05-18 1:39 ` amker at gcc dot gnu.org
` (9 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-13 3:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Bin Cheng <amker@gcc.gnu.org>:
https://gcc.gnu.org/g:f6e1a4cd83190746b6544917f7526fa480ca5f18
commit r11-345-gf6e1a4cd83190746b6544917f7526fa480ca5f18
Author: Bin Cheng <bin.cheng@linux.alibaba.com>
Date: Wed May 13 11:37:47 2020 +0800
Add missing unit dependence vector in data dependence analysis
Current data dependence analysis misses unit distant vector if DRs in
DDR have the same invariant access functions. This adds the vector as
the constant access function case.
2020-05-13 Bin Cheng <bin.cheng@linux.alibaba.com>
PR tree-optimization/94969
gcc/
* tree-data-dependence.c (constant_access_functions): Rename to...
(invariant_access_functions): ...this. Add parameter. Check for
invariant access function, rather than constant.
(build_classic_dist_vector): Call above function.
* tree-loop-distribution.c (pg_add_dependence_edges): Add comment.
gcc/testsuite/
* gcc.dg/tree-ssa/pr94969.c: New test.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (9 preceding siblings ...)
2020-05-13 3:39 ` cvs-commit at gcc dot gnu.org
@ 2020-05-18 1:39 ` amker at gcc dot gnu.org
2020-05-18 5:49 ` rguenther at suse dot de
` (8 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: amker at gcc dot gnu.org @ 2020-05-18 1:39 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #10 from bin cheng <amker at gcc dot gnu.org> ---
Hi,should I backport this and PR95110 to branches? Thanks
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (10 preceding siblings ...)
2020-05-18 1:39 ` amker at gcc dot gnu.org
@ 2020-05-18 5:49 ` rguenther at suse dot de
2020-05-22 3:47 ` cvs-commit at gcc dot gnu.org
` (7 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rguenther at suse dot de @ 2020-05-18 5:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #11 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 18 May 2020, amker at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
>
> --- Comment #10 from bin cheng <amker at gcc dot gnu.org> ---
> Hi,should I backport this and PR95110 to branches? Thanks
Yes. Thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (11 preceding siblings ...)
2020-05-18 5:49 ` rguenther at suse dot de
@ 2020-05-22 3:47 ` cvs-commit at gcc dot gnu.org
2020-06-17 15:38 ` krebbel at gcc dot gnu.org
` (6 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-05-22 3:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #12 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Bin Cheng <amker@gcc.gnu.org>:
https://gcc.gnu.org/g:466ad887c9e1cd5a6762e7ec620eef2c8175b50d
commit r9-8614-g466ad887c9e1cd5a6762e7ec620eef2c8175b50d
Author: Bin Cheng <bin.cheng@linux.alibaba.com>
Date: Fri May 22 11:42:11 2020 +0800
Add missing unit dependence vector in data dependence analysis
Current data dependence analysis misses unit distant vector if DRs in
DDR have the same invariant access functions. This adds the vector as
the constant access function case.
Also fix typo in testcase.
Backport from master.
2020-05-13 Bin Cheng <bin.cheng@linux.alibaba.com>
gcc/
PR tree-optimization/94969
* tree-data-ref.c (constant_access_functions): Rename to...
(invariant_access_functions): ...this. Add parameter. Check for
invariant access function, rather than constant.
(build_classic_dist_vector): Call above function.
* tree-loop-distribution.c (pg_add_dependence_edges): Add comment.
gcc/testsuite/
PR tree-optimization/94969
* gcc.dg/tree-ssa/pr94969.c: New test.
2020-05-13 Jakub Jelinek <jakub@redhat.com>
gcc/testsuite/
PR tree-optimization/95110
* gcc.dg/tree-ssa/pr94969.c: Swap scan-tree-dump-not arguments.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (12 preceding siblings ...)
2020-05-22 3:47 ` cvs-commit at gcc dot gnu.org
@ 2020-06-17 15:38 ` krebbel at gcc dot gnu.org
2020-06-17 15:38 ` krebbel at gcc dot gnu.org
` (5 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: krebbel at gcc dot gnu.org @ 2020-06-17 15:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
Andreas Krebbel <krebbel at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #13 from Andreas Krebbel <krebbel at gcc dot gnu.org> ---
Fixed by Bin Cheng. Thanks!
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (13 preceding siblings ...)
2020-06-17 15:38 ` krebbel at gcc dot gnu.org
@ 2020-06-17 15:38 ` krebbel at gcc dot gnu.org
2020-06-17 16:19 ` [Bug tree-optimization/94969] [8/10 " rguenth at gcc dot gnu.org
` (4 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: krebbel at gcc dot gnu.org @ 2020-06-17 15:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
Andreas Krebbel <krebbel at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
--- Comment #14 from Andreas Krebbel <krebbel at gcc dot gnu.org> ---
Closing
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/10 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (14 preceding siblings ...)
2020-06-17 15:38 ` krebbel at gcc dot gnu.org
@ 2020-06-17 16:19 ` rguenth at gcc dot gnu.org
2020-06-18 1:26 ` amker at gcc dot gnu.org
` (3 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-06-17 16:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|FIXED |---
Known to work| |9.3.1
Status|CLOSED |ASSIGNED
Known to fail| |10.1.0
Summary|[8/9/10/11 Regression] |[8/10 Regression] Invalid
|Invalid loop distribution |loop distribution since
|since |r8-2390-gdfbddbeb1ca912c9
|r8-2390-gdfbddbeb1ca912c9 |
--- Comment #15 from Richard Biener <rguenth at gcc dot gnu.org> ---
I don't see the commit on the GCC 10 branch nor the GCC 8 branch. Master and
GCC 9 are fixed though.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/10 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (15 preceding siblings ...)
2020-06-17 16:19 ` [Bug tree-optimization/94969] [8/10 " rguenth at gcc dot gnu.org
@ 2020-06-18 1:26 ` amker at gcc dot gnu.org
2020-06-20 6:25 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: amker at gcc dot gnu.org @ 2020-06-18 1:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #16 from bin cheng <amker at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #15)
> I don't see the commit on the GCC 10 branch nor the GCC 8 branch. Master
> and GCC 9 are fixed though.
Will backport the 10 and 8, thanks for reminding.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/10 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (16 preceding siblings ...)
2020-06-18 1:26 ` amker at gcc dot gnu.org
@ 2020-06-20 6:25 ` cvs-commit at gcc dot gnu.org
2020-06-20 8:57 ` cvs-commit at gcc dot gnu.org
2020-07-15 6:47 ` rguenth at gcc dot gnu.org
19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-06-20 6:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Bin Cheng <amker@gcc.gnu.org>:
https://gcc.gnu.org/g:63c00a0c6543ce6d55e0ebc97ddbc1d36fb1289c
commit r10-8332-g63c00a0c6543ce6d55e0ebc97ddbc1d36fb1289c
Author: Bin Cheng <bin.cheng@linux.alibaba.com>
Date: Sat Jun 20 14:24:31 2020 +0800
Add missing unit dependence vector in data dependence analysis
Current data dependence analysis misses unit distant vector if DRs in
DDR have the same invariant access functions. This adds the vector as
the constant access function case.
Also fix typo in testcase.
Backport from master.
2020-06-20 Bin Cheng <bin.cheng@linux.alibaba.com>
gcc/
PR tree-optimization/94969
* tree-data-ref.c (constant_access_functions): Rename to...
(invariant_access_functions): ...this. Add parameter. Check for
invariant access function, rather than constant.
(build_classic_dist_vector): Call above function.
* tree-loop-distribution.c (pg_add_dependence_edges): Add comment.
gcc/testsuite/
PR tree-optimization/94969
* gcc.dg/tree-ssa/pr94969.c: New test.
2020-06-20 Jakub Jelinek <jakub@redhat.com>
gcc/testsuite/
PR tree-optimization/95110
* gcc.dg/tree-ssa/pr94969.c: Swap scan-tree-dump-not arguments.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/10 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (17 preceding siblings ...)
2020-06-20 6:25 ` cvs-commit at gcc dot gnu.org
@ 2020-06-20 8:57 ` cvs-commit at gcc dot gnu.org
2020-07-15 6:47 ` rguenth at gcc dot gnu.org
19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-06-20 8:57 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
--- Comment #18 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Bin Cheng <amker@gcc.gnu.org>:
https://gcc.gnu.org/g:0a7a2b7c64a77218e504e8390af29cfa5f79a242
commit r8-10320-g0a7a2b7c64a77218e504e8390af29cfa5f79a242
Author: Bin Cheng <bin.cheng@linux.alibaba.com>
Date: Sat Jun 20 16:56:21 2020 +0800
Add missing unit dependence vector in data dependence analysis
Current data dependence analysis misses unit distant vector if DRs in
DDR have the same invariant access functions. This adds the vector as
the constant access function case.
Also fix typo in testcase.
Backport from master commit: 287552950d56be47adb6b6bf2eae2d612233eaec
and f6e1a4cd83190746b6544917f7526fa480ca5f18
2020-06-20 Bin Cheng <bin.cheng@linux.alibaba.com>
gcc/
PR tree-optimization/94969
* tree-data-ref.c (constant_access_functions): Rename to...
(invariant_access_functions): ...this. Add parameter. Check for
invariant access function, rather than constant.
(build_classic_dist_vector): Call above function.
* tree-loop-distribution.c (pg_add_dependence_edges): Add comment.
gcc/testsuite/
PR tree-optimization/94969
* gcc.dg/tree-ssa/pr94969.c: New test.
2020-06-20 Jakub Jelinek <jakub@redhat.com>
gcc/testsuite/
PR tree-optimization/95110
* gcc.dg/tree-ssa/pr94969.c: Swap scan-tree-dump-not arguments.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/94969] [8/10 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
` (18 preceding siblings ...)
2020-06-20 8:57 ` cvs-commit at gcc dot gnu.org
@ 2020-07-15 6:47 ` rguenth at gcc dot gnu.org
19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-07-15 6:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94969
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |8.4.0
Status|ASSIGNED |RESOLVED
Known to work| |10.1.1, 8.4.1
Resolution|--- |FIXED
--- Comment #19 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2020-07-15 6:47 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-06 9:12 [Bug tree-optimization/94969] New: Invalid loop distribution krebbel at gcc dot gnu.org
2020-05-06 9:16 ` [Bug tree-optimization/94969] " krebbel at gcc dot gnu.org
2020-05-06 9:21 ` krebbel at gcc dot gnu.org
2020-05-06 9:22 ` krebbel at gcc dot gnu.org
2020-05-06 9:38 ` [Bug tree-optimization/94969] [8/9/10/11 Regression] " rguenth at gcc dot gnu.org
2020-05-06 9:54 ` [Bug tree-optimization/94969] [8/9/10/11 Regression] Invalid loop distribution since r8-2390-gdfbddbeb1ca912c9 marxin at gcc dot gnu.org
2020-05-06 10:01 ` rguenth at gcc dot gnu.org
2020-05-06 10:05 ` rguenth at gcc dot gnu.org
2020-05-10 15:54 ` amker at gcc dot gnu.org
2020-05-11 5:40 ` amker at gcc dot gnu.org
2020-05-13 3:39 ` cvs-commit at gcc dot gnu.org
2020-05-18 1:39 ` amker at gcc dot gnu.org
2020-05-18 5:49 ` rguenther at suse dot de
2020-05-22 3:47 ` cvs-commit at gcc dot gnu.org
2020-06-17 15:38 ` krebbel at gcc dot gnu.org
2020-06-17 15:38 ` krebbel at gcc dot gnu.org
2020-06-17 16:19 ` [Bug tree-optimization/94969] [8/10 " rguenth at gcc dot gnu.org
2020-06-18 1:26 ` amker at gcc dot gnu.org
2020-06-20 6:25 ` cvs-commit at gcc dot gnu.org
2020-06-20 8:57 ` cvs-commit at gcc dot gnu.org
2020-07-15 6:47 ` rguenth at gcc dot gnu.org
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).