summaryrefslogtreecommitdiff
path: root/gnu/egcs/gcc/config/m88k
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2003-08-08 07:29:29 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2003-08-08 07:29:29 +0000
commite58bbc9bc0725c9044fb70b13b45718c62713bc6 (patch)
treed42317f8edc6fd274f0a7656c5dc68a7491e1a21 /gnu/egcs/gcc/config/m88k
parent47a7963e6032336c3402a73301613eea533428b5 (diff)
On some architectures, being too optimistic in preserve_subexpressions_p(),
for example when -fexpensive-optimizations is used, sometimes causes incorrect code sequences to be generated. As -fexpensive-optimizations is implied by -O2, this means we are potentially affected by this in numerous places... so add a specific workaround to nullify expensizve-optimizations in preserve_subexpressions_p() on a known-to-be-affected basis. So far, only alpha, powerpc, m88k, sparc and sparc64 are affected. Problem tracked down by henning@ - analysis by etoh@ and I - ugly workaround by me - ok deraadt@
Diffstat (limited to 'gnu/egcs/gcc/config/m88k')
-rw-r--r--gnu/egcs/gcc/config/m88k/openbsd.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gnu/egcs/gcc/config/m88k/openbsd.h b/gnu/egcs/gcc/config/m88k/openbsd.h
index 9c195b18f6a..87e6e9ca6ce 100644
--- a/gnu/egcs/gcc/config/m88k/openbsd.h
+++ b/gnu/egcs/gcc/config/m88k/openbsd.h
@@ -67,3 +67,6 @@ Boston, MA 02111-1307, USA. */
/* Every structure or union's size must be a multiple of 2 bytes. */
#undef STRUCTURE_SIZE_BOUNDARY
#define STRUCTURE_SIZE_BOUNDARY 16
+
+/* problems occur if we're too liberal in preserve_subexpressions_p */
+#define BROKEN_PRESERVE_SUBEXPRESSIONS_P