public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/101972] New: wrong code at -O2 on x86_64-linux-gnu
@ 2021-08-19  2:51 qrzhang at gatech dot edu
  2021-08-19  2:52 ` [Bug tree-optimization/101972] " qrzhang at gatech dot edu
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: qrzhang at gatech dot edu @ 2021-08-19  2:51 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101972

            Bug ID: 101972
           Summary: wrong code at -O2 on x86_64-linux-gnu
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: qrzhang at gatech dot edu
  Target Milestone: ---

It appears to be a regression in gcc-9. gcc-8 works fine.


$ gcc-trunk -O2 abc.c ; ./a.out
0

$ gcc-trunk abc.c ; ./a.out
30

$ gcc-8 -O2 abc.c ; ./a.out
30

$ cat abc.c
int a, b, c, d, f;
static short e = 63891;
char g = 30;
unsigned h(i, j) { return i << j; }
int *l(int *);
void m() {
  a = 0;
  for (; a >= 0; a--) {
    int *k = &b;
    *k = e < 0;
  }
  c = b;
  l(&c);
}
int *l(int *i) {
  d = 2;
  for (; d <= 6; d++) {
    if (h(d, *i) <= d)
      ;
    else
      continue;
    g = 0;
    return &f;
  }
}
int main() {
  m();
  printf("%d\n", g);
}

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/101972] wrong code at -O2 on x86_64-linux-gnu
  2021-08-19  2:51 [Bug tree-optimization/101972] New: wrong code at -O2 on x86_64-linux-gnu qrzhang at gatech dot edu
@ 2021-08-19  2:52 ` qrzhang at gatech dot edu
  2021-08-19  2:53 ` [Bug tree-optimization/101972] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: qrzhang at gatech dot edu @ 2021-08-19  2:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101972

--- Comment #1 from Qirun Zhang <qrzhang at gatech dot edu> ---
My bisection points to g:a81e2c6240655f60a49c16e0d8bbfd2ba40bba51

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/101972] [9/10/11/12 Regression] wrong code at -O2 on x86_64-linux-gnu
  2021-08-19  2:51 [Bug tree-optimization/101972] New: wrong code at -O2 on x86_64-linux-gnu qrzhang at gatech dot edu
  2021-08-19  2:52 ` [Bug tree-optimization/101972] " qrzhang at gatech dot edu
@ 2021-08-19  2:53 ` pinskia at gcc dot gnu.org
  2021-08-19  7:33 ` marxin at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-08-19  2:53 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101972

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |9.5
           Keywords|                            |wrong-code
            Summary|wrong code at -O2 on        |[9/10/11/12 Regression]
                   |x86_64-linux-gnu            |wrong code at -O2 on
                   |                            |x86_64-linux-gnu

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/101972] [9/10/11/12 Regression] wrong code at -O2 on x86_64-linux-gnu
  2021-08-19  2:51 [Bug tree-optimization/101972] New: wrong code at -O2 on x86_64-linux-gnu qrzhang at gatech dot edu
  2021-08-19  2:52 ` [Bug tree-optimization/101972] " qrzhang at gatech dot edu
  2021-08-19  2:53 ` [Bug tree-optimization/101972] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
@ 2021-08-19  7:33 ` marxin at gcc dot gnu.org
  2021-08-19  7:59 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-08-19  7:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101972

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-08-19
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
                 CC|                            |amker at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
I can confirm the bisection point.
So possibly related or the same as PR101508 or PR100740

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/101972] [9/10/11/12 Regression] wrong code at -O2 on x86_64-linux-gnu
  2021-08-19  2:51 [Bug tree-optimization/101972] New: wrong code at -O2 on x86_64-linux-gnu qrzhang at gatech dot edu
                   ` (2 preceding siblings ...)
  2021-08-19  7:33 ` marxin at gcc dot gnu.org
@ 2021-08-19  7:59 ` rguenth at gcc dot gnu.org
  2022-01-24 12:15 ` [Bug tree-optimization/101972] [9/10/11/12 Regression] wrong code at -O2 after r9-4145 cvs-commit at gcc dot gnu.org
  2022-01-24 12:46 ` [Bug tree-optimization/101972] [9/10/11 " rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-08-19  7:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101972

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2
            Version|unknown                     |12.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/101972] [9/10/11/12 Regression] wrong code at -O2 after r9-4145
  2021-08-19  2:51 [Bug tree-optimization/101972] New: wrong code at -O2 on x86_64-linux-gnu qrzhang at gatech dot edu
                   ` (3 preceding siblings ...)
  2021-08-19  7:59 ` rguenth at gcc dot gnu.org
@ 2022-01-24 12:15 ` cvs-commit at gcc dot gnu.org
  2022-01-24 12:46 ` [Bug tree-optimization/101972] [9/10/11 " rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-01-24 12:15 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101972

--- Comment #3 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:f1af8528d34418bc874ae9d993ee0dc3559972d2

commit r12-6844-gf1af8528d34418bc874ae9d993ee0dc3559972d2
Author: Richard Biener <rguenther@suse.de>
Date:   Mon Jan 24 11:50:06 2022 +0100

    tree-optimization/102131 - fix niter analysis wrt overflow

    This fixes the overflow issues seen with analyzing
    BASE0 + STEP0 cmp BASE1 + STEP1 as BASE0 + STEP0 - STEP1 cmp BASE1
    by following the logic we have when simplifying comparisons.

    2022-01-24  Richard Biener  <rguenther@suse.de>
                Jiufu Guo  <guojiufu@linux.ibm.com>

            PR tree-optimization/100740
            PR tree-optimization/101508
            PR tree-optimization/101972
            PR tree-optimization/102131
            * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
            constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
            BASE0 + STEP0 - STEP1 cmp BASE1 transform.

            * gcc.dg/torture/pr100740.c: New testcase.
            * gcc.dg/torture/pr101508.c: Likewise.
            * gcc.dg/torture/pr101972.c: Likewise.
            * gcc.dg/torture/pr102131-1.c: Likewise.
            * gcc.dg/torture/pr102131-2.c: Likewise.
            * gcc.dg/torture/pr102131-3.c: Likewise.
            * gcc.dg/torture/pr102131-4.c: Likewise.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug tree-optimization/101972] [9/10/11 Regression] wrong code at -O2 after r9-4145
  2021-08-19  2:51 [Bug tree-optimization/101972] New: wrong code at -O2 on x86_64-linux-gnu qrzhang at gatech dot edu
                   ` (4 preceding siblings ...)
  2022-01-24 12:15 ` [Bug tree-optimization/101972] [9/10/11/12 Regression] wrong code at -O2 after r9-4145 cvs-commit at gcc dot gnu.org
@ 2022-01-24 12:46 ` rguenth at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2022-01-24 12:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101972

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Dup.

*** This bug has been marked as a duplicate of bug 100740 ***

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-01-24 12:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-19  2:51 [Bug tree-optimization/101972] New: wrong code at -O2 on x86_64-linux-gnu qrzhang at gatech dot edu
2021-08-19  2:52 ` [Bug tree-optimization/101972] " qrzhang at gatech dot edu
2021-08-19  2:53 ` [Bug tree-optimization/101972] [9/10/11/12 Regression] " pinskia at gcc dot gnu.org
2021-08-19  7:33 ` marxin at gcc dot gnu.org
2021-08-19  7:59 ` rguenth at gcc dot gnu.org
2022-01-24 12:15 ` [Bug tree-optimization/101972] [9/10/11/12 Regression] wrong code at -O2 after r9-4145 cvs-commit at gcc dot gnu.org
2022-01-24 12:46 ` [Bug tree-optimization/101972] [9/10/11 " 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).