Commit bcb33994 by Bernd Schmidt Committed by Bernd Schmidt

Undo bogus changes from gcc2 merge

From-SVN: r29407
parent 86bcc1a3
Tue Sep 14 15:28:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
Undo some changes from the gcc2 merge:
* rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
* emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
pointers.
Undo this change:
Sat Oct 3 07:20:28 1998 Stephen L Moshier <moshier@world.std.com>
* emit-rtl.c (gen_lowpart_common): Disable optimization of
initialized float-int union if the value is a NaN.
Tue Sep 14 04:03:44 1999 Mumit Khan <khan@xraylith.wisc.edu> Tue Sep 14 04:03:44 1999 Mumit Khan <khan@xraylith.wisc.edu>
* gthr-win32.h: New file. * gthr-win32.h: New file.
......
...@@ -251,22 +251,21 @@ gen_rtx_REG (mode, regno) ...@@ -251,22 +251,21 @@ gen_rtx_REG (mode, regno)
if (mode == Pmode && !reload_in_progress) if (mode == Pmode && !reload_in_progress)
{ {
if (frame_pointer_rtx != 0 && regno == FRAME_POINTER_REGNUM) if (regno == FRAME_POINTER_REGNUM)
return frame_pointer_rtx; return frame_pointer_rtx;
#if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM #if FRAME_POINTER_REGNUM != HARD_FRAME_POINTER_REGNUM
if (hard_frame_pointer_rtx != 0 && regno == HARD_FRAME_POINTER_REGNUM) if (regno == HARD_FRAME_POINTER_REGNUM)
return hard_frame_pointer_rtx; return hard_frame_pointer_rtx;
#endif #endif
#if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && HARD_FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM && HARD_FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM
if (arg_pointer_rtx != 0 && regno == ARG_POINTER_REGNUM) if (regno == ARG_POINTER_REGNUM)
return arg_pointer_rtx; return arg_pointer_rtx;
#endif #endif
#ifdef RETURN_ADDRESS_POINTER_REGNUM #ifdef RETURN_ADDRESS_POINTER_REGNUM
if (return_address_pointer_rtx != 0 if (regno == RETURN_ADDRESS_POINTER_REGNUM)
&& regno == RETURN_ADDRESS_POINTER_REGNUM)
return return_address_pointer_rtx; return return_address_pointer_rtx;
#endif #endif
if (stack_pointer_rtx != 0 && regno == STACK_POINTER_REGNUM) if (regno == STACK_POINTER_REGNUM)
return stack_pointer_rtx; return stack_pointer_rtx;
} }
...@@ -752,9 +751,6 @@ gen_lowpart_common (mode, x) ...@@ -752,9 +751,6 @@ gen_lowpart_common (mode, x)
i = INTVAL (x); i = INTVAL (x);
r = REAL_VALUE_FROM_TARGET_SINGLE (i); r = REAL_VALUE_FROM_TARGET_SINGLE (i);
/* Avoid changing the bit pattern of a NaN. */
if (REAL_VALUE_ISNAN (r))
return 0;
return CONST_DOUBLE_FROM_REAL_VALUE (r, mode); return CONST_DOUBLE_FROM_REAL_VALUE (r, mode);
} }
#else #else
...@@ -793,8 +789,6 @@ gen_lowpart_common (mode, x) ...@@ -793,8 +789,6 @@ gen_lowpart_common (mode, x)
i[0] = low, i[1] = high; i[0] = low, i[1] = high;
r = REAL_VALUE_FROM_TARGET_DOUBLE (i); r = REAL_VALUE_FROM_TARGET_DOUBLE (i);
if (REAL_VALUE_ISNAN (r))
return 0;
return CONST_DOUBLE_FROM_REAL_VALUE (r, mode); return CONST_DOUBLE_FROM_REAL_VALUE (r, mode);
} }
#else #else
......
...@@ -530,13 +530,8 @@ DEF_RTL_EXPR(CONST_STRING, "const_string", "s", 'o') ...@@ -530,13 +530,8 @@ DEF_RTL_EXPR(CONST_STRING, "const_string", "s", 'o')
/* This is used to encapsulate an expression whose value is constant /* This is used to encapsulate an expression whose value is constant
(such as the sum of a SYMBOL_REF and a CONST_INT) so that it will be (such as the sum of a SYMBOL_REF and a CONST_INT) so that it will be
recognized as a constant operand rather than by arithmetic instructions. */ recognized as a constant operand rather than by arithmetic instructions. */
DEF_RTL_EXPR(CONST, "const", "e", 'o')
/* A unary `__builtin_constant_p' expression. This RTL code may only be used DEF_RTL_EXPR(CONST, "const", "e", 'o')
as an operand of a CONST. This pattern is only emitted during RTL
generation and then only if optimize > 0. It is converted by the first
CSE pass into the appropriate CONST_INT. */
DEF_RTL_EXPR(CONSTANT_P_RTX, "constant_p_rtx", "e", 'x')
/* program counter. Ordinary jumps are represented /* program counter. Ordinary jumps are represented
by a SET whose first operand is (PC). */ by a SET whose first operand is (PC). */
...@@ -855,6 +850,11 @@ DEF_RTL_EXPR(RANGE_VAR, "range_var", "eti", 'x') ...@@ -855,6 +850,11 @@ DEF_RTL_EXPR(RANGE_VAR, "range_var", "eti", 'x')
0 is the live bitmap. Operand 1 is the original block number. */ 0 is the live bitmap. Operand 1 is the original block number. */
DEF_RTL_EXPR(RANGE_LIVE, "range_live", "bi", 'x') DEF_RTL_EXPR(RANGE_LIVE, "range_live", "bi", 'x')
/* A unary `__builtin_constant_p' expression. These are only emitted
during RTL generation, and then only if optimize > 0. They are
eliminated by the first CSE pass. */
DEF_RTL_EXPR(CONSTANT_P_RTX, "constant_p_rtx", "e", 'x')
/* A placeholder for a CALL_INSN which may be turned into a normal call, /* A placeholder for a CALL_INSN which may be turned into a normal call,
a sibling (tail) call or tail recursion. a sibling (tail) call or tail recursion.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment