]> git.pld-linux.org Git - packages/crossavr-gcc.git/blame - 303-gcc-4.5.1-osmain.patch
- synchronized patches with Atmel official AVR8-GNU toolchain.
[packages/crossavr-gcc.git] / 303-gcc-4.5.1-osmain.patch
CommitLineData
dbe7ab63 1diff -Naurp gcc/config/avr/avr.c gcc/config/avr/avr.c
2--- gcc/config/avr/avr.c 2011-01-19 13:45:00.000000000 -0600
3+++ gcc/config/avr/avr.c 2011-01-19 13:45:47.000000000 -0600
4@@ -784,7 +784,8 @@ expand_prologue (void)
5 }
6 else if ((!AVR_XMEGA && TARGET_NO_INTERRUPTS)
7 || (!AVR_XMEGA && cfun->machine->is_signal)
8- || (!AVR_XMEGA && cfun->machine->is_OS_main))
9+ || (!AVR_XMEGA && cfun->machine->is_OS_main)
10+ || (AVR_XMEGA && cfun->machine->is_nmi))
11 {
12 insn =
13 emit_insn (gen_movhi_sp_r_irq_off (stack_pointer_rtx,
14@@ -963,7 +964,8 @@ expand_epilogue (void)
15 emit_move_insn (stack_pointer_rtx, frame_pointer_rtx);
16 }
17 else if ((!AVR_XMEGA && TARGET_NO_INTERRUPTS)
18- || (!AVR_XMEGA && cfun->machine->is_signal))
19+ || (!AVR_XMEGA && cfun->machine->is_signal)
20+ || (AVR_XMEGA && cfun->machine->is_nmi))
21 {
22 emit_insn (gen_movhi_sp_r_irq_off (stack_pointer_rtx,
23 frame_pointer_rtx));
24diff -Naurp gcc/function.c gcc/function.c
25--- gcc/function.c 2010-02-26 09:58:57.000000000 -0600
26+++ gcc/function.c 2011-01-19 13:45:48.000000000 -0600
27@@ -4980,6 +4980,14 @@ contains (const_rtx insn, htab_t hash)
28 }
29
30 int
31+prologue_contains (const_rtx insn)
32+{
33+ if (contains (insn, prologue_insn_hash))
34+ return 1;
35+ return 0;
36+}
37+
38+int
39 prologue_epilogue_contains (const_rtx insn)
40 {
41 if (contains (insn, prologue_insn_hash))
42diff -Naurp gcc/rtl.h gcc/rtl.h
43--- gcc/rtl.h 2010-03-16 05:50:42.000000000 -0500
44+++ gcc/rtl.h 2011-01-19 13:45:48.000000000 -0600
45@@ -2296,6 +2296,7 @@ extern void print_inline_rtx (FILE *, co
46
47 /* In function.c */
48 extern void reposition_prologue_and_epilogue_notes (void);
49+extern int prologue_contains (const_rtx);
50 extern int prologue_epilogue_contains (const_rtx);
51 extern int sibcall_epilogue_contains (const_rtx);
52 extern void mark_temp_addr_taken (rtx);
This page took 0.069148 seconds and 4 git commands to generate.