]> git.pld-linux.org Git - packages/crossavr-gcc.git/blame - 303-gcc-osmain.patch
- rebuild with ppl 1.0
[packages/crossavr-gcc.git] / 303-gcc-osmain.patch
CommitLineData
dbe7ab63 1diff -Naurp gcc/config/avr/avr.c gcc/config/avr/avr.c
6ef8d480
PZ
2--- gcc/config/avr/avr.c 2011-10-27 17:47:15.000000000 +0530
3+++ gcc/config/avr/avr.c 2011-10-27 17:53:42.000000000 +0530
4@@ -881,8 +881,9 @@ expand_prologue (void)
5 emit_move_insn (stack_pointer_rtx, frame_pointer_rtx);
dbe7ab63 6 }
6ef8d480
PZ
7 else if ((!AVR_XMEGA && TARGET_NO_INTERRUPTS )
8- || cfun->machine->is_signal
9- || cfun->machine->is_OS_main)
10+ || (!AVR_XMEGA && cfun->machine->is_signal)
dbe7ab63 11+ || (!AVR_XMEGA && cfun->machine->is_OS_main)
12+ || (AVR_XMEGA && cfun->machine->is_nmi))
13 {
6ef8d480
PZ
14 emit_insn (gen_movhi_sp_r_irq_off (stack_pointer_rtx,
15 frame_pointer_rtx));
16@@ -1070,7 +1071,8 @@ expand_epilogue (void)
dbe7ab63 17 emit_move_insn (stack_pointer_rtx, frame_pointer_rtx);
18 }
19 else if ((!AVR_XMEGA && TARGET_NO_INTERRUPTS)
20- || (!AVR_XMEGA && cfun->machine->is_signal))
21+ || (!AVR_XMEGA && cfun->machine->is_signal)
22+ || (AVR_XMEGA && cfun->machine->is_nmi))
23 {
24 emit_insn (gen_movhi_sp_r_irq_off (stack_pointer_rtx,
25 frame_pointer_rtx));
26diff -Naurp gcc/function.c gcc/function.c
6ef8d480
PZ
27--- gcc/function.c 2011-10-27 17:19:51.000000000 +0530
28+++ gcc/function.c 2011-10-27 17:53:42.000000000 +0530
29@@ -5254,6 +5254,14 @@ contains (const_rtx insn, htab_t hash)
dbe7ab63 30 }
31
32 int
33+prologue_contains (const_rtx insn)
34+{
35+ if (contains (insn, prologue_insn_hash))
36+ return 1;
37+ return 0;
38+}
39+
40+int
41 prologue_epilogue_contains (const_rtx insn)
42 {
43 if (contains (insn, prologue_insn_hash))
44diff -Naurp gcc/rtl.h gcc/rtl.h
6ef8d480
PZ
45--- gcc/rtl.h 2011-10-27 17:19:52.000000000 +0530
46+++ gcc/rtl.h 2011-10-27 17:53:42.000000000 +0530
47@@ -2402,6 +2402,7 @@ extern void print_inline_rtx (FILE *, co
dbe7ab63 48
49 /* In function.c */
50 extern void reposition_prologue_and_epilogue_notes (void);
51+extern int prologue_contains (const_rtx);
52 extern int prologue_epilogue_contains (const_rtx);
53 extern int sibcall_epilogue_contains (const_rtx);
54 extern void mark_temp_addr_taken (rtx);
This page took 0.043159 seconds and 4 git commands to generate.