aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2001-11-03 16:28:33 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2001-11-03 11:28:33 -0500
commita79e3a45914de8e9cae70b753a5b1f4cd871fc9c (patch)
treee4c4eeed512573bd6eb976e608911eb4c0cfb6f1 /gcc/emit-rtl.c
parentd6b6783b3fcda81f149886129180bedadc852f17 (diff)
downloadgcc-a79e3a45914de8e9cae70b753a5b1f4cd871fc9c.zip
gcc-a79e3a45914de8e9cae70b753a5b1f4cd871fc9c.tar.gz
gcc-a79e3a45914de8e9cae70b753a5b1f4cd871fc9c.tar.bz2
cselib.c (cselib_subst_to_values, [...]): Remove reference to CONST_DOUBLE_MEM in comment.
* cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove reference to CONST_DOUBLE_MEM in comment. * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand. (gen_rtx, case CONST_DOUBLE): Call it with one less operand. (init_emit_once): Don't clear CONST_DOUBLE_MEM. * function.c (pop_function_context_from): Don't call restore_varasm_status. * function.h (restore_varasm_status): Delete declaration. * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot. * rtl.c: Likewise. * rtl.def (CONST_DOUBLE): Update comment. * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number. (CONST_DOUBLE_CHAIN): Likewise. (CONST_DOUBLE_MEM): Delete. (gen_rtx_CONST_DOUBLE): Update parameters. * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT. Remove reference to CONST_DOUBLE_MEM. (const_alias_set): New variable. (immed_double_const): Change call to gen_rtx_CONST_DOUBLE. (immed_real_const_1): Adjust tests for 0, 1, and 2. Don't set CONST_DOUBLE_MEM. (clear_const_double_mem): Don't do anything with const_tiny_rtx. (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST. Put constant in const_alias_set. (struct pool_constant): ALIGN now unsigned. OFFSET now HOST_WIDE_INT. Delete LABEL. (restore_varasm_status): Deleted. (mark_pool_constant): Mark desc->rtl. (force_const_mem): Rework to store rtl in hash table, not CONST_DOUBLE_MEM. Put constant in const_alias_set. (find_pool_constant): Check desc->rtl. (mark_constants, mark_constant): Don't special-case CONST_DOUBLE. (init_varasm_once): Initialize const_alias_set. From-SVN: r46736
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 6186638..657e0b6 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -355,21 +355,19 @@ gen_rtx_CONST_INT (mode, arg)
only at run-time. */
rtx
-gen_rtx_CONST_DOUBLE (mode, arg0, arg1, arg2)
+gen_rtx_CONST_DOUBLE (mode, arg0, arg1)
enum machine_mode mode;
- rtx arg0;
- HOST_WIDE_INT arg1, arg2;
+ HOST_WIDE_INT arg0, arg1;
{
rtx r = rtx_alloc (CONST_DOUBLE);
int i;
PUT_MODE (r, mode);
- XEXP (r, 0) = arg0;
- X0EXP (r, 1) = NULL_RTX;
+ X0EXP (r, 0) = NULL_RTX;
+ XWINT (r, 1) = arg0;
XWINT (r, 2) = arg1;
- XWINT (r, 3) = arg2;
- for (i = GET_RTX_LENGTH (CONST_DOUBLE) - 1; i > 3; --i)
+ for (i = GET_RTX_LENGTH (CONST_DOUBLE) - 1; i > 2; --i)
XWINT (r, i) = 0;
return r;
@@ -516,10 +514,10 @@ gen_rtx VPARAMS ((enum rtx_code code, enum machine_mode mode, ...))
case CONST_DOUBLE:
{
- rtx arg0 = va_arg (p, rtx);
+ HOST_WIDE_INT arg0 = va_arg (p, HOST_WIDE_INT);
HOST_WIDE_INT arg1 = va_arg (p, HOST_WIDE_INT);
- HOST_WIDE_INT arg2 = va_arg (p, HOST_WIDE_INT);
- rt_val = gen_rtx_CONST_DOUBLE (mode, arg0, arg1, arg2);
+
+ rt_val = gen_rtx_CONST_DOUBLE (mode, arg0, arg1);
}
break;
@@ -4683,7 +4681,6 @@ init_emit_once (line_numbers)
CONST_DOUBLE_HIGH (tem) = 0;
memcpy (&CONST_DOUBLE_LOW (tem), &u, sizeof u);
- CONST_DOUBLE_MEM (tem) = cc0_rtx;
CONST_DOUBLE_CHAIN (tem) = NULL_RTX;
PUT_MODE (tem, mode);