OSDN Git Service

* gcc.c (option_map): Remove --version.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 57b4c66..ed9c48a 100644 (file)
@@ -1,3 +1,433 @@
+2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gcc.c (option_map): Remove --version.
+       (process_command): Handle -fversion following the GNU Coding
+       Standards.  Partially addresses PR other/704.
+
+2002-01-08  Graham Stott  <grahams@redhat.com>
+
+       * combine.c (combine_instructions): Fix typo.
+
+2002-01-08  Graham Stott  <grahams@redhat.com>
+
+       * debug.h: Use "tree" and "rtx" throughout.
+
+       * debug.c: Likewise.
+
+2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * dbxout.c (dbxout_symbol_location): If a symbol ref is in the
+       constant pool, use the pool's version of the symbol instead.
+
+2002-01-07  Richard Henderson  <rth@redhat.com>
+
+       * regrename.c (find_oldest_value_reg): Ignore the value chain if
+       the original register was copied in a mode with a fewer number of
+       hard registers than the desired mode.
+       (copyprop_hardreg_forward_1): Likewise.
+       (debug_value_data): Fix loop test.
+       * toplev.c (parse_options_and_default_flags): Reenable
+       -fcprop-registers at -O1.
+
+2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
+        (altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
+
+        * config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
+        predicates.
+
+        * config/rs6000/rs6000.md: Add altivec predicate patterns.
+
+2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
+       (pa_output_function_prologue): Output local label at the beginning of
+       the prologue when profiling.
+       (hppa_profile_hook): Use the local label rather than the function label.
+       * pa.h (PROFILE_BEFORE_PROLOGUE): Define.
+
+2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/rs6000/rs6000.c (print_operand): Remove extra space.
+        (altivec_expand_unop_builtin): Fix thinko.
+        (altivec_expand_binop_builtin): Same.
+        (altivec_expand_ternop_builtin): Same.
+        (altivec_expand_builtin): Same.
+
+2002-01-07  Richard Henderson  <rth@redhat.com>
+
+       * config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
+
+2002-01-07  Jason Merrill  <jason@redhat.com>
+
+       * unwind-dw2.c (execute_cfa_program): Use < again.
+
+2002-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * predict.c (combine_predictions_for_insn): Avoid division by zero.
+
+2002-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
+       Don't allow -1 - x -> ~x simplifications in the first pass.
+
+2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
+
+        * rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
+        arguments.
+        (altivec_expand_binop_builtin): Same.
+        (altivec_expand_unop_builtin): Same.
+        (print_operand): Fix typo.
+        (bdesc_1arg): Add vupk* variants.
+
+        * rs6000.h (rs6000_builtins): Add vupk* enums.
+
+        * rs6000.md: Add altivec_vupk* variants.
+
+2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
+       doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
+       and last update dates.
+
+2002-01-07  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/rtl.texi (Flags): Clean up documentation of RTL flags
+
+2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+
+       * config/avr/avr.c (avr_mcu_types): Add new MCU types.
+       * config/avr/avr.h (CPP_SPEC): Likewise.
+       (LINK_SPEC): Likewise.
+       (CRT_BINUTILS_SPECS): Likewise.
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+       * doc/invoke.texi (AVR Options): Document them.
+
+Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
+       LABEL_NUSES.
+
+2002-01-07  Graham Stott  <grahams@redhat.com>
+
+        * config/i386/i386.h: Update copyright date.
+        (HALF_PIC_PTR): Add parenthesis.
+        (OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
+        (CONSTANT_ALIGNMENT): Add parenthesis.
+        (DATA_ALIGNMENT): Likewise.
+        (LOCAL_ALIGNMENT): Likewise.
+        (FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
+        (IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
+        (CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
+        (HARD_REGNO_NREGS): Add paranethesis.
+        (VALID_SSE_REG_MODE): Whitespace.
+        (VALID_MMX_REG_MODE): Whitespace.
+        (VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
+        (ix86_hard_regno_mode_ok): Add parenthesis.
+        (HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
+        (RETURN_IN_MEMORY): Whitespace.
+        (N_REG_CLASSES): Add parenthesis.
+        (INTEGER_CLASS_P): Add parenthesis and wrap.
+        (FLOAT_CLASS_P): Likewise.
+        (SSE_CLASS_P): Likewise.
+        (MMX_CLASS_P): Likewise.
+        (MAYBE_INTEGER_CLASS_P): Likewise.
+        (MAYBE_FLOAT_CLASS_P): Likewise.
+        (MAYBE_SSE_CLASS_P): Likewise.
+        (MAYBE_MMX_CLASS_P): Likewise. 
+        (Q_CLASS_P): Likewise.
+        (GENERAL_REGNO_P): Uppercase macro parameter.
+        (REX_INT_REGNO_P): Uppercase macro parameter and wrap.
+        (FP_REGNO_P): Likewise.
+        (ANY_FP_REGNO_P): Uppercase macro parameter.
+        (SSE_REGNO_P): Likewise.
+        (SSE_REGNO): Likewise.
+        (SSE_REG_P): Likewise.
+        (SSE_FLOAT_MODE_P): Likewise.
+        (MMX_REGNO_P): Likewise.
+        (MMX_REG_P):Likewise. 
+        (STACK_REG_P): Likewise.
+        (NON_STACK_REG_P): Likewise.
+        (STACK_TOP_P): Likewise.
+        (CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
+        (PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
+        (SECONDARY_MEMORY_NEEDED): Likewise.
+        (SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
+        (MD_ASM_CLOBBERS): Whitespace and wrap.
+        (MUST_PASS_IN_STACK): Whitespace and wrap.
+        (RETURN_POPS_ARGS): Add parenthesis.
+        (INIT_CUMULATIVE_ARGS): Likewise.
+        (FUNCTION_ARG): Likewise.
+        (FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
+        (SETUP_INCOMING_VARARGS): Likewise.
+        (BUILD_VA_LIST_TYPE):  Add parenthesis.
+        (EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
+        parenthsis.
+        (EXPAND_BUILTIN_VA_ARG): Likewise.
+        (FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
+        (INITIALIZE_TRAMPOLINE): Add parenthesis.
+        (INITIAL_ELIMINATION_OFFSET): Likewise.
+        (REGNO_OK_FOR_INDEX_P): Add parenthesis.
+        (REGNO_OK_FOR_BASE_P): Likewise.
+        (REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
+        (REGNO_OK_FOR_DIREG_P): Likewise.
+        (REG_OK_FOR_INDEX_P): Whitespace.
+        (REG_OK_FOR_BASE_P): Whitespace.
+        (GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
+        parenthesis.
+        (FIND_BASE_TERM): Fix typo.
+        (LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
+        (REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
+        (SYMBOLIC_CONST; Whitespace.
+        (GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
+        (ENCODE_SECTION_INFO): Whitespace.
+        (FINALIZE_PIC): Remove do { ... } while (0).
+        (PROMOTE_MODE): Wrap in do { ... } while (0).
+        (CONST_COSTS): Whitespace.
+        (RTX_COSTS): Add paramethesis, whitespace and wrap.
+        (REGISTER_MOVE_COST): Add parenthesis.
+        (MEMORY_MOVE_COST): Likewise.
+        (EXTRA_CC_MODES): Whitespace.
+        (SELECT_CC_MODE): Add parenthesis and whitespace.
+        (DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
+        (ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
+        (ASM_OUTPUT_LABEL): Add paramethesis.
+        (ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
+        (ASM_OUTPUT_REG_POP): Likewise.
+        (ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
+        (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+
+       * config/i386/i386.c: Update copyright.
+       (CHECK_STACK_LIMIT): Add parenthesis.
+       (AT_BP): Uppercase macro parameter.
+       (x86_64_int_parameter_registers): Constify.
+       (x86_64_int_return_registers): Likewise.
+       (ix86_compare_op0): Use rtx.
+       (construct_container): Constify INTREG parameter.
+       (function_arg): Use rtx.
+
+       * diagnostic.h: Update copyright date.
+       (output_buffer_state): Add parenthesis.
+       (output_buffer_format_args): Likewise.
+
+       * combine.c (combine_instructions): Replace XEXP (links, 0)
+       with link.
+
+2002-01-06  H.J. Lu <hjl@gnu.org>
+
+       * cfgcleanup.c (thread_jump): Fix 2 typos.
+
+2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config.gcc: Add support for --enable-altivec.
+
+2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+
+       * emit-rtl.c (gen_highpart): Add check for NULL_RTX.
+
+2002-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * objc/objc-act.c (handle_impent): Use assemble_variable to emit
+       __objc_class_name_*.
+
+2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+
+       * doc/install.texi (sparcv9-*-solaris2*): Add documentation.
+
+2002-01-06  Richard Henderson  <rth@redhat.com>
+
+       * reorg.c (emit_delay_sequence): Remove death notes, not merely
+       nop them out.  Increment label reference count for REG_LABEL.
+       (fill_slots_from_thread): Frob label reference count around
+       delete_related_insns.
+
+2002-01-05  Richard Henderson  <rth@redhat.com>
+
+       * cfgcleanup.c (try_forward_edges): Detect infinite loops while
+       jump threading.
+
+2002-01-05  Richard Henderson  <rth@redhat.com>
+
+       * c-decl.c (c_expand_body): Don't call outlining_inline_function.
+       * integrate.c (output_inline_function): Likewise.
+       * toplev.c (rest_of_compilation): Do it here instead.  Move call
+       to remove_unnecessary_notes after emitting abstract instance.
+       Force an emitted nested function to have its parent emited as well.
+       * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
+       for null.
+       (rtl_for_decl_location): Do not look at reload data structures
+       before reload has run.
+
+2002-01-05  Kazu Hirata  <kazu@hxi.com>
+
+       * cse.c: Fix formatting.
+       * dwarf2asm.c: Likewise.
+       * dwarf2out.c: Likewise.
+       * explow.c: Likewise.
+       * expmed.c: Likewise.
+       * function.c: Likewise.
+       * gcov.c: Likewise.
+       * gencheck.c: Likewise.
+       * genrecog.c: Likewise.
+       * ggc-common.c: Likewise.
+       * ggc-page.c: Likewise.
+       * global.c: Likewise.
+
+2002-01-05  Kazu Hirata  <kazu@hxi.com>
+
+       * combine.c: Fix formatting.
+
+2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
+
+       PR middle-end/1557
+       * config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
+
+2002-01-05  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
+       as 1 for __powerpc64__ as well.
+
+       * config/rs6000/t-aix43 (T_ADAFLAGS): Define.
+
+       * alias.c (find_base_value, PLUS/MINUS): If we found a base,
+       return it.
+
+2002-01-05  Daniel Berlin  <dan@dberlin.org>
+
+       * lcm.c: Revert change, due to performance regression it causes on
+       SPEC because it's slightly more conservative (sigh, I hate
+       edge-based LCM).
+       
+Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
+
+2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * doc/cppinternals.texi: Update.
+
+2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * doc/invoke.texi (Option Summary) <MMIX Options>: Document
+       -mbranch-predict, -mreg-stack-fill-bug-workaround and their
+       negatives.
+       (MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
+       * config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
+       kludge for pre-october-14th mmix versions to handle new-found bug
+       with PUSHJ/PUSHGO and the register stack.
+       * config/mmix/mmix.h (struct machine_function): Rename member
+       has_call_value_without_parameters to has_call_without_parameters.
+       All referers changed.
+       (TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
+       TARGET_MASK_BRANCH_PREDICT): New macros.
+       (TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
+       -mno-reg-stack-fill-bug-workaround.
+       * config/mmix/mmix.md ("call"): Set struct machine member
+       has_call_without_parameters.
+
+Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (thread_jump): Fix handling of reversed branches.
+
+Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c: Include tm_p.h
+       (mark_effect): Fix handling of hard register; fix handling of SET
+
+2002-01-04  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md (anonymous patterns): Check that
+       operands are registers before using REGNO on them.
+
+2002-01-03  Roland McGrath  <roland@frob.com>
+
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
+
+2002-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (expand_expr_stmt_value): Add maybe_last argument.
+       * c-common.h (genrtl_expr_stmt_value): Likewise.
+       * stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
+       (expand_expr_stmt_value): Add maybe_last argument.
+       Don't warn about statement with no effect if it is the last statement
+       in expression statement.
+       * c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
+       (genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
+       expand_expr_stmt_value.
+       (expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
+       genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
+       * expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
+       as maybe_last to expand_expr_stmt_value.
+
+Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
+
+        * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
+        be passed in, do not build it.
+        (c_begin_if_stmt): New function.
+        (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
+        * c-common.h (c_expand_start_cond): Update prototype.
+        (c_begin_if_stmt): Prototype new function.
+        (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
+        * c-parse.in (if_prefix): Use c_begin_if_stmt,
+        c_begin_while_stmt and c_finish_while_stmt_cond.
+
+2002-01-04  William Cohen  <wcohen@redhat.com>
+
+       * config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
+       * config/pa/pa-linux.h (ASM_FILE_START): Likewise.
+       * config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
+       * config/pa/som.h (ASM_FILE_START): Likewise.
+
+2001-01-04  Daniel Berlin  <dan@cgsoftware.com>
+
+       * lcm.c: Include df.h.
+       Add available_transfer_function prototype.
+       (compute_available): Rework to use iterative dataflow framework.
+       (struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
+       with bb_info in df.h
+       (available_transfer_function): New function.
+
+       * Makefile.in (lcm.o): add df.h to dependencies.
+
+2002-01-04  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (some_operand): Accept HIGH.
+       (input_operand): Likewise; accept simple references to globals.
+       (alpha_const_ok_for_letter_p): New, outlined from alpha.h.
+       (alpha_const_double_ok_for_letter_p): Likewise.
+       (alpha_extra_constraint): Likewise.
+       (alpha_preferred_reload_class): Likewise.  Do not force
+       symbolic constants to memory.
+       (alpha_legitimate_address_p): Accept simple references
+       to small_symbolic_operand.
+       (alpha_legitimize_address): New arg scratch.  Be prepared to be
+       called when no_new_pseudos.  Emit simple symbolic references.
+       Split integers into low, high, and rest.
+       (alpha_expand_mov): Use alpha_legitimize_address.
+       (some_small_symbolic_mem_operand): New.
+       (split_small_symbolic_mem_operand): New.
+       * config/alpha/alpha-protos.h: Update.
+       * config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
+       (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
+       (EXTRA_CONSTRAINT): Likewise.
+       (PREFERRED_RELOAD_CLASS): Likewise.
+       (LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
+       (PREDICATE_CODES): Update.
+       * config/alpha/alpha.md: New post-reload splitters to convert
+       simplfied symbolic operands to the form that references $29.
+       (divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
+       (movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
+
+2002-01-03  Richard Henderson  <rth@redhat.com>
+
+       * local-alloc.c (function_invariant_p): Update commentary.
+
+2002-01-04  H.J. Lu <hjl@gnu.org>
+
+       * toplev.c (rest_of_compilation): Fix a typo when calling
+       cleanup_cfg.
+
 2002-01-03  Kazu Hirata  <kazu@hxi.com>
 
        * c-common.c: Fix formatting.
        (profile_after_prologue): Likewise.
        * function.c (expand_function_start): Likewise.
        (expand_function_start): Likewise.
-       * config/alpha/alpha.c (direct_call_operand): 
+       * config/alpha/alpha.c (direct_call_operand):
        (alpha_does_function_need_gp): Likewise.
        (alpha_expand_prologue): Likewise.
        * config/arm/arm.c (arm_expand_prologue): Likewise.
 
        * mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
        forward defs for struct tags rtx_def, union_tree, rtvec_def
-       also output corresponding typedefs for rtxm, tree, and rtvcec.
+       also output corresponding typedefs for rtx, tree, and rtvec.
 
        * system.h: Move forward defs for struct tags rtx_def, union_tree,
        rtvec_def along with corresponding typedefs for rtx, tree, and
-       rtvcec to config.h, hconfig.h, tconfig.h
+       rtvec to config.h, hconfig.h, tconfig.h.
 
 2002-01-03  Graham Stott  <grahams@redhat.com>