public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* optimization/9904: aliasing proböem
@ 2003-03-02 17:36 andreas
  0 siblings, 0 replies; only message in thread
From: andreas @ 2003-03-02 17:36 UTC (permalink / raw)
  To: gcc-gnats

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 6889 bytes --]


>Number:         9904
>Category:       optimization
>Synopsis:       aliasing proböem
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 02 17:36:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Andreas Bogk
>Release:        3.2.2 20030109 (Debian prerelease), and actually all versions of gcc 3 before that I've tested
>Organization:
>Environment:
Debian-unstable on x86, also reported on a wide range of other systems
>Description:
I'm having a hard time nailing this one down in a
conveniently-reproducible form.  I'm sending you this mail anyways, in
the hope that it will be useful to you.

We're seeing a problem with gcc 3 when being used on the output of
d2c, the Dylan-to-C-translator from the Gwydion project.  The code
works fine when compiled with gcc 2.95; or with gcc 3 and reduced
optimizer settings, but reports internal errors where there should be
none when compiled with -O2.

In particular, the code works when compiled with '-O2
-fno-strict-aliasing', and doesn't work when compiled with '-O2'.  The
piece of code that gets confused is appended.  I have marked the
branches that are taken.  Functions called are from a different
library.  The behaviour does not depend on whether that other library
is compiled with -fno-strict-aliasing or not.

The function values_sequence returns its first argument plus or minus
an offset, creating an alias for the first argument.
>How-To-Repeat:
I can't provide a self-contained example of the bug at the moment, but I'll keep trying. I'm pretty sure that the provided code snippet is the one that's problematic, though.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-csrc; name="ctv-preprocessed.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ctv-preprocessed.c"

dHlwZWRlZiBpbnQgYm9vbGVhbjsKdHlwZWRlZiBjaGFyIGJvb2w7CnR5cGVkZWYgc3RydWN0IGhl
YXBvYmogKmhlYXBwdHJfdDsKdHlwZWRlZiBzdHJ1Y3QgZGVzY3JpcHRvciB7CiAgICBoZWFwcHRy
X3QgaGVhcHB0cjsKICAgIHVuaW9uIHsKICAgICAgICBsb25nIGw7CiAgICAgICAgZmxvYXQgZjsK
ICAgICAgICB2b2lkICpwdHI7CiAgICB9IGRhdGF3b3JkOwp9IGRlc2NyaXB0b3JfdDsKCmV4dGVy
biBzdHJ1Y3QgaGVhcG9iaiBjb21waWxlcl9iYXNlWmNvbXBpbGVfdGltZV92YWx1ZXNaQ0xTX2xp
dGVyYWxfZmFsc2VfSEVBUDsKZXh0ZXJuIGRlc2NyaXB0b3JfdCBjb21waWxlcl9iYXNlWmNvbXBp
bGVfdGltZV92YWx1ZXNaVmxpdGVyYWxfZmFsc2VWOwpleHRlcm4gc3RydWN0IGhlYXBvYmogY29t
cGlsZXJfYmFzZVpzdHJfUk9PVF8yOTQ7CmV4dGVybiBkZXNjcmlwdG9yX3QgKnZhbHVlc19zZXF1
ZW5jZShkZXNjcmlwdG9yX3QgKnNwLCBoZWFwcHRyX3QgdmVjdG9yKTsKZXh0ZXJuIGhlYXBwdHJf
dCBkeWxhblpkeWxhbl92aXNjZXJhWm1ha2VfcmVzdF9hcmdfRlVOKGRlc2NyaXB0b3JfdCAqb3Jp
Z19zcCwgdm9pZCAqIEEwLCBsb25nIEExKTsKZXh0ZXJuIGRlc2NyaXB0b3JfdCBkeWxhblpmYWxz
ZTsKZXh0ZXJuIHN0cnVjdCBoZWFwb2JqIGNvbXBpbGVyX2Jhc2Vac3RyX1JPT1RfMjg5OwpleHRl
cm4gdm9pZCBkeWxhblpkeWxhbl92aXNjZXJhWnR5cGVfZXJyb3Jfd2l0aF9sb2NhdGlvbl9GVU4o
ZGVzY3JpcHRvcl90ICpvcmlnX3NwLCBkZXNjcmlwdG9yX3QgQTAsIGhlYXBwdHJfdCBBMSwgZGVz
Y3JpcHRvcl90IEEyKTsKZXh0ZXJuIGRlc2NyaXB0b3JfdCAqIGR5bGFuWmR5bGFuX3Zpc2NlcmFa
bWFrZV9NRVRIX0dFTkVSSUNfMyhkZXNjcmlwdG9yX3QgKm9yaWdfc3AsIGhlYXBwdHJfdCBBMCAs
IGxvbmcgQTEgLCBoZWFwcHRyX3QgQTIgKTsKZXh0ZXJuIHN0cnVjdCBoZWFwb2JqIGR5bGFuWmR5
bGFuX3Zpc2NlcmFabWFrZV9NRVRIX1JPT1Q7CmV4dGVybiBzdHJ1Y3QgaGVhcG9iaiBkeWxhblpl
bXB0eV9saXN0X1JPT1Q7CgpoZWFwcHRyX3QgY29tcGlsZXJfYmFzZVpjb21waWxlX3RpbWVfdmFs
dWVzWm1ha2VfTUVUSF8zKGRlc2NyaXB0b3JfdCAqb3JpZ19zcCwgaGVhcHB0cl90IEFfd290ICwg
aGVhcHB0cl90IEFfbmV4dF9tZXRob2RfaW5mbyAsIGhlYXBwdHJfdCBBX3Jlc3QgKQp7CiAgICBk
ZXNjcmlwdG9yX3QgKmNsdXN0ZXJfMF90b3A7CiAgICBkZXNjcmlwdG9yX3QgKmNsdXN0ZXJfMV90
b3A7CiAgICBkZXNjcmlwdG9yX3QgTF90ZW1wOwogICAgaGVhcHB0cl90IExfb3JpZ19hcmdzOwog
ICAgZGVzY3JpcHRvcl90IExfdGVtcF8yOwogICAgaGVhcHB0cl90IExfcmVzOwogICAgZGVzY3Jp
cHRvcl90IExfdGVtcF8zOwogICAgZGVzY3JpcHRvcl90IExfbmV3X3ZhbHVlOwogICAgZGVzY3Jp
cHRvcl90IExfdGVtcF80OwoKCgogICAgTF90ZW1wLmhlYXBwdHIgPSAmY29tcGlsZXJfYmFzZVpj
b21waWxlX3RpbWVfdmFsdWVzWkNMU19saXRlcmFsX2ZhbHNlX0hFQVA7CiAgICBMX3RlbXAuZGF0
YXdvcmQubCA9IDA7CiAgICBjbHVzdGVyXzBfdG9wID0gb3JpZ19zcCArIDE7CiAgICBvcmlnX3Nw
WzBdID0gTF90ZW1wOwogICAgY2x1c3Rlcl8xX3RvcCA9IHZhbHVlc19zZXF1ZW5jZShjbHVzdGVy
XzBfdG9wLCBBX3Jlc3QpOwogICAgY2x1c3Rlcl8wX3RvcCA9IGNsdXN0ZXJfMV90b3A7CiAgICBM
X29yaWdfYXJncyA9IGR5bGFuWmR5bGFuX3Zpc2NlcmFabWFrZV9yZXN0X2FyZ19GVU4oY2x1c3Rl
cl8wX3RvcCwgb3JpZ19zcCArIDAsIGNsdXN0ZXJfMF90b3AgLSBvcmlnX3NwIC0gMCk7CgoKICAg
IExfdGVtcF8yID0gY29tcGlsZXJfYmFzZVpjb21waWxlX3RpbWVfdmFsdWVzWlZsaXRlcmFsX2Zh
bHNlVjsKICAgIGlmICgoTF90ZW1wXzIuaGVhcHB0ciAhPSBkeWxhblpmYWxzZS5oZWFwcHRyKSkg
eyAvKiBub3QgdGFrZW4gKi8KICAgICAgICBpZiAoKCZjb21waWxlcl9iYXNlWmNvbXBpbGVfdGlt
ZV92YWx1ZXNaQ0xTX2xpdGVyYWxfZmFsc2VfSEVBUCA9PSAoKihoZWFwcHRyX3QgKikoKGNoYXIg
KilMX3RlbXBfMi5oZWFwcHRyICsgMCkpKSkgewogICAgICAgICAgICBMX3JlcyA9IExfdGVtcF8y
LmhlYXBwdHI7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICBMX3RlbXBfMy5o
ZWFwcHRyID0gJmNvbXBpbGVyX2Jhc2Vac3RyX1JPT1RfMjg5OwogICAgICAgICAgICBMX3RlbXBf
My5kYXRhd29yZC5sID0gMDsKCiAgICAgICAgICAgIGR5bGFuWmR5bGFuX3Zpc2NlcmFadHlwZV9l
cnJvcl93aXRoX2xvY2F0aW9uX0ZVTihvcmlnX3NwLCBMX3RlbXBfMiwgJmNvbXBpbGVyX2Jhc2Va
Y29tcGlsZV90aW1lX3ZhbHVlc1pDTFNfbGl0ZXJhbF9mYWxzZV9IRUFQLCBMX3RlbXBfMyk7CiAg
ICAgICAgICAgIG5vdF9yZWFjaGVkKCk7CiAgICAgICAgfQogICAgfQogICAgZWxzZSB7IC8qIHRh
a2VuICovCgogICAgICAgIGNsdXN0ZXJfMF90b3AgPSB2YWx1ZXNfc2VxdWVuY2Uob3JpZ19zcCwg
TF9vcmlnX2FyZ3MpOwoKICAgICAgICAvKiBoZXJlLCBjbHVzdGVyXzBfdG9wIGlzIGJlaW5nIHVz
ZWQgdG8gc3RvcmUgdGhlIHJldHVybiB2YWx1ZQogICAgICAgICAgIG9mIHRoZSBmdW5jdGlvbi4g
IE5vdGljZSB0aGUgYWxpYXNpbmcgd2l0aCBvcmlnX3NwICovCiAgICAgICAgY2x1c3Rlcl8wX3Rv
cCA9IGR5bGFuWmR5bGFuX3Zpc2NlcmFabWFrZV9NRVRIX0dFTkVSSUNfMyhjbHVzdGVyXzBfdG9w
LCAmZHlsYW5aZHlsYW5fdmlzY2VyYVptYWtlX01FVEhfUk9PVCwgY2x1c3Rlcl8wX3RvcCAtIG9y
aWdfc3AsICZkeWxhblplbXB0eV9saXN0X1JPT1QpOwogICAgICAgIExfbmV3X3ZhbHVlID0gb3Jp
Z19zcFswXTsKCiAgICAgICAgY29tcGlsZXJfYmFzZVpjb21waWxlX3RpbWVfdmFsdWVzWlZsaXRl
cmFsX2ZhbHNlViA9IExfbmV3X3ZhbHVlOwogICAgICAgIGlmICgoJmNvbXBpbGVyX2Jhc2VaY29t
cGlsZV90aW1lX3ZhbHVlc1pDTFNfbGl0ZXJhbF9mYWxzZV9IRUFQID09ICgqKGhlYXBwdHJfdCAq
KSgoY2hhciAqKUxfbmV3X3ZhbHVlLmhlYXBwdHIgKyAwKSkpKSB7CgkgIC8qIHRoaXMgYnJhbmNo
IGlzIHRha2VuIHdoZW4gY29tcGlsaW5nIHdpdGggLWZuby1zdHJpY3QtYWxpYXNlcy4KCSAgICAg
VGhpcyBpcyBhIG1pc3Rha2UsIGl0IGxvb2tzIGxpa2UgTF90ZW1wIGZyb20gYWJvdmUgZW5kcyB1
cAoJICAgICBpbiBMX25ld192YWx1ZSAqLwogICAgICAgICAgICBMX3JlcyA9IExfbmV3X3ZhbHVl
LmhlYXBwdHI7CiAgICAgICAgfQogICAgICAgIGVsc2UgewoJICAvKiB0aGlzIGJyYW5jaCBpcyB0
YWtlbiBlcnJvbmV1c2x5IHdpdGggLU8yICovCiAgICAgICAgICAgIExfdGVtcF80LmhlYXBwdHIg
PSAmY29tcGlsZXJfYmFzZVpzdHJfUk9PVF8yOTQ7CiAgICAgICAgICAgIExfdGVtcF80LmRhdGF3
b3JkLmwgPSAwOwoKICAgICAgICAgICAgZHlsYW5aZHlsYW5fdmlzY2VyYVp0eXBlX2Vycm9yX3dp
dGhfbG9jYXRpb25fRlVOKG9yaWdfc3AsIExfbmV3X3ZhbHVlLCAmY29tcGlsZXJfYmFzZVpjb21w
aWxlX3RpbWVfdmFsdWVzWkNMU19saXRlcmFsX2ZhbHNlX0hFQVAsIExfdGVtcF80KTsKICAgICAg
ICAgICAgbm90X3JlYWNoZWQoKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gTF9yZXM7Cn0K


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-03-02 17:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-02 17:36 optimization/9904: aliasing proböem andreas

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).