summaryrefslogtreecommitdiff
path: root/m68k-unknown-amigaos/recipes/patches/gcc/gcc.flow.c.p
blob: 29348043de799be82e34c44eeeebed4aeaa055df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
--- gcc-3.4.6/gcc/flow.c	2013-05-19 20:09:27.000000000 +0200
+++ gcc/flow.c	2013-05-19 20:23:32.000000000 +0200
@@ -2335,11 +2335,13 @@
   if (n_basic_blocks == 0
       || (regno < FIRST_PSEUDO_REGISTER
 	  && (global_regs[regno]
-	      || fixed_regs[regno]
-	      || FUNCTION_ARG_REGNO_P (regno))))
+/* begin-GG-local: explicit register specification for parameters */
+	      || fixed_regs[regno])))
     return 0;
 
-  return REGNO_REG_SET_P (ENTRY_BLOCK_PTR->global_live_at_end, regno);
+  return (REGNO_REG_SET_P (ENTRY_BLOCK_PTR->global_live_at_end, regno)
+	  && (regno >= FIRST_PSEUDO_REGISTER || ! function_arg_regno_p (regno)));
+/* end-GG-local */
 }
 
 /* 1 if register REGNO was alive at a place where `setjmp' was called