]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/expr.h
Comment change.
[gcc.git] / gcc / expr.h
index f4f754efe334010f05cacf33e410cf6478ca9328..f47580b9595faebe86851b986c6bb1fa1adad2f6 100644 (file)
@@ -211,6 +211,11 @@ enum direction {none, upward, downward};  /* Value has this type.  */
    So a value padded in memory at the upper end can't go in a register.
    For a little-endian machine, the reverse is true.  */
 
+/* ??? Perhaps later rename this to FUNCTION_ARG_MUST_PASS_IN_STACK?
+   (although it is a little long).  */
+
+#ifndef MUST_PASS_IN_STACK
+
 #if BYTES_BIG_ENDIAN
 #define MUST_PASS_IN_STACK_BAD_PADDING upward
 #else
@@ -224,6 +229,7 @@ enum direction {none, upward, downward};  /* Value has this type.  */
        || ((MODE) == BLKmode                           \
           && (FUNCTION_ARG_PADDING (MODE, TYPE)        \
               == MUST_PASS_IN_STACK_BAD_PADDING))))
+#endif
 
 /* Nonzero if type TYPE should be returned in memory.
    Most machines can use the following default definition.  */
@@ -319,6 +325,14 @@ extern optab sin_optab;            /* Sine */
 extern optab cos_optab;                /* Cosine */
 extern optab strlen_optab;     /* String length */
 
+/* Tables of patterns for extending one integer mode to another.  */
+extern enum insn_code extendtab[MAX_MACHINE_MODE][MAX_MACHINE_MODE][2];
+
+/* Tables of patterns for converting between fixed and floating point. */
+extern enum insn_code fixtab[NUM_MACHINE_MODES][NUM_MACHINE_MODES][2];
+extern enum insn_code fixtrunctab[NUM_MACHINE_MODES][NUM_MACHINE_MODES][2];
+extern enum insn_code floattab[NUM_MACHINE_MODES][NUM_MACHINE_MODES][2];
+
 /* Passed to expand_binop and expand_unop to say which options to try to use
    if the requested operation can't be open-coded on the requisite mode.
    Either OPTAB_LIB or OPTAB_LIB_WIDEN says try using a library call.
@@ -445,6 +459,9 @@ extern rtxfun bcc_gen_fctn[NUM_RTX_CODE];
 
 extern enum insn_code setcc_gen_code[NUM_RTX_CODE];
 
+/* This array records the insn_code of insns to perform block moves.  */
+extern enum insn_code movstr_optab[NUM_MACHINE_MODES];
+
 /* Define functions given in optabs.c.  */
 
 /* Expand a binary operation given optab and rtx operands.  */
@@ -682,11 +699,9 @@ extern rtx trampoline_address PROTO((tree));
    in its original home.  This becomes invalid if any more code is emitted.  */
 extern rtx hard_function_value PROTO((tree, tree));
 
-
-extern rtx prepare_call_address PROTO((rtx, tree, rtx*));
+extern rtx prepare_call_address        PROTO((rtx, tree, rtx *));
 
 extern rtx expand_call PROTO((tree, rtx, int));
-extern void emit_call_1 PROTO((rtx, tree, int, int, rtx, rtx, int, rtx, int));
 
 extern rtx expand_shift PROTO((enum tree_code, enum machine_mode, rtx, tree, rtx, int));
 extern rtx expand_divmod PROTO((int, enum tree_code, enum machine_mode, rtx, rtx, rtx, int));
@@ -694,37 +709,10 @@ extern void locate_and_pad_parm PROTO((enum machine_mode, tree, int, tree, struc
 extern rtx expand_inline_function PROTO((tree, tree, rtx, int, tree, rtx));
 /* Return the CODE_LABEL rtx for a LABEL_DECL, creating it if necessary.  */
 extern rtx label_rtx PROTO((tree));
-#else
-/* Return an rtx for the size in bytes of the value of an expr.  */
-extern rtx expr_size ();
-
-extern rtx lookup_static_chain ();
-
-/* Convert a stack slot address ADDR valid in function FNDECL
-   into an address valid in this function (using a static chain).  */
-extern rtx fix_lexical_addr ();
-
-/* Return the address of the trampoline for entering nested fn FUNCTION.  */
-extern rtx trampoline_address ();
-
-/* Return an rtx that refers to the value returned by a function
-   in its original home.  This becomes invalid if any more code is emitted.  */
-extern rtx hard_function_value ();
-
-extern rtx prepare_call_address ();
-extern rtx expand_call ();
-extern void emit_call_1 ();
-extern rtx expand_shift ();
-extern rtx expand_divmod ();
-extern void locate_and_pad_parm ();
-extern rtx expand_inline_function ();
-
-/* Return the CODE_LABEL rtx for a LABEL_DECL, creating it if necessary.  */
-extern rtx label_rtx ();
 #endif
 
 /* Indicate how an input argument register was promoted.  */
-extern rtx promoted_input_arg ();
+extern rtx promoted_input_arg PROTO((int, enum machine_mode *, int *));
 
 /* Return an rtx like arg but sans any constant terms.
    Returns the original rtx if it has no constant terms.
@@ -749,10 +737,6 @@ extern rtx change_address PROTO((rtx, enum machine_mode, rtx));
 
 extern rtx validize_mem PROTO((rtx));
 
-/* Convert a stack slot address ADDR valid in function FNDECL
-   into an address valid in this function (using a static chain).  */
-extern rtx fix_lexical_addr ();
-
 /* Assemble the static constant template for function entry trampolines.  */
 extern rtx assemble_trampoline_template PROTO((void));
 
@@ -812,9 +796,6 @@ extern rtx function_value ();
    in its original home.  This becomes invalid if any more code is emitted.  */
 extern rtx hard_libcall_value PROTO((enum machine_mode));
 
-/* Emit code to copy function value to a specified place.  */
-extern void copy_function_value ();
-
 /* Given an rtx, return an rtx for a value rounded up to a multiple
    of STACK_BOUNDARY / BITS_PER_UNIT.  */
 extern rtx round_push PROTO((rtx));
@@ -825,7 +806,6 @@ extern rtx store_bit_field PROTO((rtx, int, int, enum machine_mode, rtx, int, in
 extern rtx extract_bit_field PROTO((rtx, int, int, int, rtx, enum machine_mode, enum machine_mode, int, int));
 extern rtx expand_mult PROTO((enum machine_mode, rtx, rtx, rtx, int));
 extern rtx expand_mult_add PROTO((rtx, rtx, rtx, rtx,enum machine_mode, int));
-extern rtx expand_stmt_expr ();
 
 extern rtx assemble_static_space PROTO((int));
 
This page took 0.035004 seconds and 5 git commands to generate.