diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-04-30 12:37:47 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-05 11:54:44 +0100 |
commit | b0d5b9f12adbce2c4a0df6059f5671188cd32293 (patch) | |
tree | f376fcd2e5dcc46185d73d619ce2eec31320d812 /meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch | |
parent | 81859b136c0153e8d5be71d56e910dcc3e8cdb66 (diff) | |
download | openembedded-core-b0d5b9f12adbce2c4a0df6059f5671188cd32293.tar.gz openembedded-core-b0d5b9f12adbce2c4a0df6059f5671188cd32293.tar.bz2 openembedded-core-b0d5b9f12adbce2c4a0df6059f5671188cd32293.tar.xz openembedded-core-b0d5b9f12adbce2c4a0df6059f5671188cd32293.zip |
gcc-4.6.0: Backport FSF 4.6 branch patches
This is set of bugfixes that has been done on
FSF gcc-4_2-branch since 4.6.0 was released
They will roll into 4.6.1 release once that
happens in coming approx 6 months time then
we can simply remove them thats the reason
so use a separate .inc file to define the
SRC_URI additions
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/0182-PR-tree-optimization-48734.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch new file mode 100644 index 000000000..f38422d84 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.6.0/gcc-4_6-branch-backports/0182-PR-tree-optimization-48734.patch @@ -0,0 +1,66 @@ +From a3ac868928384ffe6f10c3aa0fd3ac9ab8cc1aae Mon Sep 17 00:00:00 2001 +From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Tue, 26 Apr 2011 13:44:51 +0000 +Subject: [PATCH 182/200] PR tree-optimization/48734 + * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up + if return value from maybe_fold_*_comparsions isn't something + the code is prepared to handle. + + * gcc.c-torture/compile/pr48734.c: New test. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_6-branch@172969 138bc75d-0d04-0410-961f-82ee72b054a4 + +index 581f168..566f02e 100644 +new file mode 100644 +index 0000000..b20ea80 +--- /dev/null ++++ b/gcc/testsuite/gcc.c-torture/compile/pr48734.c +@@ -0,0 +1,11 @@ ++/* PR tree-optimization/48734 */ ++ ++unsigned int ++foo (int x, unsigned int y, unsigned int z) ++{ ++ z &= (x == -__INT_MAX__ - 1 ? x : -x) > y; ++ z &= (x == -__INT_MAX__ - 1 ? x : -x) > y; ++ z &= (x == -__INT_MAX__ - 1 ? x : -x) > y; ++ z &= (x == -__INT_MAX__ - 1 ? x : -x) > y; ++ return z; ++} +diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c +index 904fef8..987ec65 100644 +--- a/gcc/tree-ssa-reassoc.c ++++ b/gcc/tree-ssa-reassoc.c +@@ -1,5 +1,6 @@ + /* Reassociation for trees. +- Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ++ Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011 ++ Free Software Foundation, Inc. + Contributed by Daniel Berlin <dan@dberlin.org> + + This file is part of GCC. +@@ -1279,6 +1280,20 @@ eliminate_redundant_comparison (enum tree_code opcode, + if (!useless_type_conversion_p (TREE_TYPE (curr->op), TREE_TYPE (t))) + t = fold_convert (TREE_TYPE (curr->op), t); + ++ if (TREE_CODE (t) != INTEGER_CST ++ && !operand_equal_p (t, curr->op, 0)) ++ { ++ enum tree_code subcode; ++ tree newop1, newop2; ++ if (!COMPARISON_CLASS_P (t)) ++ continue; ++ extract_ops_from_tree (t, &subcode, &newop1, &newop2); ++ STRIP_USELESS_TYPE_CONVERSION (newop1); ++ STRIP_USELESS_TYPE_CONVERSION (newop2); ++ if (!is_gimple_val (newop1) || !is_gimple_val (newop2)) ++ continue; ++ } ++ + if (dump_file && (dump_flags & TDF_DETAILS)) + { + fprintf (dump_file, "Equivalence: "); +-- +1.7.0.4 + |