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 | |||
