OSDN Git Service

* config/xtensa/xtensa.c (print_operand): Fix incorrect mode
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index cf1b7bd..e2a2102 100644 (file)
@@ -1,5 +1,707 @@
+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.
+
+       * c-objc-common.c (c_cannot_inline_tree_fn): Same.
+
+       * cp/tree.c (cp_cannot_inline_tree_fn): Same.
+
+       * flags.h (flag_really_no_inline): New.
+
+       * c-common.c (c_common_post_options): Initialzie
+       flag_really_no_inline.
+
+       * toplev.c (flag_really_no_inline): New.
+
+2002-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/avr/avr.md (length): Fix length computation for
+       conditional branches.
+
+2002-03-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * Makefile.in (fold-const.o, stor-layout.o, stmt.o,
+       sdbout.o, profile.o): Update.
+       * c-common.c (c_common_nodes_and_builtins): Use pushdecl
+       langhook.
+       * c-common.h (gettags): Move here from tree.h.
+       * c-tree.h (pushdecl, pushlevel, poplevel, set_block,
+       insert_block, getdecls, kept_level_p, global_bindings_p): New.
+       * dbxout.c (dbxout_init): Use getdecls langhook.
+       * expr.c (expand_expr): Use insert_block langhook.
+       * fold-const.c: Include langhooks.h.
+       (fold_range_test, fold_binary_op_with_conditional_arg,
+       fold): Use global_bindings_p langhook.
+       * integrate.c (expand_inline_function): Use insert_block langhook.
+       * langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
+       LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
+       LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
+       LANG_HOOKS_GETDECLS): New.
+       (LANG_HOOKS_INITIALIZER): Update.
+       * langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
+       langhook.
+       * langhooks.h (struct lang_hooks_for_decls): New.
+       (struct lang_hooks): Update.
+       * profile.c: Include langhooks.h.
+       (output_func_start_profiler): Use new langhooks.
+       * sdbout.c: Include langhooks.h.
+       (sdbout_init, sdbout_finish): Use getdecls langhook.
+       * stmt.c: Include langhooks.h.
+       (expand_fixup, fixup_gotos): Use new langhooks.
+       * stor-layout.c: Include langhooks.h.
+       (variable_size): Use global_bindings_p langhook.
+       * toplev.c (compile_file): Use getdecls langhook.
+       * tree-inline.c (remap_block): Use insert_block langhook.
+       * tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
+       insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
+
+2002-03-21  Richard Henderson  <rth@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
+       constants in .data when -fpic.
+
+2002-03-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
+       where appropriate.
+
+2002-03-21  Tom Tromey  <tromey@redhat.com>
+
+       * config/i386/sol2.h (ASM_QUAD): Undef.  Fixes PR bootstrap/5948.
+
+Thu Mar 21 09:50:48 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
+
+       * expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
+
+2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
+           Richard Henderson  <rth@redhat.com>
+
+       PR c/5354
+       * c-common.c (c_expand_expr): Preserve result of a statement
+       expression if needed.
+
+2002-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/4195
+       * genrecog.c (maybe_both_true_mode): Remove.
+       (maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
+       * machmode.def (Pmode): Likewise.
+
+Thu Mar 21 01:55:06 EST 2002  John Wehle  (john@feith.com)
+
+       * alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
+       (nonlocal_mentioned_p_1): New function.
+       (nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
+       (nonlocal_set_p, nonlocal_set_p_1): Likewise.
+       (mark_constant_function): Recognize pure functions.
+       * rtl.h (global_reg_mentioned_p): New prototype.
+       * rtlanal.c (global_reg_mentioned_p,
+       global_reg_mentioned_p_1): New function.
+
+2002-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
+       UNIX assert.h.
+       * fixinc/fixincl.x: Regenerate.
+
+2002-03-20  Jason Merrill  <jason@redhat.com>
+
+       * config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
+
+2002-03-20  Michael Meissner  <meissner@redhat.com>
+
+       * doc/invoke.texi (Optimize Options): Document that -O2 sets
+       -fstrict-aliasing.
+
+2002-03-20  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
+       ".literal_position" directive before the constant pool.
+
+2002-03-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/contrib.texi (Contributors): Update Geoffrey Keating.
+       Add Craig Rodrigues.
+       Add Brad Lucier to testers.
+
+2002-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/4792
+       * config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
+       to if_then_else.
+       (movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
+       * config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
+       instead of insn_extract.
+
+2002-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/4192
+       * config/fr30/fr30.md (jump): Remove clobber of fixed register.
+
+       * genemit.c (output_added_clobbers_hard_reg_p): Only output return
+       stmt if some case has been output.
+
+2002-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/5972
+       * config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
+       movsfcc_1, movdfcc_1): Add %O2.
+       * config/i386/i386.c (print_operand): Handle %ON.
+       Print . before float condition codes in Sun as cmov syntax.
+       * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
+       * config.gcc (i[34567]86-*-solaris2*): Remove comment which is
+       no longer true.
+
+2002-03-20  Philip Blundell  <pb@nexus.co.uk>
+
+       * config/arm/arm.c (arm_output_epilogue): Don't generate separate
+       return instruction if PC was popped.
+
+2002-03-20  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.md: Remove unused type attributes.
+       (adddi_carry, subddi_carry): Change type attribute to "multi".
+
+2002-03-19  Dale Johannesen  <dalej@apple.com>
+
+       PR optimization/5999, middle-end/5731
+       * expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
+       multiplications by reciprocals.
+
+2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * Makefile.in: Update.
+       * c-common.c: Include langhooks.h.
+       (inline_forbidden_p): Use new hook.
+       * diagnostic.c: Include langhooks.h.
+       (format_with_decl, announce_function,
+       default_print_error_function): Use new hook.
+       * dwarf2out.c (dwarf2_name): Use new hook.
+       * function.c: Include langhooks.h.
+       (init_function_start): Use new hook.
+       * langhooks-def.h (lhd_decl_printable_name): New.
+       (LANGHOOKS_DECL_PRINTABLE_NAME): New.
+       (LANGHOOKS_INITIALIZER): Update.
+       * langhooks.c (lhd_decl_printable_name): New.
+       * langhooks.h (struct lang_hooks): New hook.
+       * toplev.c (decl_name, decl_printable_name): Remove.
+       (open_dump_file): Use new hook.
+       (process_options): Remove old hook.
+       * tree.h (decl_printable_name): Remove.
+objc:
+       * objc-act.c (objc_init): Remove old hook.
+       (objc_printable_name): Export.
+       * objc-act.h (objc_printable_name): New.
+       * objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
+
+2002-03-19  Jim Blandy  <jimb@redhat.com>
+
+       * c-lex.c (cb_file_change): Pass the #inclusion's line number to
+       the start_source_file debug hook, not the current line number.
+
+2002-03-19  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (EH_USES): Provide default.
+       (calculate_global_regs_live): Use it for EH edges and noreturn calls.
+       * doc/tm.texi (EH_USES): New.
+
+       * config/ia64/ia64.c (ia64_eh_uses): New.
+       * config/ia64/ia64-protos.h: Update.
+       * config/ia64/ia64.h (EH_USES): New.
+
+2002-03-19  Richard Henderson  <rth@redhat.com>
+
+       * varasm.c (output_constant_def): Fix stupid typo.
+
+2002-03-19  Richard Henderson  <rth@redhat.com>
+
+       PR 5879
+       * except.c (current_function_has_exception_handlers): New.
+       * except.h: Declare it.
+       * sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
+       Combine tests that disable all sibcalls for the function.
+
+2002-03-19  Olivier Hainque  <hainque@act-europe.fr>
+
+       * varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
+       for INTEGER_CST.
+
+2002-03-19  Richard Henderson  <rth@redhat.com>
+
+       PR 5977, 5991
+       * config/ia64/ia64.c: Revert 2002-03-01 patch.
+       * config/ia64/ia64.h (INIT_EXPANDERS): New.
+
+2002-03-19  Jim Blandy  <jimb@redhat.com>
+
+       * cppmacro.c (cpp_macro_definition): Emit a space after the macro
+       name, even if the replacement list contains no tokens, as required
+       by Dwarf.
+
+2002-03-19  Jason Merrill  <jason@redhat.com>
+
+       * varasm.c (globalize_decl): Get the name from the RTL, not
+       DECL_ASSEMBLER_NAME.
+
+       * Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
+
+2002-03-19  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
+       subdi_carry): Define.
+
+2002-03-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Only warn
+       about -fpic/-fPIC if extra_warnings set.
+
+2002-03-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * expr.c (expand_expr): Sign-extend CONST_INT generated from
+       TREE_STRING_POINTER.
+       * fold-const.c (fold): Delete #if 0 ARRAY_REF case.
+
+Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
+       in favor of SP if FRAME_POINTER_REQUIRED is false.
+
+2002-03-19  Lars Brinkhoff  <lars@nocrew.org>
+
+       * emit-rtl.c (gen_int_mode): New function.
+       * rtl.h: Prototype for it.
+       * combine.c (make_extraction, simplify_comparison), expmed.c
+       (store_bit_field, expand_mult_highpart, expand_divmod), expr.c
+       (convert_modes, store_field), optabs.c (expand_fix),
+       simplify-rtx.c (neg_const_int, simplify_unary_real),
+
+       * config/rs6000/rs6000.c, config/rs6000/rs6000.md:
+       Use it instead of GEN_INT (trunc_int_for_mode (...)).
+
+2002-03-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/5656
+       * langhooks.h (struct lang_hooks_for_tree_inlining): Add
+       convert_parm_for_inlining.
+       * c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
+       Define.
+       * langhooks-def.h: Likewise.
+       * objc/objc-lang.c: Likewise.
+       * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
+       function.
+       * tree-inline.c (initialize_inlined_parameters):
+       Call convert_parm_for_inlining lang hook if needed.
+       * c-typeck.c (c_convert_parm_for_inlining): New function.
+       * c-tree.h (c_convert_parm_for_inlining): Add prototype.
+
+2002-03-18  Mark Mitchell  <mark@codesourcery.com>
+
+       * calls.c (precompute_arguments): Do not assume that temporaries
+       can be destroyed after expanding the argument.
+       (expand_call): Likewise.
+
+2002-03-15  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.md (movdf_internal2): Add two new move constraints.
+       Fix register preference on last change.
+       * config/mips/mips.c (mips_return_in_memory): New function.
+       * config/mips/mips.h (RETURN_IN_MEMORY): Use.
+       * config/mips/mips-protos.h: Declare.
+       * config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
+       * config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
+
+2002-03-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
+       a register too.
+       (anddi3, iorsi3): Likewise.
+
+       * config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
+       use %gprel for symbols that are going to be placed in linkonce
+       sections.
+
+       * config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
+       RETURN_ADDRESS_POINTER_REGNUM to $ra.
+       (CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
+       not needed.  Disregard leaf_function_p().
+       (INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
+       mips16 frame pointer.
+       * config/mips/mips.md (store ra): Only to small SP offsets.
+       2001-08-22  Graham Stott  <grahams@redhat.com>
+       * config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
+       return a REG rtx for the return address register.
+
+2002-03-18  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
+       constant-pool addresses as "mode-dependent".
+       (GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
+
+2002-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/5740
+       * expr.c (emit_group_load): Use extract_bit_field if
+       needed for CONCAT arguments.
+
+2002-03-18  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/4863
+       * arm.md (tablejump): Make this a define_expand.  For PIC add the
+       offset to the base of the table.
+       (thumb_tablejump): Matcher for Thumb tablejump insn.
+       * config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
+       as the difference of two labels.
+       * config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+       * config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
+       tables in the code.
+       * config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
+       * arm.c (get_jump_table_size): If the table is not in the text
+       section, return zero.
+
+2002-03-18  Bernd Schmidt  <bernds@redhat.com>
+
+       * config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
+       of gen_rtx_SUBREG.
+       (arm_reload_out_hi): Use gen_lowpart instead of
+       gen_rtx_SUBREG to access QImode components.
+       * config/arm/arm.md: Disable zero_extend split for QImode
+       subregs in BIG_ENDIAN mode.
+       (storehi_bigend): Match use of least significant byte.
+       (storeinthi): Remove extraneous SUBREG.
+       Add missing construction of operands[2].
+       (movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
+       (movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
+       Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
+
+2002-03-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
+       any_operand.
+
+2002-03-17  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
+       explicitly.
+
+2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
+       (unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
+
+2002-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ifcvt.c (dead_or_predicable): Fix uninitialized variable.
+
+       * predict.c (estimate_bb_frequencies): Delete unused variables.
+
+2002-03-17  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_attribute_table): Move before
+       targetm definition.  Make static.
+
+2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-common.h (yyparse, c_common_parse_file): New.
+       * c-lang.c: Include c-common.h.
+       (LANG_HOOKS_PARSE_FILE): Redefine.
+       * c-lex.c: Include c-common.h.
+       (yyparse): Rename c_common_parse_file.  Call yyparse.
+       * c-parse.in (yyparse): Remove macro.
+       * c-tree.h (yyparse_1): Remove.
+       * langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
+       (LANG_HOOKS_INITIALIZER): Update.
+       * langhooks.h (struct lang_hoooks): New hook parse_file.
+       * toplev.c (compile_file): Use parse_file hook.
+       * tree.h (yyparse): Remove.
+       * objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
+
+2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.md ("truncdfsf2"): Correct operator is
+       float_truncate, not fix.
+       ("*truncdfsf2_real"): Ditto.
+       ("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
+
+       * config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
+
 2002-03-16  Alexandre Oliva  <aoliva@redhat.com>
 
+       * config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
+       (s8), but rather HARD_FRAME_POINTER_REGNUM.  Add parentheses
+       where appropriate.  Make the second reference to
+       leaf_function_p a function call, as intended.  Reindented.
+
        * config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
        * config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
 
@@ -1390,7 +2092,7 @@ Fri Mar  1 20:59:14 CET 2002  Jan Hubicka  <jh@suse.cz>
 
        * config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
        * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
-       * config/rs6000/xcoff.h (COLLET_EXPORT_LIST): Delete.
+       * config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
 
 2002-03-01  Kazu Hirata  <kazu@hxi.com>
 
@@ -4403,7 +5105,7 @@ Mon Feb    4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
        any geenral register.
 
-2001-02-04  Bernd Schmidt  <bernds@redhat.com>
+2001-02-04  Bernd Schmidt  <bernds@redhat.com>s
 
        * cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
        the entry block.