+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>
* gthr-win32.h: New file.
if (mode == Pmode && !reload_in_progress)
{
- if (frame_pointer_rtx != 0 && regno == FRAME_POINTER_REGNUM)
+ if (regno == FRAME_POINTER_REGNUM)
return frame_pointer_rtx;
#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;
#endif
#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;
#endif
#ifdef RETURN_ADDRESS_POINTER_REGNUM
- if (return_address_pointer_rtx != 0
- && regno == RETURN_ADDRESS_POINTER_REGNUM)
+ if (regno == RETURN_ADDRESS_POINTER_REGNUM)
return return_address_pointer_rtx;
#endif
- if (stack_pointer_rtx != 0 && regno == STACK_POINTER_REGNUM)
+ if (regno == STACK_POINTER_REGNUM)
return stack_pointer_rtx;
}
i = INTVAL (x);
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);
}
#else
i[0] = low, i[1] = high;
r = REAL_VALUE_FROM_TARGET_DOUBLE (i);
- if (REAL_VALUE_ISNAN (r))
- return 0;
return CONST_DOUBLE_FROM_REAL_VALUE (r, mode);
}
#else
/* 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
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
- 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')
+DEF_RTL_EXPR(CONST, "const", "e", 'o')
/* program counter. Ordinary jumps are represented
by a SET whose first operand is (PC). */
0 is the live bitmap. Operand 1 is the original block number. */
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 sibling (tail) call or tail recursion.