summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-09-14 14:37:12 +0000
committerBernd Schmidt <crux@gcc.gnu.org>1999-09-14 14:37:12 +0000
commitbcb339946495233334317afdd24f151f2848b6f7 (patch)
treec31a7e707f3f98eb32c6a8e293f881939e037462 /gcc
parent86bcc1a3b42468c406957c476c41d15e8b5ae08b (diff)
downloadgcc-bcb339946495233334317afdd24f151f2848b6f7.tar.gz
Undo bogus changes from gcc2 merge
From-SVN: r29407
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/emit-rtl.c16
-rw-r--r--gcc/rtl.def12
3 files changed, 23 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 43c1c59e54b..789fa51d16a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+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.
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index e7150c296ab..70b080eb37c 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -251,22 +251,21 @@ gen_rtx_REG (mode, regno)
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;
}
@@ -752,9 +751,6 @@ gen_lowpart_common (mode, x)
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
@@ -793,8 +789,6 @@ gen_lowpart_common (mode, x)
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
diff --git a/gcc/rtl.def b/gcc/rtl.def
index 257ab07faf8..cf2edac7c69 100644
--- a/gcc/rtl.def
+++ b/gcc/rtl.def
@@ -530,13 +530,8 @@ DEF_RTL_EXPR(CONST_STRING, "const_string", "s", 'o')
/* 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). */
@@ -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. */
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.