* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
@ 2020-10-29 12:19 ` rguenth at gcc dot gnu.org
2020-10-29 12:21 ` jakub at gcc dot gnu.org
` (16 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-10-29 12:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|loop end condition missing |[9/10/11 Regression] loop
|- endless loop |end condition missing -
| |endless loop with -fPIC
Ever confirmed|0 |1
Last reconfirmed| |2020-10-29
Known to fail| |10.1.0, 10.2.0, 9.1.0
Known to work| |8.4.0
Keywords| |wrong-code
Status|UNCONFIRMED |NEW
Target Milestone|--- |9.4
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed with GCC 10, triggers with -fPIC, works with plain -O2. Odd.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
2020-10-29 12:19 ` [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC rguenth at gcc dot gnu.org
@ 2020-10-29 12:21 ` jakub at gcc dot gnu.org
2020-10-29 12:26 ` jakub at gcc dot gnu.org
` (15 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-10-29 12:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Doesn't reproduce on the trunk since
r11-3300-g83e037364e0d6dd74d595751e8bc8c461b4cb8fa
Adjusted testcase so that it doesn't loop forever when not miscompiled and
doesn't need -fPIC either:
struct S { unsigned short x, y; } m = { 1, 0 };
__attribute__((noipa)) void
bar ()
{
throw 1;
}
void
foo ()
{
while (1)
{
int a = m.x + 1;
int b = m.y + 1;
for (int h = 0; h < a; h++)
for (int w = 0; w < b; w++)
__builtin_printf ("w: %d, b: %d\n", w, b);
bar ();
}
}
int
main ()
{
try
{
foo ();
}
catch (int)
{
}
return 0;
}
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
2020-10-29 12:19 ` [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC rguenth at gcc dot gnu.org
2020-10-29 12:21 ` jakub at gcc dot gnu.org
@ 2020-10-29 12:26 ` jakub at gcc dot gnu.org
2020-10-29 12:32 ` jakub at gcc dot gnu.org
` (14 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-10-29 12:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r9-4145-ga81e2c6240655f60a49c16e0d8bbfd2ba40bba51
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (2 preceding siblings ...)
2020-10-29 12:26 ` jakub at gcc dot gnu.org
@ 2020-10-29 12:32 ` jakub at gcc dot gnu.org
2020-10-29 12:56 ` amker at gcc dot gnu.org
` (13 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-10-29 12:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Further adjustment so that it just aborts when miscompiled. The throw is there
only to avoid using __builtin_exit.
struct S { unsigned short x, y; } m = { 1, 0 };
__attribute__((noipa)) void
baz (int x, int y)
{
if (x != 0 || y != 1)
__builtin_abort ();
}
__attribute__((noipa)) void
bar ()
{
throw 1;
}
void
foo ()
{
while (1)
{
int a = m.x + 1;
int b = m.y + 1;
for (int c = 0; c < a; c++)
for (int d = 0; d < b; d++)
baz (d, b);
bar ();
}
}
int
main ()
{
try
{
foo ();
}
catch (int)
{
}
return 0;
}
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (3 preceding siblings ...)
2020-10-29 12:32 ` jakub at gcc dot gnu.org
@ 2020-10-29 12:56 ` amker at gcc dot gnu.org
2020-10-30 11:29 ` rguenth at gcc dot gnu.org
` (12 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: amker at gcc dot gnu.org @ 2020-10-29 12:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #5 from bin cheng <amker at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #3)
> Started with r9-4145-ga81e2c6240655f60a49c16e0d8bbfd2ba40bba51
Sorry for the breakage. Will fix this.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (4 preceding siblings ...)
2020-10-29 12:56 ` amker at gcc dot gnu.org
@ 2020-10-30 11:29 ` rguenth at gcc dot gnu.org
2020-11-03 13:14 ` rguenth at gcc dot gnu.org
` (11 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-10-30 11:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (5 preceding siblings ...)
2020-10-30 11:29 ` rguenth at gcc dot gnu.org
@ 2020-11-03 13:14 ` rguenth at gcc dot gnu.org
2020-11-03 13:15 ` rguenth at gcc dot gnu.org
` (10 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-11-03 13:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
*** Bug 97697 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (6 preceding siblings ...)
2020-11-03 13:14 ` rguenth at gcc dot gnu.org
@ 2020-11-03 13:15 ` rguenth at gcc dot gnu.org
2021-01-21 12:07 ` jakub at gcc dot gnu.org
` (9 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-11-03 13:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Smaller testcase from other PR, still needs the C++ FE
struct S { unsigned short x, y; } m = { 0, 0 };
void __attribute__((noipa)) bar() {}
void __attribute__((noipa)) baz()
{
__builtin_exit (0);
}
void foo()
{
while (1)
{
unsigned int nrn_pass_num = m.x + 1;
for (unsigned int nrn_idx = 0; nrn_idx < nrn_pass_num; ++nrn_idx)
bar();
baz();
}
}
int main()
{
foo();
return 0;
}
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (7 preceding siblings ...)
2020-11-03 13:15 ` rguenth at gcc dot gnu.org
@ 2021-01-21 12:07 ` jakub at gcc dot gnu.org
2021-01-21 12:24 ` amker at gcc dot gnu.org
` (8 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-01-21 12:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Still broken on current 10 branch, as written works fine on the trunk due to
the C++ FE loop changes.
Bin, did you have time to look into this yet?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (8 preceding siblings ...)
2021-01-21 12:07 ` jakub at gcc dot gnu.org
@ 2021-01-21 12:24 ` amker at gcc dot gnu.org
2021-01-25 11:19 ` amker at gcc dot gnu.org
` (7 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: amker at gcc dot gnu.org @ 2021-01-21 12:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #9 from bin cheng <amker at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #8)
> Still broken on current 10 branch, as written works fine on the trunk due to
> the C++ FE loop changes.
> Bin, did you have time to look into this yet?
I am very sorry, seems I have two correctness PRs now? Will try to investigate
these on this WE.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (9 preceding siblings ...)
2021-01-21 12:24 ` amker at gcc dot gnu.org
@ 2021-01-25 11:19 ` amker at gcc dot gnu.org
2021-01-25 11:29 ` amker at gcc dot gnu.org
` (6 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: amker at gcc dot gnu.org @ 2021-01-25 11:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #10 from bin cheng <amker at gcc dot gnu.org> ---
hmm,
For below basic block:
128 ;; basic block 4, loop depth 2, maybe hot
129 ;; prev block 3, next block 9, flags: (NEW, VISITED)
130 ;; pred: 3 (FALLTHRU,EXECUTABLE)
131 ;; 7 (FALLTHRU,DFS_BACK,EXECUTABLE)
132 # RANGE [0, 2147483647] NONZERO 2147483647
133 # c_5 = PHI <0(3), c_17(7)>
134 # .MEM_8 = PHI <.MEM_7(3), .MEM_9(7)>
135 if (_2 < c_5)
136 goto <bb 8>; [INV]
137 else
138 goto <bb 9>; [INV]
139 ;; succ: 8 (TRUE_VALUE,EXECUTABLE)
140 ;; 9 (FALSE_VALUE,EXECUTABLE)
Code in :
4276
4277 basic_block *body = get_loop_body (loop);
4278 exits = get_loop_exit_edges (loop, body);
4279 likely_exit = single_likely_exit (loop, exits);
4280 FOR_EACH_VEC_ELT (exits, i, ex)
4281 {
4282 if (ex == likely_exit)
4283 {
4284 gimple *stmt = last_stmt (ex->src);
4285 if (stmt != NULL)
4286 {
gets three exit edges, one of which is <bb4 -> bb1>, as a result, 0 niter is
computed for this exit in function number_of_iterations_exit_assumptions. This
seems strange, is it a fake edge added for some reason?
Thanks
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (10 preceding siblings ...)
2021-01-25 11:19 ` amker at gcc dot gnu.org
@ 2021-01-25 11:29 ` amker at gcc dot gnu.org
2021-01-25 11:32 ` amker at gcc dot gnu.org
` (5 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: amker at gcc dot gnu.org @ 2021-01-25 11:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #11 from bin cheng <amker at gcc dot gnu.org> ---
(In reply to bin cheng from comment #10)
> hmm,
> For below basic block:
> 128 ;; basic block 4, loop depth 2, maybe hot
> 129 ;; prev block 3, next block 9, flags: (NEW, VISITED)
> 130 ;; pred: 3 (FALLTHRU,EXECUTABLE)
> 131 ;; 7 (FALLTHRU,DFS_BACK,EXECUTABLE)
> 132 # RANGE [0, 2147483647] NONZERO 2147483647
> 133 # c_5 = PHI <0(3), c_17(7)>
> 134 # .MEM_8 = PHI <.MEM_7(3), .MEM_9(7)>
> 135 if (_2 < c_5)
> 136 goto <bb 8>; [INV]
> 137 else
> 138 goto <bb 9>; [INV]
> 139 ;; succ: 8 (TRUE_VALUE,EXECUTABLE)
> 140 ;; 9 (FALSE_VALUE,EXECUTABLE)
>
> Code in :
> 4276
> 4277 basic_block *body = get_loop_body (loop);
> 4278 exits = get_loop_exit_edges (loop, body);
> 4279 likely_exit = single_likely_exit (loop, exits);
> 4280 FOR_EACH_VEC_ELT (exits, i, ex)
> 4281 {
> 4282 if (ex == likely_exit)
> 4283 {
> 4284 gimple *stmt = last_stmt (ex->src);
> 4285 if (stmt != NULL)
> 4286 {
>
> gets three exit edges, one of which is <bb4 -> bb1>, as a result, 0 niter is
> computed for this exit in function number_of_iterations_exit_assumptions.
> This seems strange, is it a fake edge added for some reason?
>
> Thanks
Right, it's added by connect_infinite_loops_to_exit.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug c++/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (11 preceding siblings ...)
2021-01-25 11:29 ` amker at gcc dot gnu.org
@ 2021-01-25 11:32 ` amker at gcc dot gnu.org
2021-01-29 11:01 ` [Bug tree-optimization/97627] " cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: amker at gcc dot gnu.org @ 2021-01-25 11:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #12 from bin cheng <amker at gcc dot gnu.org> ---
a. why the loop is considered as infinite
b. we need to skip fake exit edges in niter analysis?
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/97627] [9/10/11 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (12 preceding siblings ...)
2021-01-25 11:32 ` amker at gcc dot gnu.org
@ 2021-01-29 11:01 ` cvs-commit at gcc dot gnu.org
2021-01-29 11:08 ` [Bug tree-optimization/97627] [9 " rguenth at gcc dot gnu.org
` (3 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-29 11:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:3976b2701b826569ffcd90877d94095def507e3f
commit r10-9310-g3976b2701b826569ffcd90877d94095def507e3f
Author: Richard Biener <rguenther@suse.de>
Date: Fri Jan 29 11:17:42 2021 +0100
tree-optimization/97627 - Avoid computing niters for fake edges
This avoids computing niters information for fake edges.
2021-01-29 Bin Cheng <bin.cheng@linux.alibaba.com>
Richard Biener <rguenther@suse.de>
PR tree-optimization/97627
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
Do not analyze fake edges.
* g++.dg/pr97627.C: New testcase.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/97627] [9 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (13 preceding siblings ...)
2021-01-29 11:01 ` [Bug tree-optimization/97627] " cvs-commit at gcc dot gnu.org
@ 2021-01-29 11:08 ` rguenth at gcc dot gnu.org
2021-01-29 11:09 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-29 11:08 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|amker at gcc dot gnu.org |rguenth at gcc dot gnu.org
Summary|[9/10/11 Regression] loop |[9 Regression] loop end
|end condition missing - |condition missing - endless
|endless loop with -fPIC |loop with -fPIC
Known to work| |10.2.1, 11.0
Status|NEW |ASSIGNED
--- Comment #14 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine for the last backport.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/97627] [9 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (14 preceding siblings ...)
2021-01-29 11:08 ` [Bug tree-optimization/97627] [9 " rguenth at gcc dot gnu.org
@ 2021-01-29 11:09 ` cvs-commit at gcc dot gnu.org
2021-01-29 11:51 ` cvs-commit at gcc dot gnu.org
2021-01-29 11:51 ` rguenth at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-29 11:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #15 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:f4e426f7bd7df279cb7aaecd91d273d9b7db338d
commit r11-6972-gf4e426f7bd7df279cb7aaecd91d273d9b7db338d
Author: Richard Biener <rguenther@suse.de>
Date: Fri Jan 29 11:17:42 2021 +0100
tree-optimization/97627 - Avoid computing niters for fake edges
This avoids computing niters information for fake edges.
2021-01-29 Bin Cheng <bin.cheng@linux.alibaba.com>
Richard Biener <rguenther@suse.de>
PR tree-optimization/97627
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
Do not analyze fake edges.
* g++.dg/pr97627.C: New testcase.
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/97627] [9 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (15 preceding siblings ...)
2021-01-29 11:09 ` cvs-commit at gcc dot gnu.org
@ 2021-01-29 11:51 ` cvs-commit at gcc dot gnu.org
2021-01-29 11:51 ` rguenth at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-01-29 11:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
--- Comment #16 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:a7e6e7a9299208e5aa3d805d502370d59f92b8b5
commit r9-9211-ga7e6e7a9299208e5aa3d805d502370d59f92b8b5
Author: Richard Biener <rguenther@suse.de>
Date: Fri Jan 29 11:17:42 2021 +0100
tree-optimization/97627 - Avoid computing niters for fake edges
This avoids computing niters information for fake edges.
2021-01-29 Bin Cheng <bin.cheng@linux.alibaba.com>
Richard Biener <rguenther@suse.de>
PR tree-optimization/97627
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
Do not analyze fake edges.
* g++.dg/pr97627.C: New testcase.
(cherry picked from commit 3976b2701b826569ffcd90877d94095def507e3f)
^ permalink raw reply [flat|nested] 19+ messages in thread
* [Bug tree-optimization/97627] [9 Regression] loop end condition missing - endless loop with -fPIC
2020-10-29 11:32 [Bug c++/97627] New: loop end condition missing - endless loop marcin.jachu19 at gmail dot com
` (16 preceding siblings ...)
2021-01-29 11:51 ` cvs-commit at gcc dot gnu.org
@ 2021-01-29 11:51 ` rguenth at gcc dot gnu.org
17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-01-29 11:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97627
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
Known to work| |9.3.1
Known to fail| |9.3.0
--- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed everywhere.
^ permalink raw reply [flat|nested] 19+ messages in thread