public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/14798] [3.4/4.0/4.1 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted.
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
@ 2005-10-30 22:09 ` pinskia at gcc dot gnu dot org
2005-10-30 23:39 ` pinskia at gcc dot gnu dot org
` (6 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-30 22:09 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.1.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14798
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/14798] [3.4/4.0/4.1 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted.
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
2005-10-30 22:09 ` [Bug target/14798] [3.4/4.0/4.1 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted pinskia at gcc dot gnu dot org
@ 2005-10-30 23:39 ` pinskia at gcc dot gnu dot org
2005-12-17 2:27 ` [Bug target/14798] [3.4/4.0/4.1/4.2 " kazu at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-30 23:39 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14798
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/14798] [3.4/4.0/4.1/4.2 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted.
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
2005-10-30 22:09 ` [Bug target/14798] [3.4/4.0/4.1 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted pinskia at gcc dot gnu dot org
2005-10-30 23:39 ` pinskia at gcc dot gnu dot org
@ 2005-12-17 2:27 ` kazu at gcc dot gnu dot org
2006-01-25 17:27 ` amylaar at gcc dot gnu dot org
` (4 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: kazu at gcc dot gnu dot org @ 2005-12-17 2:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from kazu at gcc dot gnu dot org 2005-12-17 02:27 -------
Anil, would you care to post your patch on gcc-patches?
In general, people don't review patches in PRs.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14798
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/14798] [3.4/4.0/4.1/4.2 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted.
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2005-12-17 2:27 ` [Bug target/14798] [3.4/4.0/4.1/4.2 " kazu at gcc dot gnu dot org
@ 2006-01-25 17:27 ` amylaar at gcc dot gnu dot org
2006-01-26 15:22 ` amylaar at gcc dot gnu dot org
` (3 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-01-25 17:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from amylaar at gcc dot gnu dot org 2006-01-25 17:27 -------
There is even more wrong with the way we translate function pro-epilogue
affecting pragmas to attributes.
When we used only pragmas, the pragma could placed not only in front of the
function, but also anywhere within the function, and it would affect the
prologue/epilogue generation of that function.
In order to restore this behaviour, the pragma hooks should check cfun, and
apply the pragma to the current function if cfun is set.
--
amylaar at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|joern dot rennecke at superh|joern dot rennecke at st dot
|dot com |com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14798
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/14798] [3.4/4.0/4.1/4.2 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted.
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2006-01-25 17:27 ` amylaar at gcc dot gnu dot org
@ 2006-01-26 15:22 ` amylaar at gcc dot gnu dot org
2006-01-30 15:07 ` amylaar at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 8+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-01-26 15:22 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from amylaar at gcc dot gnu dot org 2006-01-26 15:22 -------
http://gcc.gnu.org/ml/gcc-patches/2006-01/msg01782.html was regression tested
successfully for sh-elf in Revision 110178.
However, it makes sense to write or collect a number of new test cases to test
the affected pragmas and attributes.
--
amylaar at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |amylaar at gcc dot gnu dot
|dot org |org
URL| |http://gcc.gnu.org/ml/gcc-
| |patches/2006-
| |01/msg01782.html
Status|NEW |ASSIGNED
Last reconfirmed|2005-06-04 16:55:35 |2006-01-26 15:22:23
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14798
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/14798] [3.4/4.0/4.1/4.2 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted.
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2006-01-26 15:22 ` amylaar at gcc dot gnu dot org
@ 2006-01-30 15:07 ` amylaar at gcc dot gnu dot org
2006-01-30 16:19 ` amylaar at gcc dot gnu dot org
2006-01-30 17:22 ` amylaar at gcc dot gnu dot org
7 siblings, 0 replies; 8+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-01-30 15:07 UTC (permalink / raw)
To: gcc-bugs
------- Comment #21 from amylaar at gcc dot gnu dot org 2006-01-30 15:07 -------
Subject: Bug 14798
Author: amylaar
Date: Mon Jan 30 15:07:43 2006
New Revision: 110398
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110398
Log:
PR target/14798:
gcc:
* sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
(pragma_trap, pragma_nosave_low_regs): Likewise.
(current_function_anonymous_args): Likewise.
(sh_deferred_function_attributes): New variable.
(sh_deferred_function_attributes_tail): Likewise.
(print_operand): For '@', look up trap_exit attribute.
(calc_live_regs): Look up trapa_handler attribute. For trapa
handlers, save/restore fpscr, but don't do any other
interrupt-specific saves.
Don't save r0..r7 if the nosave_low_regs attribute is in effect.
Fix check for partially saved registers to check for SHmedia.
(sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
(sh_output_function_epilogue): Don't clear any of the removed
variables.
(sh_insert_attributes): Don't check pragma_interrupt.
Insert deferred attributes. Check that interrupt attribute is
present for other attributes that require its presence.
(sh_attribute_table): Add new attributes trapa_handler and
nosave_low_regs.
(sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
Don't check for pragma_interrupt. Don't store argument.
* sh.h (pragma_interrupt, sp_switch): Don't declare.
(sh_deferred_function_attributes): Declare.
(sh_deferred_function_attributes_tail): Likewise.
* sh.md (sp_switch_1): Add operand. Change generator caller.
(sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
(*return_i): Don't use when trap_exit attribute is in effect.
(*return_trapa): New insn pattern.
* sh-c.c: New file.
* config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
setting c_target_objs and cxx_target_objs.
* t-sh: Add rule for sh-c.o.
gcc/testsuite:
* gcc.dg/pragma-isr.c: Added target sh[1234ble]*-*-*.
* gcc.dg/pragma-isr2.c, gcc.dg/pragma-isr-trapa.c: New tests.
* gcc.dg/pragma-isr-trapa2.c: Likewise.
* gcc.dg/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.dg/pragma-isr-trap_exit.c: Likewise.
* gcc.dg/attr-isr.c, gcc.dg/attr-isr-trapa.c: Likewise.
* gcc.dg/attr-isr-trap_exit.c: Likewise.
* gcc.dg/attr-isr-nosave_low_regs.c: Likewise.
Added:
trunk/gcc/config/sh/sh-c.c
trunk/gcc/testsuite/gcc.dg/attr-isr-nosave_low_regs.c
trunk/gcc/testsuite/gcc.dg/attr-isr-trap_exit.c
trunk/gcc/testsuite/gcc.dg/attr-isr-trapa.c
trunk/gcc/testsuite/gcc.dg/attr-isr.c
trunk/gcc/testsuite/gcc.dg/pragma-isr-nosave_low_regs.c
trunk/gcc/testsuite/gcc.dg/pragma-isr-trap_exit.c
trunk/gcc/testsuite/gcc.dg/pragma-isr-trapa.c
trunk/gcc/testsuite/gcc.dg/pragma-isr-trapa2.c
trunk/gcc/testsuite/gcc.dg/pragma-isr2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config.gcc
trunk/gcc/config/sh/sh.c
trunk/gcc/config/sh/sh.h
trunk/gcc/config/sh/sh.md
trunk/gcc/config/sh/t-sh
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pragma-isr.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14798
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/14798] [3.4/4.0/4.1/4.2 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted.
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2006-01-30 15:07 ` amylaar at gcc dot gnu dot org
@ 2006-01-30 16:19 ` amylaar at gcc dot gnu dot org
2006-01-30 17:22 ` amylaar at gcc dot gnu dot org
7 siblings, 0 replies; 8+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-01-30 16:19 UTC (permalink / raw)
To: gcc-bugs
------- Comment #22 from amylaar at gcc dot gnu dot org 2006-01-30 16:19 -------
Subject: Bug 14798
Author: amylaar
Date: Mon Jan 30 16:19:11 2006
New Revision: 110401
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=110401
Log:
PR target/14798:
gcc:
* sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
(pragma_trap, pragma_nosave_low_regs): Likewise.
(current_function_anonymous_args): Likewise.
(sh_deferred_function_attributes): New variable.
(sh_deferred_function_attributes_tail): Likewise.
(print_operand): For '@', look up trap_exit attribute.
(calc_live_regs): Look up trapa_handler attribute. For trapa
handlers, save/restore fpscr, but don't do any other
interrupt-specific saves.
Don't save r0..r7 if the nosave_low_regs attribute is in effect.
Fix check for partially saved registers to check for SHmedia.
(sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
(sh_output_function_epilogue): Don't clear any of the removed
variables.
(sh_insert_attributes): Don't check pragma_interrupt.
Insert deferred attributes. Check that interrupt attribute is
present for other attributes that require its presence.
(sh_attribute_table): Add new attributes trapa_handler and
nosave_low_regs.
(sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
Don't check for pragma_interrupt. Don't store argument.
* sh.h (pragma_interrupt, sp_switch): Don't declare.
(sh_deferred_function_attributes): Declare.
(sh_deferred_function_attributes_tail): Likewise.
* sh.md (sp_switch_1): Add operand. Change generator caller.
(sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
(*return_i): Don't use when trap_exit attribute is in effect.
(*return_trapa): New insn pattern.
* sh-c.c: New file.
* config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
setting c_target_objs and cxx_target_objs.
* t-sh: Add rule for sh-c.o.
* config/sh/sh.c (sh_cfun_trap_exit_p): New function.
* sh-protos.h (sh_cfun_trap_exit_p): Declare.
gcc/testsuite:
* gcc.dg/pragma-isr.c: Added target sh[1234ble]*-*-*.
* gcc.dg/pragma-isr2.c, gcc.dg/pragma-isr-trapa.c: New tests.
* gcc.dg/pragma-isr-trapa2.c: Likewise.
* gcc.dg/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.dg/pragma-isr-trap_exit.c: Likewise.
* gcc.dg/attr-isr.c, gcc.dg/attr-isr-trapa.c: Likewise.
* gcc.dg/attr-isr-trap_exit.c: Likewise.
* gcc.dg/attr-isr-nosave_low_regs.c: Likewise.
Added:
branches/gcc-4_1-branch/gcc/config/sh/sh-c.c
- copied unchanged from r110398, trunk/gcc/config/sh/sh-c.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/attr-isr-nosave_low_regs.c
- copied unchanged from r110398,
trunk/gcc/testsuite/gcc.dg/attr-isr-nosave_low_regs.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/attr-isr-trap_exit.c
- copied unchanged from r110398,
trunk/gcc/testsuite/gcc.dg/attr-isr-trap_exit.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/attr-isr-trapa.c
- copied unchanged from r110398,
trunk/gcc/testsuite/gcc.dg/attr-isr-trapa.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/attr-isr.c
- copied unchanged from r110398, trunk/gcc/testsuite/gcc.dg/attr-isr.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pragma-isr-nosave_low_regs.c
- copied unchanged from r110398,
trunk/gcc/testsuite/gcc.dg/pragma-isr-nosave_low_regs.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pragma-isr-trap_exit.c
- copied unchanged from r110398,
trunk/gcc/testsuite/gcc.dg/pragma-isr-trap_exit.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pragma-isr-trapa.c
- copied unchanged from r110398,
trunk/gcc/testsuite/gcc.dg/pragma-isr-trapa.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pragma-isr-trapa2.c
- copied unchanged from r110398,
trunk/gcc/testsuite/gcc.dg/pragma-isr-trapa2.c
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pragma-isr2.c
- copied unchanged from r110398, trunk/gcc/testsuite/gcc.dg/pragma-isr2.c
Modified:
branches/gcc-4_1-branch/gcc/ChangeLog
branches/gcc-4_1-branch/gcc/config.gcc
branches/gcc-4_1-branch/gcc/config/sh/sh-protos.h
branches/gcc-4_1-branch/gcc/config/sh/sh.c
branches/gcc-4_1-branch/gcc/config/sh/sh.h
branches/gcc-4_1-branch/gcc/config/sh/sh.md
branches/gcc-4_1-branch/gcc/config/sh/t-sh
branches/gcc-4_1-branch/gcc/testsuite/ChangeLog
branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/pragma-isr.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14798
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/14798] [3.4/4.0/4.1/4.2 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted.
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2006-01-30 16:19 ` amylaar at gcc dot gnu dot org
@ 2006-01-30 17:22 ` amylaar at gcc dot gnu dot org
7 siblings, 0 replies; 8+ messages in thread
From: amylaar at gcc dot gnu dot org @ 2006-01-30 17:22 UTC (permalink / raw)
To: gcc-bugs
------- Comment #23 from amylaar at gcc dot gnu dot org 2006-01-30 17:22 -------
Fixed on mainline and the 4.1 branch.
--
amylaar at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14798
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2006-01-30 17:22 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-14798-6675@http.gcc.gnu.org/bugzilla/>
2005-10-30 22:09 ` [Bug target/14798] [3.4/4.0/4.1 Regression] In case of SH target with -O2 option #pragma interrupt doesn't get resetted pinskia at gcc dot gnu dot org
2005-10-30 23:39 ` pinskia at gcc dot gnu dot org
2005-12-17 2:27 ` [Bug target/14798] [3.4/4.0/4.1/4.2 " kazu at gcc dot gnu dot org
2006-01-25 17:27 ` amylaar at gcc dot gnu dot org
2006-01-26 15:22 ` amylaar at gcc dot gnu dot org
2006-01-30 15:07 ` amylaar at gcc dot gnu dot org
2006-01-30 16:19 ` amylaar at gcc dot gnu dot org
2006-01-30 17:22 ` amylaar at gcc dot gnu dot 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).