~ubuntu-branches/debian/sid/gcc-4.8/sid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
gcc/

2012-02-26  Mikael Pettersson  <mikpe@it.uu.se>

	PR rtl-optimization/49847
	* cse.c (fold_rtx) <case CC0>: If prev_insn_cc0 is zero
	don't call equiv_constant on it.

--- a/src/gcc/cse.c
+++ b/src/gcc/cse.c
@@ -3194,9 +3194,14 @@ fold_rtx (rtx x, rtx insn)
 
 #ifdef HAVE_cc0
 	  case CC0:
-	    folded_arg = prev_insn_cc0;
-	    mode_arg = prev_insn_cc0_mode;
-	    const_arg = equiv_constant (folded_arg);
+	    if (!prev_insn_cc0)
+	      const_arg = 0;
+	    else
+	      {
+		folded_arg = prev_insn_cc0;
+		mode_arg = prev_insn_cc0_mode;
+		const_arg = equiv_constant (folded_arg);
+	      }
 	    break;
 #endif