diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2012-11-20 21:29:37 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2012-11-20 21:29:37 +0000 |
commit | b1f8db923750108b9600bab07d786c77d55c4bb5 (patch) | |
tree | 6b841ddfabda2aa437f2098865a1897701326091 | |
parent | c9e305147230f43f940a9ed43aeb41b63d5d7f39 (diff) |
Make the mips and powerpc optimizer bug workarounds permanent (i.e. apply
them to all platforms). Both of them had been added very late in a release
cycle, which caused us to prefer workarounds with minimal side effects.
Since the issue they are avoiding may happen on other platforms, there is no
harm in making sure no other platform gets bitten by them. And at the moment
no supported platform runs gcc 3, so this does not cause any regression.
-rw-r--r-- | gnu/usr.bin/gcc/gcc/combine.c | 2 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config/mips/openbsd.h | 3 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/config/rs6000/openbsd.h | 3 | ||||
-rw-r--r-- | gnu/usr.bin/gcc/gcc/loop.c | 2 |
4 files changed, 1 insertions, 9 deletions
diff --git a/gnu/usr.bin/gcc/gcc/combine.c b/gnu/usr.bin/gcc/gcc/combine.c index 29142b7d2fc..2e58ffd0a6c 100644 --- a/gnu/usr.bin/gcc/gcc/combine.c +++ b/gnu/usr.bin/gcc/gcc/combine.c @@ -9737,9 +9737,7 @@ simplify_shift_const (x, code, result_mode, varop, orig_count) /* If we can't do that, try to simplify the shift in each arm of the logical expression, make a new logical expression, and apply the inverse distributive law. */ -#ifdef BROKEN_SIMPLIFY_SHIFT_CONST_P if (GET_CODE (XEXP (varop, 1)) == CONST_INT) -#endif { rtx lhs = simplify_shift_const (NULL_RTX, code, shift_mode, XEXP (varop, 0), count); diff --git a/gnu/usr.bin/gcc/gcc/config/mips/openbsd.h b/gnu/usr.bin/gcc/gcc/config/mips/openbsd.h index a38638f21a5..c3d822eac2f 100644 --- a/gnu/usr.bin/gcc/gcc/config/mips/openbsd.h +++ b/gnu/usr.bin/gcc/gcc/config/mips/openbsd.h @@ -139,6 +139,3 @@ Boston, MA 02111-1307, USA. */ in the small data section if the user explicitly asks for it. */ #undef MIPS_DEFAULT_GVALUE #define MIPS_DEFAULT_GVALUE 0 - -/* Prevent too much recursion in simplify_shift_const(). */ -#define BROKEN_SIMPLIFY_SHIFT_CONST_P diff --git a/gnu/usr.bin/gcc/gcc/config/rs6000/openbsd.h b/gnu/usr.bin/gcc/gcc/config/rs6000/openbsd.h index ddcfa1a6529..610f817354c 100644 --- a/gnu/usr.bin/gcc/gcc/config/rs6000/openbsd.h +++ b/gnu/usr.bin/gcc/gcc/config/rs6000/openbsd.h @@ -111,9 +111,6 @@ Boston, MA 02111-1307, USA. */ default to using nm. */ #undef OBJECT_FORMAT_COFF -/* Some code gets optimized incorrectly by move_movables() in loop.c */ -#define BROKEN_MOVE_MOVABLES_P - /* This must agree with <machine/_types.h> */ #undef SIZE_TYPE #define SIZE_TYPE "long unsigned int" diff --git a/gnu/usr.bin/gcc/gcc/loop.c b/gnu/usr.bin/gcc/gcc/loop.c index bb473344bcd..e2d5025c265 100644 --- a/gnu/usr.bin/gcc/gcc/loop.c +++ b/gnu/usr.bin/gcc/gcc/loop.c @@ -1133,7 +1133,7 @@ scan_loop (loop, flags) Generally this increases code size, so do not move moveables when optimizing for code size. */ -#ifndef BROKEN_MOVE_MOVABLES_P +#if 0 /* verified to cause bad code generation on OpenBSD/powerpc */ if (! optimize_size) { move_movables (loop, movables, threshold, insn_count); |