diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-06-12 20:56:57 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-14 14:37:31 +0100 |
commit | 3968f33b6542cf20cf63cf49bfbc033bd2486295 (patch) | |
tree | 2bdb5e2f692a3bd3ecadbf2b4c7dc9f54485c737 /meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch | |
parent | 022ca1d1357caafdfe23aa9ab82f90ba89b6942b (diff) | |
download | openembedded-core-3968f33b6542cf20cf63cf49bfbc033bd2486295.tar.gz openembedded-core-3968f33b6542cf20cf63cf49bfbc033bd2486295.tar.bz2 openembedded-core-3968f33b6542cf20cf63cf49bfbc033bd2486295.tar.xz openembedded-core-3968f33b6542cf20cf63cf49bfbc033bd2486295.zip |
gcc-4.6.0: Bring in patches from FSF 4.6 branch
This brings in new patches from 4.6 release branch
updates the comment section of existing branch to not
contain patch numbers.
Tested build on qemu for arm ppc mips x86 and x86_64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch new file mode 100644 index 000000000..d4dbe8348 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0379-PR-tree-optimization-49093.patch @@ -0,0 +1,61 @@ +From 3fb16a9ff349672beb2818d1139bb689ee424da4 Mon Sep 17 00:00:00 2001 +From: irar <irar@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Thu, 2 Jun 2011 07:02:57 +0000 +Subject: [PATCH] PR tree-optimization/49093 + * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for + volatile data references. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@174559 138bc75d-0d04-0410-961f-82ee72b054a4 + +index 5ae1848..20fdeec 100644 +new file mode 100644 +index 0000000..b8bded6 +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/vect/pr49093.c +@@ -0,0 +1,22 @@ ++/* { dg-do compile } */ ++/* { dg-options "-O1 -ftree-vectorize -fdump-tree-vect-details -fno-tree-fre" } */ ++ ++volatile unsigned char g_324[4] = {0, 1, 0, 1}; ++void foo (int); ++int x, y; ++void func_81(void) ++{ ++ int l_466, l_439[7] = {0}, g_97; ++lbl_473: ++ if (x) { ++ for (g_97 = 0; (g_97 < 4); ++g_97) { ++ if (y) ++ goto lbl_473; ++ g_324[g_97]; ++ l_466 = l_439[g_97]; ++ } ++ foo(l_466); ++ } ++} ++ ++/* { dg-final { cleanup-tree-dump "vect" } } */ +diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c +index a1437b5..db5098c 100644 +--- a/gcc/tree-vect-data-refs.c ++++ b/gcc/tree-vect-data-refs.c +@@ -2577,6 +2577,16 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo, + return false; + } + ++ if (TREE_THIS_VOLATILE (DR_REF (dr))) ++ { ++ if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS)) ++ { ++ fprintf (vect_dump, "not vectorized: volatile type "); ++ print_gimple_stmt (vect_dump, stmt, 0, TDF_SLIM); ++ } ++ return false; ++ } ++ + base = unshare_expr (DR_BASE_ADDRESS (dr)); + offset = unshare_expr (DR_OFFSET (dr)); + init = unshare_expr (DR_INIT (dr)); +-- +1.7.0.4 + |