Summary: | ICE push_reload - psuedo reg_equiv_constant | ||
---|---|---|---|
Product: | gcc | Reporter: | Andy Hutchinson <hutchinsonandy> |
Component: | target | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | eric.weddington, gcc-bugs, pinskia |
Priority: | P3 | ||
Version: | 4.3.0 | ||
Target Milestone: | --- | ||
Host: | i686-pc-cygwin | Target: | avr-unknown-none |
Build: | i686-pc-cygwin | Known to work: | |
Known to fail: | Last reconfirmed: | ||
Attachments: | Testcase |
Description
Andy Hutchinson
2008-05-26 19:22:26 UTC
Created attachment 15688 [details]
Testcase
Testcase derived from gcc testsuite failure memcpy-chk.c
Andy, I'm having a difficulty in trying to reproduce this bug. I use this command line: avr-gcc -O1 -mmcu=atmega128 -w -std=gnu99 -c memcpy-chk.c -o memcpy-chk.o But I'm using WinAVR 20080512, which is patched, and it does not give an ICE. Are you also getting this ICE with HEAD? Subject: Re: ICE push_reload - psuedo reg_equiv_constant O2 ---------------------------------------------- Sent from my Dingleberry wired device. -----Original Message----- From: eric dot weddington at atmel dot com <gcc-bugzilla@gcc.gnu.org> To: hutchinsonandy@aim.com Sent: Fri, 6 Jun 2008 3:24 pm Subject: [Bug target/36336] ICE push_reload - psuedo reg_equiv_constant ------- Comment #2 from eric dot weddington at atmel dot com 2008-06-06 19:24 ------- Andy, I'm having a difficulty in trying to reproduce this bug. I use this command line: avr-gcc -O1 -mmcu=atmega128 -w -std=gnu99 -c memcpy-chk.c -o memcpy-chk.o But I'm using WinAVR 20080512, which is patched, and it does not give an ICE. Are you also getting this ICE with HEAD? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36336 ------- You are receiving this mail because: ------- You reported the bug, or are watching the reporter. Test case passes with -O[0123s], with WinAVR 20080512 (patched 4.3.0). Subject: Re: ICE push_reload - psuedo reg_equiv_constant The patch for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31786 removes one problematic part of LEGITIMIZE_RELOAD_ADDRESS. This is applied to WinAVR 20080512 (patched 4.3.0). But is still waiting for approval on avr-gcc 4.3/4.4 HEAD. Even with that patch, the other parts of L_R_A are bad and need fixing with added check of reg_equivalent_constant. So if register is equivalent constant LEGITIMIZE_RELOAD_ADDRESS should do nothing. The assert that triggers is an explicit check for this. I have not posted patch due to overlap with pending patch. BTW gcc list has short discussion on this bug, including explanation for the AVR code. Andy ---------------------------------------------- Sent from my Dingleberry wired device. -----Original Message----- From: eric dot weddington at atmel dot com <gcc-bugzilla@gcc.gnu.org> To: hutchinsonandy@aim.com Sent: Fri, 6 Jun 2008 3:48 pm Subject: [Bug target/36336] ICE push_reload - psuedo reg_equiv_constant ------- Comment #4 from eric dot weddington at atmel dot com 2008-06-06 19:48 ------- Test case passes with -O[0123s], with WinAVR 20080512 (patched 4.3.0). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36336 ------- You are receiving this mail because: ------- You reported the bug, or are watching the reporter. Subject: Bug 36336 Author: hutchinsonandy Date: Sun Jun 15 18:24:27 2008 New Revision: 136818 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136818 Log: PR target/36336 * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for reg_equiv_constant. Modified: trunk/gcc/ChangeLog trunk/gcc/config/avr/avr.h Subject: Bug 36336 Author: hutchinsonandy Date: Sun Jun 15 18:34:45 2008 New Revision: 136819 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136819 Log: PR target/36336 * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for reg_equiv_constant. Modified: branches/gcc-4_3-branch/gcc/ChangeLog branches/gcc-4_3-branch/gcc/config/avr/avr.h Fixed 4.4 and 4.3 |