public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/63169] New: ivopts rewrite_uses pessimizes debug info
@ 2014-09-04 14:28 amodra at gmail dot com
2014-09-04 14:31 ` [Bug tree-optimization/63169] " rguenth at gcc dot gnu.org
0 siblings, 1 reply; 2+ messages in thread
From: amodra at gmail dot com @ 2014-09-04 14:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63169
Bug ID: 63169
Summary: ivopts rewrite_uses pessimizes debug info
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: amodra at gmail dot com
Extract from 122t.ivopts for gcc.c-torture/compile/pr60655-2.c on powerpc,
showing loop in mp_compare. The thing to note is the good expression for #
DEBUG r1, a simple dependency on one iv, but the bad choice for # DEBUG r2
(which triggers pr60655 on powerpc).
# DEBUG r2 => (sizetype) (ivtmp.19_20 + 4294967295) is correct also and leads
to much simpler debug info.
<bb 3>:
# ivtmp.17_24 = PHI <ivtmp.17_22(2), ivtmp.17_23(6)>
# ivtmp.19_20 = PHI <ivtmp.19_26(2), ivtmp.19_25(6)>
# DEBUG precision => (short int) (((unsigned short) precision_6 - (unsigned
short) (unsigned int) (r1_10 + 1)) + (unsigned short) ivtmp.17_24)
# DEBUG r2 => r2_12 + (((sizetype) ivtmp.17_24 - (sizetype) r1_10) +
4294967295)
# DEBUG r1 => (const unit *) (ivtmp.17_24 + 4294967295)
ivtmp.17_23 = ivtmp.17_24 - 1;
_28 = (void *) ivtmp.17_23;
_13 = MEM[base: _28, offset: 0B];
ivtmp.19_25 = ivtmp.19_20 - 1;
_29 = (void *) ivtmp.19_25;
_14 = MEM[base: _29, offset: 0B];
if (_13 < _14)
goto <bb 7>;
else
goto <bb 4>;
<bb 4>:
# DEBUG r1 => (const unit *) (ivtmp.17_23 + 4294967295)
# DEBUG r2 => r2_12 + (((sizetype) ivtmp.17_23 - (sizetype) r1_10) +
4294967295)
if (_13 > _14)
goto <bb 7>;
else
goto <bb 5>;
<bb 5>:
# DEBUG precision => (short int) (((unsigned short) precision_6 - (unsigned
short) (unsigned int) (r1_10 + 1)) + (unsigned short) ivtmp.17_23)
if (ivtmp.17_23 != _35)
goto <bb 6>;
else
goto <bb 7>;
<bb 6>:
goto <bb 3>;
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-09-04 14:31 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-04 14:28 [Bug tree-optimization/63169] New: ivopts rewrite_uses pessimizes debug info amodra at gmail dot com
2014-09-04 14:31 ` [Bug tree-optimization/63169] " 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).