aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch
blob: 9a9d5940c85166b70495d6c9796f87bebb201442 (plain)
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
29
30
31
32
33
2010-09-10  Nathan Froyd  <froydnj@codesourcery.com>

	Issue #9120

	* release-notes-csl.xml (Compiler optimization improvements): New
	bullet.

	gcc/
	* gimple.c (is_gimple_min_invariant): Check for constant INDIRECT_REFs.

 2010-09-08  Tom de Vries  <tom@codesourcery.com>
 
 	gcc/

=== modified file 'gcc/gimple.c'
--- old/gcc/gimple.c	2010-06-22 17:23:11 +0000
+++ new/gcc/gimple.c	2010-09-15 16:47:52 +0000
@@ -2591,7 +2591,13 @@
 
   op = strip_invariant_refs (TREE_OPERAND (t, 0));
 
-  return op && (CONSTANT_CLASS_P (op) || decl_address_invariant_p (op));
+  if (!op)
+    return false;
+
+  if (TREE_CODE (op) == INDIRECT_REF)
+    return CONSTANT_CLASS_P (TREE_OPERAND (op, 0));
+  else
+    return CONSTANT_CLASS_P (op) || decl_address_invariant_p (op);
 }
 
 /* Return true if T is a gimple invariant address at IPA level