diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2003-08-08 07:29:29 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2003-08-08 07:29:29 +0000 |
commit | e58bbc9bc0725c9044fb70b13b45718c62713bc6 (patch) | |
tree | d42317f8edc6fd274f0a7656c5dc68a7491e1a21 /gnu/egcs/gcc/config/m88k | |
parent | 47a7963e6032336c3402a73301613eea533428b5 (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.h | 3 |
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 |