This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

optimization/834: gcc badly optimizes ptr incrementation due to cast in lvalue



>Number:         834
>Category:       optimization
>Synopsis:       gcc badly optimizes ptr incrementation due to cast in lvalue
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          pessimizes-code
>Submitter-Id:   net
>Arrival-Date:   Fri Nov 17 10:16:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     INRIA FRANCE
>Release:        Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/specs gcc version 2.95.3 19991030 (prerelease)
>Organization:
>Environment:
Linux lima.univ-paris1.fr 2.2.15-4mdk #1 Wed May 10 15:31:30 CEST 2000 i686 unknown
>Description:
Hi, I'm the author of GNU-Prolog (a Prolog compiler).
I use gcc intensively and found that gcc misses an optimization 
in presence of a cast.
>How-To-Repeat:
see information in attached file problem.c
>Fix:
move the cast in an inner level as shown in Push_Good function.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="problem.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="problem.c"

LyoKICAgYXV0aG9yOiBEYW5pZWwuRGlhekBpbnJpYS5mcgogICBmaWxlOiBwcm9ibGVtLmMKICAg
cHJvYmxlbTogZ2NjIG1pc3NlcyBhbiBpbXBvcnRhbnQgb3B0aW1pemF0aW9uCgogICBJJ20gdGhl
IGF1dGhvciBvZiBHTlUtUHJvbG9nIGFuZCBJIGhhdmUgZXh0cmFjdGVkIGFuZCBzaW1wbGlmaWVk
IHRoaXMKICAgY29kZSB0byBwb2ludCBvdXQgYSBidWcgaW4gdGhlIG9wdGltaXplci4KCiAgIFRo
ZSBpZGVhIG9mIHRoaXMgY29kZSBpcyB0aGF0IHJlZ19iYW5rIHBvaW50cyB0byBhbiBhcnJheSBv
ZiBsb25ncwogICAoZHluYW1pY2FsbHkgYWxsb2NhdGVkKSBjb250YWluaW5nIHRoZSByZWdpc3Rl
cnMgb2YgbXkgYWJzdHJhY3QgbWFjaGluZS4KICAgTW9zdCByZWdpc3RlcnMgY29udGFpbiBpbnRl
Z2VyIHZhbHVlcyAobG9uZykgYnV0IHJlZ19iYW5rWzI1Nl0gY29udGFpbnMKICAgYSBzdGFjayBw
b2ludGVyIChpdHMgdHlwZSBpcyBpbiBmYWN0IGEgbG9uZyAqKS4KCiAgIFRoZSBmb2xsb3dpbmcg
ZnVuY3Rpb24gcHVzaGVzIGEgdmFsdWUgKGEgY29uc3RhbnQgMTI4IHRvIHNpbXBsaWZ5KSBhdAog
ICB0aGUgdG9wIG9mIHRoZSBzdGFjayBwb2ludGVkIGJ5IHJlZ19iYW5rWzI1Nl0gYW5kIGluY3Jl
bWVudCB0aGUgcG9pbnRlci4KCiAgIFRoZSBmaXJzdCBmdW5jdGlvbiBnZW5lcmF0ZXMgYSBwb29y
IGNvZGUsIHdoaWxlIHRoZSBzZWNvbmQgaXMgb3B0aW1hbC4KCiAgIGdjYyAtdjoKICAgICBSZWFk
aW5nIHNwZWNzIGZyb20gL3Vzci9saWIvZ2NjLWxpYi9pNTg2LW1hbmRyYWtlLWxpbnV4LzIuOTUu
My9zcGVjcwogICAgIGdjYyB2ZXJzaW9uIDIuOTUuMyAxOTk5MTAzMCAocHJlcmVsZWFzZSkKCiAg
IHVuYW1lIC1hOiAKICAgICBMaW51eCBsaW1hLnVuaXYtcGFyaXMxLmZyIDIuMi4xNS00bWRrICMx
IFdlZCBNYXkgMTAgMTU6MzE6MzAgQ0VTVCAyMDAwIGk2ODYgdW5rbm93bgoKICAgY29tcGlsZSB3
aXRoOiBnY2MgLVMgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLU8zIC1XYWxsIHByb2JsZW0uYwogKi8K
CmxvbmcgKnJlZ19iYW5rOwoKdm9pZCBQdXNoX0JhZCh2b2lkKQoKewogKiAoKGxvbmcgKikgKHJl
Z19iYW5rWzI1Nl0pKSArKyA9IDEyODsKfQoKCgoKdm9pZCBQdXNoX0dvb2Qodm9pZCkKCnsKICAq
ICggKChsb25nICoqKSByZWdfYmFuaylbMjU2XSkgKysgPSAxMjg7Cn0KCgovKiBIZXJlIGlzIHRo
ZSBhc3NlbWJseSBjb2RlIHByb2R1Y2VkIGJ5OgogICBnY2MgLVMgLWZvbWl0LWZyYW1lLXBvaW50
ZXIgLU8zIC1XYWxsIHByb2JsZW0uYwoKCS5maWxlCSJwcm9ibGVtLmMiCgkudmVyc2lvbgkiMDEu
MDEiCmdjYzJfY29tcGlsZWQuOgoJLmNvbW0JcmVnX2JhbmssNCw0Ci50ZXh0CgkuYWxpZ24gNAou
Z2xvYmwgUHVzaF9CYWQKCS50eXBlCSBQdXNoX0JhZCxAZnVuY3Rpb24KUHVzaF9CYWQ6Cgltb3Zs
IHJlZ19iYW5rLCVlYXgKCW1vdmwgMTAyNCglZWF4KSwlZWR4CglsZWFsIDQoJWVkeCksJWVjeAoJ
bW92bCAlZWN4LDEwMjQoJWVheCkKCW1vdmwgJDEyOCwoJWVkeCkKCXJldAouTGZlMToKCS5zaXpl
CSBQdXNoX0JhZCwuTGZlMS1QdXNoX0JhZAoJLmFsaWduIDQKLmdsb2JsIFB1c2hfR29vZAoJLnR5
cGUJIFB1c2hfR29vZCxAZnVuY3Rpb24KUHVzaF9Hb29kOgoJbW92bCByZWdfYmFuaywlZWF4Cglt
b3ZsIDEwMjQoJWVheCksJWVkeAoJbW92bCAkMTI4LCglZWR4KQoJYWRkbCAkNCwxMDI0KCVlYXgp
CglyZXQKLkxmZTI6Cgkuc2l6ZQkgUHVzaF9Hb29kLC5MZmUyLVB1c2hfR29vZAoJLmlkZW50CSJH
Q0M6IChHTlUpIDIuOTUuMyAxOTk5MTAzMCAocHJlcmVsZWFzZSkiCgoKICBpbiBQdXNoX0JhZCB3
ZSBoYXZlIHRoZSBzZXF1ZW5jZToKCgltb3ZsIDEwMjQoJWVheCksJWVkeAoJbGVhbCA0KCVlZHgp
LCVlY3gKCW1vdmwgJWVjeCwxMDI0KCVlYXgpCgogIHdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gd2hh
dCB3ZSBmaW5kIGluIFB1c2hfR29vZDoKCgltb3ZsIDEwMjQoJWVheCksJWVkeAoJbW92bCAkMTI4
LCglZWR4KQoKICB3aHkgaXMgdGhpcyBzaW1wbGlmaWNhdGlvbiBub3QgZG9uZSA/CiovCgo=

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]