aboutsummaryrefslogtreecommitdiffstats
path: root/packages/gcc/gcc-3.3.4/reverse-compare.patch
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2005-06-30 08:19:37 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-06-30 08:19:37 +0000
commitc8e5702127e507e82e6f68a4b8c546803accea9d (patch)
tree00583491f40ecc640f2b28452af995e3a63a09d7 /packages/gcc/gcc-3.3.4/reverse-compare.patch
parent87ec8ca4d2e2eb4d1c1e1e1a6b46a395d56805b9 (diff)
downloadopenembedded-c8e5702127e507e82e6f68a4b8c546803accea9d.tar.gz
import clean BK tree at cset 1.3670
Diffstat (limited to 'packages/gcc/gcc-3.3.4/reverse-compare.patch')
-rw-r--r--packages/gcc/gcc-3.3.4/reverse-compare.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/packages/gcc/gcc-3.3.4/reverse-compare.patch b/packages/gcc/gcc-3.3.4/reverse-compare.patch
index e69de29bb2..7b6c1b6425 100644
--- a/packages/gcc/gcc-3.3.4/reverse-compare.patch
+++ b/packages/gcc/gcc-3.3.4/reverse-compare.patch
@@ -0,0 +1,31 @@
+--- gcc-3.3.3/gcc/flow.c~ 2003-07-30 01:57:24.000000000 +0100
++++ gcc-3.3.3/gcc/flow.c 2004-04-23 19:23:43.000000000 +0100
+@@ -1904,6 +1904,7 @@
+ regset diff = INITIALIZE_REG_SET (diff_head);
+ basic_block bb_true, bb_false;
+ rtx cond_true, cond_false, set_src;
++ enum rtx_code reversed_code;
+ int i;
+
+ /* Identify the successor blocks. */
+@@ -1934,7 +1935,11 @@
+ /* Extract the condition from the branch. */
+ set_src = SET_SRC (pc_set (bb->end));
+ cond_true = XEXP (set_src, 0);
+- cond_false = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
++ reversed_code = reverse_condition (GET_CODE (cond_true));
++ if (reversed_code == UNKNOWN)
++ goto skip;
++
++ cond_false = gen_rtx_fmt_ee (reversed_code,
+ GET_MODE (cond_true), XEXP (cond_true, 0),
+ XEXP (cond_true, 1));
+ if (GET_CODE (XEXP (set_src, 1)) == PC)
+@@ -1980,6 +1985,7 @@
+ });
+ }
+
++ skip:
+ FREE_REG_SET (diff);
+ }
+ #endif