public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/102075] New: fill_always_executed_in_1 incomplete computation
@ 2021-08-26 9:29 luoxhu at gcc dot gnu.org
2021-08-26 14:18 ` [Bug tree-optimization/102075] " rguenth at gcc dot gnu.org
2021-09-14 1:20 ` luoxhu at gcc dot gnu.org
0 siblings, 2 replies; 3+ messages in thread
From: luoxhu at gcc dot gnu.org @ 2021-08-26 9:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102075
Bug ID: 102075
Summary: fill_always_executed_in_1 incomplete computation
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: luoxhu at gcc dot gnu.org
Target Milestone: ---
ALWAYS_EXECUTED_IN is not computed completely for nested loops. Current design
will exit if an inner loop doesn't dominate outer loop's latch or exit after
exiting from inner loop, which caused early return from outer loop, then ALWAYS
EXECUTED blocks after inner loops are skipped.
For example, x->k should be move out of outer loop but doesn't.
struct X { int i; int j; int k;};
void foo(struct X *x, int n, int l)
{
for (int j = 0; j < l; j++)
{
for (int i = 0; i < n; ++i)
{
int *p = &x->j;
int tem = *p;
x->j += tem * i;
}
int *r = &x->k;
int tem2 = *r;
x->k += tem2 * j;
}
}
Discussion lists:
https://gcc.gnu.org/pipermail/gcc-patches/2021-August/577444.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug tree-optimization/102075] fill_always_executed_in_1 incomplete computation
2021-08-26 9:29 [Bug middle-end/102075] New: fill_always_executed_in_1 incomplete computation luoxhu at gcc dot gnu.org
@ 2021-08-26 14:18 ` rguenth at gcc dot gnu.org
2021-09-14 1:20 ` luoxhu at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-08-26 14:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102075
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|middle-end |tree-optimization
Status|UNCONFIRMED |NEW
Keywords| |missed-optimization
Last reconfirmed| |2021-08-26
Ever confirmed|0 |1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug tree-optimization/102075] fill_always_executed_in_1 incomplete computation
2021-08-26 9:29 [Bug middle-end/102075] New: fill_always_executed_in_1 incomplete computation luoxhu at gcc dot gnu.org
2021-08-26 14:18 ` [Bug tree-optimization/102075] " rguenth at gcc dot gnu.org
@ 2021-09-14 1:20 ` luoxhu at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: luoxhu at gcc dot gnu.org @ 2021-09-14 1:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102075
luoxhu at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #1 from luoxhu at gcc dot gnu.org ---
Fixed by Richard’s r12-3313, r12-3429 and r12-3430.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-09-14 1:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-26 9:29 [Bug middle-end/102075] New: fill_always_executed_in_1 incomplete computation luoxhu at gcc dot gnu.org
2021-08-26 14:18 ` [Bug tree-optimization/102075] " rguenth at gcc dot gnu.org
2021-09-14 1:20 ` luoxhu 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).