This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/22057] [4.0/4.1 Regression] Poor -O0 debug information for for loops with no initializer
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Jun 2005 13:21:46 -0000
- Subject: [Bug middle-end/22057] [4.0/4.1 Regression] Poor -O0 debug information for for loops with no initializer
- References: <20050614010902.22057.ian@airs.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-14 13:21 -------
Confirmed, I thought the gimplifier would have to change but it is not that.
If we look at .eh (via -fdump-tree-all-lineno), we see that there is a goto with the lineno of 10:
[t.c : 7] j = 0;
[t.c : 7] goto <D1243>;
<D1242>:;
[t.c : 8] j.0 = j;
[t.c : 8] D.1249 = (unsigned char) j;
[t.c : 8] block[j.0] = D.1249;
[t.c : 7] j = j + 1;
<D1243>:;
[t.c : 7] if ([t.c : 7] j <= 3) [t.c : 7] goto <D1242>; else [t.c : 7] goto <D1244>;
<D1244>:;
[t.c : 10] goto <D1246>; /// <--- here
<D1245>:;
[t.c : 11] j.1 = j;
[t.c : 11] D.1251 = (unsigned char) j;
[t.c : 11] block[j.1] = D.1251;
[t.c : 10] j = j + 1;
<D1246>:;
[t.c : 10] if ([t.c : 10] j <= 5) [t.c : 10] goto <D1245>; else [t.c : 10] goto <D1247>;
<D1247>:;
[t.c : 12] return;
So it is just tree CFG cleanup which is causing this.
--
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org, hubicka at gcc dot gnu
| |dot org
Status|UNCONFIRMED |NEW
Component|debug |middle-end
Ever Confirmed| |1
GCC build triplet|i686-pc-linux-gnu |
GCC host triplet|i686-pc-linux-gnu |
GCC target triplet|i686-pc-linux-gnu |
Last reconfirmed|0000-00-00 00:00:00 |2005-06-14 13:21:45
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22057