diff options
Diffstat (limited to 'recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch')
-rw-r--r-- | recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch new file mode 100644 index 0000000000..9a9d5940c8 --- /dev/null +++ b/recipes-devtools/gcc/gcc-4.5/linaro/gcc-4.5-linaro-r99392.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | 2010-09-10 Nathan Froyd <froydnj@codesourcery.com> | ||
2 | |||
3 | Issue #9120 | ||
4 | |||
5 | * release-notes-csl.xml (Compiler optimization improvements): New | ||
6 | bullet. | ||
7 | |||
8 | gcc/ | ||
9 | * gimple.c (is_gimple_min_invariant): Check for constant INDIRECT_REFs. | ||
10 | |||
11 | 2010-09-08 Tom de Vries <tom@codesourcery.com> | ||
12 | |||
13 | gcc/ | ||
14 | |||
15 | === modified file 'gcc/gimple.c' | ||
16 | --- old/gcc/gimple.c 2010-06-22 17:23:11 +0000 | ||
17 | +++ new/gcc/gimple.c 2010-09-15 16:47:52 +0000 | ||
18 | @@ -2591,7 +2591,13 @@ | ||
19 | |||
20 | op = strip_invariant_refs (TREE_OPERAND (t, 0)); | ||
21 | |||
22 | - return op && (CONSTANT_CLASS_P (op) || decl_address_invariant_p (op)); | ||
23 | + if (!op) | ||
24 | + return false; | ||
25 | + | ||
26 | + if (TREE_CODE (op) == INDIRECT_REF) | ||
27 | + return CONSTANT_CLASS_P (TREE_OPERAND (op, 0)); | ||
28 | + else | ||
29 | + return CONSTANT_CLASS_P (op) || decl_address_invariant_p (op); | ||
30 | } | ||
31 | |||
32 | /* Return true if T is a gimple invariant address at IPA level | ||
33 | |||