OSDN Git Service

* config/xtensa/xtensa.c (print_operand): Fix incorrect mode
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 67d1cd5..e2a2102 100644 (file)
+2002-03-22  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.c (print_operand): Fix incorrect mode
+       passed to adjust_address.  Fix comment formatting.
+
+
+2002-03-22  Zack Weinberg  <zack@codesourcery.com>
+
+       * real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
+       Always make REAL_VALUE_TYPE a struct containing an array of
+       HOST_WIDE_INT, not a double.  Tidy up the code deciding how
+       big it is.  Don't declare or use union real_extract.
+
+       * emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
+       decode_rtx_const, output_constant_pool), config/a29k/a29k.c
+       (print_operand), config/arm/arm.c (output_move_double),
+       config/arm/arm.md (consttable_4, consttable_8),
+       config/romp/romp.c (output_fpops), config/s390/s390.h
+       (ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
+       (xtensa_output_literal): Don't use union real_extract.
+
+       * config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
+       (sfmode_constant_to_ulong), config/ns32k/merlin.h
+       (PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
+       config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
+       (PRINT_OPERAND): Don't use local version of union
+       real_extract.
+
+       * config/convex/convex.c (check_float_value), config/vax/vax.c
+       (vax_float_literal), config/m88k/m88k.md (divdf3),
+       config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
+       config/pdp11/pdp11.c (output_move_quad): Don't do host
+       arithmetic on target floating point quantities.
+
+       * config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
+       (output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
+
+       * fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
+       Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
+
+       * real.c (earith): Test INFINITY rather than REAL_INFINITY;
+       NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
+       INFINITY.
+       * print-rtl.c (print_rtx): Disable code which needs
+       floating-point emulator.
+       * libgcc2.c: Include float.h and use DBL_MANT_DIG,
+       FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
+       depending on HOST_FLOAT_FORMAT to be defined properly.
+
+       * config/1750a/1750a.c (get_double, float_label): Delete.
+       (print_operand): Delete huge commented-out chunk.  Use
+       REAL_VALUE_TO_DECIMAL.
+       * config/1750a/1750a-protos.h: Delete prototypes of deleted
+       functions.
+       * config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
+       IEEE_FLOAT_FORMAT.
+       * config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
+       Use REAL_VALUE_TO_DECIMAL as ELF version does.
+       * config/m88k/m88k.c (real_power_of_2_operand,
+       legitimize_operand): Take the REAL_VALUE_TYPE and/or union
+       real_extract out of the union; run the input through
+       REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
+       from that into the union.
+       * config/pdp11/pdp11.c (output_move_double): Rearrange
+       parentheses to make automatic indenter happy.
+
+       * doc/tm.texi (Cross-compilation): Rename node to "Floating
+       Point" and rewrite to describe current situation.  Also adjust
+       documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
+       match code.
+       * doc/rtl.texi: Adjust cross reference.
+
+2002-03-22  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
+       (xtensa_valid_move, xtensa_preferred_reload_class): Define.
+       * config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
+       (xtensa_valid_move, xtensa_preferred_reload_class): Define to
+       prevent use of sp as a reload register.
+       (xtensa_emit_move_sequence): Use xtensa_valid_move instead of
+       non_acc_reg_operand.
+       * config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
+       (PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
+       * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
+       movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
+
+2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
+       * cpplex.c (unterminated): Delete.
+       (parse_string): No string literal may extend over multiple
+       lines.  Suppress the error when preprocessing assembly.
+       * cppmain.c (scan_translation_unit): Strings are single-line.
+
+       * doc/cpp.texi: Update to match.
+
+2002-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR optimization/5854
+       * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
+       Shut up warnings.
+       (CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
+       (EXTRA_CONSTRAINT): Use S for non-push memory operand.
+       * config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
+       const0 if scratch register was not allocated.
+       (m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
+       m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
+       with GEN_INT (...).
+       (m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
+       * config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
+       with GEN_INT (...) everywhere.  Remove constraints in define_split
+       patterns.
+       (movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
+       require scratch register for setting 0 into regs/non-pushable memory.
+
+2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mips/mips.h (MASK_RETURN_ADDR): Define.
+       (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
+
+2002-03-22  Phil Edwards  <pme@gcc.gnu.org>
+
+       * cpplib.h (struct cpp_options):  New member, warn_endif_labels.
+       * cppinit.c (cpp_create_reader):  On by default.
+       (cpp_handle_option):  Handle -W[no-]endif-labels.
+       (cpp_post_options):  Also enable if -pedantic.
+       * cpplib.c (do_else):  Use it.
+       (do_endif):  Likewise.
+       * doc/cppopts.texi:  Document new option.
+       * doc/invoke.texi:  Document new option.
+
+2002-03-22  Lars Brinkhoff  <lars@nocrew.org>
+
+       * config/i386/i386.c, config/i386/i386.md: Change all occurences
+       of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
+
+2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
+
+       * flow.c (calculate_global_regs_live): Clear aux fields of
+       ENTRY and EXIT.
+
+2002-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/v850/v850.c (v850_reorg): Only call alter_subreg on
+       REG or MEM subregs, pass rtx * instead of rtx to it.
+       * config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
+       rtx * instead of rtx to alter_subreg.
+       * config/m32r/m32r.c (gen_split_move_double): Likewise.
+       * config/pj/pj.c (pj_output_rval): Likewise.
+
+2002-03-22  Richard Henderson  <rth@redhat.com>
+
+       PR target/3177
+       * config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
+       (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
+       * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
+       (ia64_expand_prologue): Look at int_regs, not words, for number
+       of incomming int regs.
+
+2002-03-22  Andrew MacLeod  <amacleod@redhat.com>
+
+       * expr.c (expand_expr): A RESULT_DECL is part of a call.
+
+Fri Mar 22 16:30:42 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (flag_loop_optimize, flag_crossjumping):
+       New static variables.
+       (rest_of_compilation): Conditionalize crossjumping and
+       loop optimizer.
+       (parse_options_and_default_flags): Default loop_optimize and
+       crossjumping.
+       (lang_independent_options): Add -fcrossjumping and -floop-optimize
+       * invoke.texi (crossjumping, loop-optimize): Document.
+
+2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
+
+       * real.c (eiisneg): Move outside #ifdef NANS.
+
+Fri Mar 22 12:08:36 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (outgoing_edges_math): Fix condition; relax
+       frequencies match; avoid match on different loop depths.
+       (try_crossjump_to_bb): Kill tests that no longer brings time
+       savings.
+       * cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
+       updating code.
+       (split_edge): Likewise.
+
+       * flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
+       variable.
+
+       * Makefile.in (cfgrtl): Add insn-config.h depenendency.
+       * cfgrtl.c: Include insn-config.h
+       (split_block) Dirtify block in presence of conditional execution
+
+2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
+       * config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
+       (function_arg): Constify CUMULATIVE_ARGS.
+       (function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
+       * config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
+       (UNITS_PER_DOUBLE): New macro.
+       (SETUP_INCOMING_VARARGS): Define.  Use mips_setup_incoming_varargs.
+       (CUMULATIVE_ARGS): Reformat.  Remove num_adjusts workaround and
+       last_arg_fp field.  Replace arg_words and fp_arg_words with gp_regs,
+       fp_regs and stack_words.
+       (EABI_FLOAT_VARARGS_P): New macro.
+       * config/mips/mips.c (struct mips_arg_info): New.
+       (mips_arg_info): New function.
+       (function_arg_advance): Use it.  Add adjustment instructions here
+       rather than in function_arg.
+       (function_arg): Constify CUMULATIVE_ARGS.  Use mips_arg_info.  Check
+       for VOIDmode at the beginning of the function.
+       (function_partial_nregs): Constify CUMULATIVE_ARGS.  Use mips_arg_info.
+       (function_arg_pass_by_reference): Likewise.
+       (mips_setup_incoming_varags): New, largely based on old abi64.h code.
+       (mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
+       (mips_va_start): Likewise.  Use the new stack_words field of
+       CUMULATIVE_ARGS to set up overflow area.  Reformat.
+       (mips_va_arg): Test EABI_FLOAT_VARARGS_P.  Unify EABI handling of
+       doubles and other types, aligning the overflow pointer for non-doubles
+       too.  Remove some code duplication.  Replace hard-coded constants.
+
+2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
+       (CLASS_UNITS): Undefine.
+       (CLASS_MAX_NREGS): Use FP_INC.
+       * config/mips/mips.c (compute_frame_size): Likewise.
+       (override_options): Use FP_INC and UNITS_PER_FPVALUE.
+
+2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
+       prototype, and handle lexing numbers and identifiers.
+       (parse_identifier): Update to new form of parse_slow.
+       (parse_number): Fast path only, use parse_slow otherwise.
+       (_cpp_lex_direct): Update calls to parse_number.
+
+2002-03-21  DJ Delorie  <dj@redhat.com>
+
+       * bb-reorder.c (make_reorder_chain_1): Protect against
+       when redundant edges are omitted.
+       * predict.c (dump_prediction): Likewise.
+
+2002-03-21  Richard Henderson  <rth@redhat.com>
+
+       PR target/5996
+       * fixinc/inclhack.def (solaris_stdio_tag): New.
+       * fixinc/fixincl.x: Regenerate.
+
+2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
+
+       PR c/5597
+       * c-typeck.c (process_init_element): Flag non-static
+       initialization of a flexible array member as illegal.
+
+2002-03-22  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/t-linux64: New.
+       * config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
+       t-ppccomm.  Use t-rs6000 and t-linux64.
+       (powerpc64-*-gnu* <tmake_file>): Likewise.
+       * mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
+       * mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
+       * Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
+
 2002-03-21  Aldy Hernandez  <aldyh@redhat.com>
 
-        * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
-        flag_really_no_inline instead of optimize == 0.
+       * langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
+       flag_really_no_inline instead of optimize == 0.
 
-        * c-objc-common.c (c_cannot_inline_tree_fn): Same.
+       * c-objc-common.c (c_cannot_inline_tree_fn): Same.
 
-        * cp/tree.c (cp_cannot_inline_tree_fn): Same.
+       * cp/tree.c (cp_cannot_inline_tree_fn): Same.
 
-        * flags.h (flag_really_no_inline): New.
+       * flags.h (flag_really_no_inline): New.
 
-        * c-common.c (c_common_post_options): Initialzie
-        flag_really_no_inline.
+       * c-common.c (c_common_post_options): Initialzie
+       flag_really_no_inline.
 
-        * toplev.c (flag_really_no_inline): New.
+       * toplev.c (flag_really_no_inline): New.
 
 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
 
@@ -299,7 +567,7 @@ Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
 2002-03-18  Mark Mitchell  <mark@codesourcery.com>
 
-       * calls.c (precompute_arguments): Do not assume that temporaries 
+       * calls.c (precompute_arguments): Do not assume that temporaries
        can be destroyed after expanding the argument.
        (expand_call): Likewise.
 
@@ -376,7 +644,6 @@ Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
        Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
 
->>>>>>> 1.13452
 2002-03-18  Aldy Hernandez  <aldyh@redhat.com>
 
        * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to