* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
@ 2013-04-02 9:11 ` rguenth at gcc dot gnu.org
2013-04-09 23:17 ` danglin at gcc dot gnu.org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-04-02 9:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |build, wrong-code
Target Milestone|--- |4.8.1
Summary|Segmentation fault in |[4.8/4.9 Regression]
|stage2 gengenrtl -- |Segmentation fault in
|Incorrect instruction |stage2 gengenrtl --
|sequence generated by |Incorrect instruction
|reload |sequence generated by
| |reload
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
2013-04-02 9:11 ` [Bug middle-end/56791] [4.8/4.9 Regression] " rguenth at gcc dot gnu.org
@ 2013-04-09 23:17 ` danglin at gcc dot gnu.org
2013-05-31 10:58 ` jakub at gcc dot gnu.org
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: danglin at gcc dot gnu.org @ 2013-04-09 23:17 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
--- Comment #1 from John David Anglin <danglin at gcc dot gnu.org> 2013-04-09 23:17:04 UTC ---
Introduced in r195702. Guess I didn't do enough testing of PA 1.1.
Looks like we need to ban symbolic destinations to work around this
bug.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
2013-04-02 9:11 ` [Bug middle-end/56791] [4.8/4.9 Regression] " rguenth at gcc dot gnu.org
2013-04-09 23:17 ` danglin at gcc dot gnu.org
@ 2013-05-31 10:58 ` jakub at gcc dot gnu.org
2013-07-28 18:52 ` danglin at gcc dot gnu.org
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-05-31 10:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.8.1 |4.8.2
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.8.1 has been released.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (2 preceding siblings ...)
2013-05-31 10:58 ` jakub at gcc dot gnu.org
@ 2013-07-28 18:52 ` danglin at gcc dot gnu.org
2013-09-21 0:00 ` danglin at gcc dot gnu.org
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: danglin at gcc dot gnu.org @ 2013-07-28 18:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
John David Anglin <danglin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bernds at gcc dot gnu.org
--- Comment #3 from John David Anglin <danglin at gcc dot gnu.org> ---
I think this issue was latent and exposed by r195702. It didn't change
the way auto increment/decrement instructions were handled.
Problem can be worked around on hppa1.1 as follows:
Index: pa.c
===================================================================
--- pa.c (revision 198081)
+++ pa.c (working copy)
@@ -513,6 +513,12 @@
write_symbols = NO_DEBUG;
}
+#ifdef AUTO_INC_DEC
+ /* FIXME: Disable auto increment and decrement processing until reload
+ is completed. See PR middle-end 56791. */
+ flag_auto_inc_dec = reload_completed;
+#endif
+
/* We only support the "big PIC" model now. And we always generate PIC
code when in 64bit mode. */
if (flag_pic == 1 || TARGET_64BIT)
Problem can duplicated on hpux11 by configuring for hppa1.1.
However, I can't see any way to fix this in the PA backend.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (3 preceding siblings ...)
2013-07-28 18:52 ` danglin at gcc dot gnu.org
@ 2013-09-21 0:00 ` danglin at gcc dot gnu.org
2013-10-16 9:48 ` jakub at gcc dot gnu.org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: danglin at gcc dot gnu.org @ 2013-09-21 0:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
--- Comment #5 from John David Anglin <danglin at gcc dot gnu.org> ---
Author: danglin
Date: Sat Sep 21 00:00:38 2013
New Revision: 202808
URL: http://gcc.gnu.org/viewcvs?rev=202808&root=gcc&view=rev
Log:
PR middle-end/56791
* config/pa/pa.c (pa_option_override): Disable auto increment and
decrement instructions until reload is completed.
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/pa/pa.c
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (4 preceding siblings ...)
2013-09-21 0:00 ` danglin at gcc dot gnu.org
@ 2013-10-16 9:48 ` jakub at gcc dot gnu.org
2013-10-16 19:00 ` bernds at gcc dot gnu.org
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-10-16 9:48 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.8.2 |4.8.3
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
GCC 4.8.2 has been released.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (5 preceding siblings ...)
2013-10-16 9:48 ` jakub at gcc dot gnu.org
@ 2013-10-16 19:00 ` bernds at gcc dot gnu.org
2013-10-16 19:18 ` dave.anglin at bell dot net
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: bernds at gcc dot gnu.org @ 2013-10-16 19:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
--- Comment #7 from Bernd Schmidt <bernds at gcc dot gnu.org> ---
Created attachment 31021
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31021&action=edit
Candidate patch.
The workaround patch is nonsensical since pa_option_override doesn't ever get
called at the right times for this to work. The effect is to entirely disable
autoinc generation.
Instead, try this. I think I'm at about 95% certainty that I understand the
problem. The patch is however untested except to verify the output for the
testcase looks plausible.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (6 preceding siblings ...)
2013-10-16 19:00 ` bernds at gcc dot gnu.org
@ 2013-10-16 19:18 ` dave.anglin at bell dot net
2013-11-22 10:44 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: dave.anglin at bell dot net @ 2013-10-16 19:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
--- Comment #8 from dave.anglin at bell dot net ---
On 10/16/2013 3:00 PM, bernds at gcc dot gnu.org wrote:
> Candidate patch.
Thanks very much for looking at this bug. Will test change shortly.
>
> The workaround patch is nonsensical since pa_option_override doesn't ever get
> called at the right times for this to work. The effect is to entirely disable
> autoinc generation.
I wasn't worried about that. Autoinc generation is disabled for PA8000
processors since
it's supposed to be unprofitable. It's also disabled by default on
Linux target.
I don't know the history of this and don't trust comment. It might be
that it was just broken.
Dave
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (7 preceding siblings ...)
2013-10-16 19:18 ` dave.anglin at bell dot net
@ 2013-11-22 10:44 ` rguenth at gcc dot gnu.org
2013-12-31 18:08 ` danglin at gcc dot gnu.org
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-11-22 10:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (8 preceding siblings ...)
2013-11-22 10:44 ` rguenth at gcc dot gnu.org
@ 2013-12-31 18:08 ` danglin at gcc dot gnu.org
2014-01-03 12:46 ` bernds at gcc dot gnu.org
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: danglin at gcc dot gnu.org @ 2013-12-31 18:08 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
--- Comment #9 from John David Anglin <danglin at gcc dot gnu.org> ---
Any chance the candidate patch can be submitted?
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (9 preceding siblings ...)
2013-12-31 18:08 ` danglin at gcc dot gnu.org
@ 2014-01-03 12:46 ` bernds at gcc dot gnu.org
2014-01-03 15:52 ` dave.anglin at bell dot net
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: bernds at gcc dot gnu.org @ 2014-01-03 12:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
--- Comment #10 from Bernd Schmidt <bernds at gcc dot gnu.org> ---
(In reply to John David Anglin from comment #9)
> Any chance the candidate patch can be submitted?
I guess this means you've tested it and it works?
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (10 preceding siblings ...)
2014-01-03 12:46 ` bernds at gcc dot gnu.org
@ 2014-01-03 15:52 ` dave.anglin at bell dot net
2014-01-07 20:47 ` law at redhat dot com
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: dave.anglin at bell dot net @ 2014-01-03 15:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
--- Comment #11 from dave.anglin at bell dot net ---
On 3-Jan-14, at 7:46 AM, bernds at gcc dot gnu.org wrote:
> I guess this means you've tested it and it works?
Yes, I have tested it and it works fine.
Dave
--
John David Anglin dave.anglin@bell.net
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (11 preceding siblings ...)
2014-01-03 15:52 ` dave.anglin at bell dot net
@ 2014-01-07 20:47 ` law at redhat dot com
2014-01-16 20:52 ` law at gcc dot gnu.org
2014-01-16 20:52 ` law at redhat dot com
14 siblings, 0 replies; 16+ messages in thread
From: law at redhat dot com @ 2014-01-07 20:47 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
Jeffrey A. Law <law at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |law at redhat dot com
--- Comment #12 from Jeffrey A. Law <law at redhat dot com> ---
autoincrement addressing modes take up two slots in the reorder buffers on the
PA8000 CPUs and neither slot can be freed until both operations are retired.
By avoiding autoincrement addressing modes, the increments could proceed
through to retirement independently of the memory reference, thus freeing an
entry in the reorder buffer. For the PA8000, disabling autoinc addressing
modes was strictly a performance tweak, it wasn't used to paper over any bugs.
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (12 preceding siblings ...)
2014-01-07 20:47 ` law at redhat dot com
@ 2014-01-16 20:52 ` law at gcc dot gnu.org
2014-01-16 20:52 ` law at redhat dot com
14 siblings, 0 replies; 16+ messages in thread
From: law at gcc dot gnu.org @ 2014-01-16 20:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
--- Comment #13 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Author: law
Date: Thu Jan 16 20:51:24 2014
New Revision: 206688
URL: http://gcc.gnu.org/viewcvs?rev=206688&root=gcc&view=rev
Log:
014-01-16 Bernd Schmidt <bernds@codesourcery.com>
PR middle-end/56791
* reload.c (find_reloads_address_1): Do not use RELOAD_OTHER
* when
pushing a reload for an autoinc when we had previously reloaded an
inner part of the address.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/reload.c
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug middle-end/56791] [4.8/4.9 Regression] Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload
2013-03-31 0:58 [Bug middle-end/56791] New: Segmentation fault in stage2 gengenrtl -- Incorrect instruction sequence generated by reload danglin at gcc dot gnu.org
` (13 preceding siblings ...)
2014-01-16 20:52 ` law at gcc dot gnu.org
@ 2014-01-16 20:52 ` law at redhat dot com
14 siblings, 0 replies; 16+ messages in thread
From: law at redhat dot com @ 2014-01-16 20:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56791
Jeffrey A. Law <law at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |FIXED
--- Comment #14 from Jeffrey A. Law <law at redhat dot com> ---
I committed Bernd's patch which should fix this problem.
^ permalink raw reply [flat|nested] 16+ messages in thread