aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2017-05-09 16:19:35 +0200
committerClaudiu Zissulescu <claziss@gcc.gnu.org>2017-05-09 16:19:35 +0200
commitc7314bc17b9dde51f1eac83dc399d411f5fdd4a0 (patch)
tree936ddafec5b9117a5b74e1054e23cab049a0bc25 /gcc/tree.h
parent4145318390da5670b2e571593ccfe7779863b93c (diff)
downloadgcc-c7314bc17b9dde51f1eac83dc399d411f5fdd4a0.zip
gcc-c7314bc17b9dde51f1eac83dc399d411f5fdd4a0.tar.gz
gcc-c7314bc17b9dde51f1eac83dc399d411f5fdd4a0.tar.bz2
[ARC]Fast interrupts support.
When a processor enters a fast interrupts handler, and duplicate register banks are configured, the processor saves the user context by saving the registers in the main register bank to these additional registers in the duplicate register bank. In this fast interrupt context, when you specify the rgf_banked_regs option,the compiler does not save the registers duplicated in the additional register bank are not saved. gcc/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> Andrew Burgess <andrew.burgess@embecosm.com> * config/arc/arc.c (ARC_AUTOBLINK_IRQ_P): Consider fast interrupts case also. (ARC_AUTOFP_IRQ_P): Likewise. (ARC_AUTO_IRQ_P): Likewise. (rgf_banked_register_count): New variable. (parse_mrgf_banked_regs_option): New function. (arc_override_options): Handle rgf_banked_regs option. (arc_handle_interrupt_attribute): Add firq option. (arc_compute_function_type): Return fast irq type when required. (arc_must_save_register): Handle fast interrupts. (arc_expand_prologue): Do not emit dwarf info for fast interrupts. (arc_return_address_regs): Update. * config/arc/arc.h (arc_return_address_regs): Update. (arc_function_type): Add fast interrupt type. (ARC_INTERRUPT_P): Update. (RC_FAST_INTERRUPT_P): Define. * config/arc/arc.md (simple_return): Update for fast interrupts. (p_return_i): Likewise. * config/arc/arc.opt (mrgf-banked-regs): New option. * doc/invoke.texi (mrgf-banked-regs): Document. testsuite/ 2017-05-09 Claudiu Zissulescu <claziss@synopsys.com> Andrew Burgess <andrew.burgess@embecosm.com> * gcc.target/arc/firq-1.c: New file. * gcc.target/arc/firq-2.c: Likewise. * gcc.target/arc/firq-3.c: Likewise. * gcc.target/arc/firq-4.c: Likewise. * gcc.target/arc/firq-5.c: Likewise. * gcc.target/arc/firq-6.c: Likewise. Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com> From-SVN: r247796
Diffstat (limited to 'gcc/tree.h')
0 files changed, 0 insertions, 0 deletions