From: Jeff Law Date: Fri, 4 Jan 2002 00:19:27 +0000 (-0700) Subject: Rotate 6 months of ChangeLog entries into ChangeLog.6 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=619acae7b9960b1ab3049666115380463f03e5c0;p=gcc.git Rotate 6 months of ChangeLog entries into ChangeLog.6 From-SVN: r48523 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c7da52f140b..7a815764e3f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -431,19211 +431,4 @@ Tue Jan 1 17:12:56 2002 Richard Kenner (mmix_print_operand): : Emit P for a likely branch. (mmix_print_operand_punct_valid_p): A '+' is valid. -2001-12-31 Richard Henderson - - * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS. - -2001-12-31 Richard Henderson - - * regrename.c (build_def_use): Don't rename asm operands that - were originally hard registers. - (copyprop_hardreg_forward_1): Likewise. - (find_oldest_value_reg): Copy ORIGINAL_REGNO from source. - * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG. Set ORIGINAL_REGNO. - -2001-12-31 Douglas B Rupp - - * config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove. - (NAME__MAIN, SYMBOL__MAIN): Define. - -2001-12-31 Richard Henderson - - * cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL - before decrementing LABEL_NUSES from a jump table. - - * final.c (alter_subreg): Assign REGNO after changing the rtx code. - - * config/alpha/alpha.c (reg_no_subreg_operand): Reject all - non-registers. - -2001-12-31 Graham Stott - - * halfpic.h: Remove foward defs of tree_node and rtx_def. - - * toplev.h: Remove forward def of tree_node, rtx_def. - - * except.h: Remove forward def of tree_node, rtx_def and - define of tree, rtx. Also remove undefs. - - * basic-block.h: Remove forward def of tree_node and - define of tree. - -2001-12-30 Richard Henderson - - * cfglayout.c (scope_def, scope_forest_info, forest, - relate_bbs_with_scopes, make_new_scope, build_scope_forest, - remove_scope_notes, insert_intra_before_1, insert_intra_1, - insert_intra_bb_scope_notes, insert_inter_bb_scope_notes, - rebuild_scope_notes, free_scope_forest_1, dump_scope_forest, - dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove. - (fixup_reorder_chain): Don't set scope for bb. - (insn_scopes, scope_to_insns_initialize, set_block_levels, - change_scope, scope_to_insns_finalize): New. - (cfg_layout_initialize, cfg_layout_finalize): Update to match. - * cfglayout.h (scope_def, scope): Remove. - (reorder_block_def): Remove scope member. - (scope_to_insns_initialize, scope_to_insns_finalize): Declare. - * haifa-sched.c: Revert reemit_other_notes change. - * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes. - Use scope_to_insns_initialize and scope_to_insns_finalize. - * sched-rgn.c (schedule_insns): Likewise. - -2001-12-31 Graham Stott - - * c-lex.c: Include tree.h before expr.h - - * c-typeck.c: Include rtl.h earlier. - - * tree.h (STRIP_NOPS): Remove extraneous semicolon. - (STRIP_SIGN_NOPS): Likewise. - (STRIP_TYPE_NOPS): Likewise. - (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around - macro paramater. - - * final.c (struct bb_list): Delete. - (struct bb_str): Likewise. - - * cfgloop.c (flow_loop_entry_edges_find): Fix typo. - (flow_loop_exit_edges_find): Likewise. - - * gcse.c (gcse_main): Fix typos. - (alloc_gcse_mem): Likewise. - - * function.h: Remove undefs for rtx and tree. - -2001-12-30 Richard Henderson - - * loop.c (check_dbra_loop): Fix last change: examine both - has_multiple_exit_targets and exit_count. - -2001-12-30 Richard Henderson - - * integrate.c (copy_rtx_and_substitute): Fix error last change: - we need to unconditionally create a new mem. - -2001-12-30 Hans-Peter Nilsson - - * config/mmix/mmix.md ("*call_real"): Fix typo in comment. - * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT - to mmix_extra_constraint. - * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle - non-global register classes. Mark now unused parameters as such. - (mmix_extra_constraint, 'U'): Use new parameter strict and call - calling memory_operand_p or strict_memory_address_p, not - address_operand. - * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter. - -2001-12-30 Kaveh R. Ghazi - - * unroll.c: Move include files above first use of `const'. - -2001-12-30 Jakub Jelinek - - * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump - to fail if target is EXIT_BLOCK_PTR, die otherwise. - (redirect_edge_and_branch): Likewise. - * cfgcleanup.c (try_forward_edge): Don't force jump redirecting - if target is EXIT_BLOCK_PTR. - -2001-12-29 David Edelsohn - - * gcc.c (init_gcc_spec): Do not link with static libgcc.a if - gcc invoked with -shared. - -2001-12-29 Graham Stott - - * config/i386/i386.c (ix86_asm_dialect): Fix enum type. - - (override_options): Delete abs macro unused. - - (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations - when testing ASSEMBLER_DIALECT. - - (print_reg): Likewise. - (print_operand): Likewise. - (print_operand_address): Likewise. - (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect. - - * config/i386/i386.h (ix86_asm_dialect): Fix enum type. - - (FIND_BASE_TERM): Fix typo. - -Sat Dec 29 15:48:54 2001 Richard Kenner - - * expr.c (store_field): Use adjust_address, not PUT_MODE. - (expand_expr, case VIEW_CONVERT_EXPR): Likewise. - * reload1.c (eliminate_regs, case SUBREG): Likewise, but use - adjust_address_nv. - * varasm.c (make_decl_rtl): Likewise. - * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use - replace_equiv_address_nv. - - * varasm.c (decode_addr_const, case INTEGER_CST): Call - output_constant_def instead of looking at TREE_CST_RTL. - - * expr.c (convert_move): If -fforce-mem, force FROM to not be memory. - - * stor-layout.c (layout_decl): Don't misalign field of variable size - for packed record. - - * dwarf2out.c (compute_section_prefix): Avoid cast warning. - (gen_decl_die): Only check DECL_IGNORED_P on decls. - (dwarf2out_decl): Check for DECL_IGNORED_P only when needed. - -2001-12-29 Jakub Jelinek - - * cfglayout.c (insert_intra_before_1): New. - (insert_inter_bb_scope_notes): Emit sibling block notes which don't - span multiple basic blocks. - -2001-12-29 Richard Henderson - - * loop.c (prescan_loop): Set has_multiple_exit_targets for exception - edges. Rearrange jump interpretation code to use pc_set. - (check_dbra_loop): Examine has_multiple_exit_targets not exit_count. - - * sched-deps.c (sched_analyze_insn): Set scheduling barrier for - all insns that can throw, not just if flag_non_call_exceptions. - -2001-12-29 Stan Shebs - - * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove. - (default_constant_string_class_name): New global. - (objc_init): Set it. - (synth_module_prologue): Use it. - - * objc/objc-act.c: Apply various cosmetic and formatting changes. - -2001-12-29 Kazu Hirata - - * config/rs6000/darwin-tramp.asm: Fix comment formatting. - * config/rs6000/freebsd.h: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/sh/sh.c: Likewise. - * config/sh/sh.h: Likewise. - -2001-12-28 Stan Shebs - - * objc/objc-act.c (build_module_descriptor): Make sure the init - function is not deferred. - (build_dispatch_table_initializer): Compute the method encoding if - not already done. - -2001-12-28 Kazu Hirata - - * doc/md.texi: Add @findex define_insn_and_split. - -2001-12-28 Hans Bohem - - * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New. - * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp, - bsp setup. Set pri_unat_loc to something reasonable. - (uw_install_context): Add missing cast. - (unw_access_gr): Fix off-by-1 indexing error. - -2001-12-28 Kazu Hirata - - * except.c: Fix comment formatting. - * flags.h: Likewise. - * flow.c: Likewise. - * predict.c: Likewise. - * simplify-rtx.c: Likewise. - * system.h: Likewise. - * vmsdbg.h: Likewise. - * vmsdbgout.c: Likewise. - -2001-12-28 Kazu Hirata - - * config/h8300/h8300.md: Fix formatting. - -2001-12-28 Geoff Keating - - * varasm.c (record_constant_1): Correct parameter to recursive - call in default case. - -2001-12-28 Jakub Jelinek - - * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT, - ASM_OUTPUT_DWARF_PCREL): Define. - * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. - * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports - .uaword %r_disp32() and linker handles it correctly. - * configure, config.in: Rebuilt. - -2001-12-28 Jakub Jelinek - - * c-typeck.c (store_init_value): If initializing object with array - type of unknown size by a compound literal, set object's size from - compound literal size. - * doc/extend.texi (Compound Literals): Adjust documentation. - -2001-12-28 Richard Henderson - - * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT. - (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT. - (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT. - * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case - INTEL_EXTENDED_IEEE_FORMAT. - -2001-12-27 Geoff Keating - - * combine.c (try_combine): Mask off sign bits when combining - stores to the low and high parts of a two-word value. - - * expr.c (expand_expr): Don't mark memory for non-constants as - constant. - -Thu Dec 27 20:39:55 2001 Richard Kenner - - * integrate.c (copy_rtx_and_substitute, case MEM): If inlining - and not for LHS, clear RTX_UNCHANGING_P. - -2001-12-28 Philipp Thomas - - * cppfiles.c (stack_include_file): Don't translate . - -2001-12-27 Roger Sayle - - * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in - when all arguments are known constant. Fixes PR opt/3508. - -2001-12-27 Kazu Hirata - - * config/h8300/h8300.md (two anonymous patterns): Remove. - -2001-12-27 Richard Henderson - - * haifa-sched.c (reemit_other_notes): New. - (schedule_block): Use it. - * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes. - * sched-rgn.c (schedule_insns): Likewise. - * cfglayout.c (remove_scope_notes): Handle removing note at - the end of the insn chain. - * function.c (debug_find_var_in_block_tree): New. - -2001-12-27 Alan Modra - David Edelsohn - - * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify. - -2001-12-27 Jakub Jelinek - - * toplev.c (independent_decode_option): Re-add -aux-info option - handling. - -Thu Dec 27 09:50:44 2001 Richard Kenner - - * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note - if special value. - -2001-12-26 Kaveh R. Ghazi - - * collect2.c (is_ctor_dtor): Const-ify. - * m88k-protos.h (output_file_start): Likewise. - * m88k.c (m88k_lang_independent_options, output_options, - output_file_start): Likewise. - * fix-header.c (files_to_ignore, std_include_entry, include_entry, - std_include_table, main): Likewise. - * protoize.c (longopts): Likewise. - * regclass.c (int_reg_class_contents): Likewise. - * toplev.c (dump_file, f_options, W_options): Make static. - (lang_independent_options, f_options, W_options): Const-ify. - * tree-dump.c (dump_file_info): Likewise. - * unroll.c (_factor): Make static. - -Wed Dec 26 17:55:50 2001 Richard Kenner - - * config/alpha/alpha.c (alpha_align_insns): Remove warning. - - * config/sparc/sparc.md (call struct patterns): Show starting - at two words long. - -2001-12-26 David Edelsohn - - * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405. - * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405. - -2001-12-26 DJ Delorie - - * function.c (expand_main_function): Make sure stack adjustments - happen before sjlj exception setup. - -2001-12-26 David Edelsohn - - * rs6000.md (indirect_jump): Prefer CTR over LR. - * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function. - -Tue Dec 25 12:04:47 2001 Richard Kenner - - * dwarf2out.c: Reformatting and minor code rearrangement. - -2001-12-24 Douglas B. Rupp (rupp@gnat.com) - - * configure.in (quoted_stage_prefix_set_by_configure): Generate. - * configure: Regenerated. - * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use - quoted_stage_prefix_set_by_configure. - -Mon Dec 24 10:24:59 2001 Richard Kenner - - * rtl.h (in_expr_list_p): New declaration. - * rtlanal.c (in_expr_list_p): New function. - * cfgcleanup.c: Reformatting and minor code rearrangement. - * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise. - -2001-12-23 Richard Henderson - - PR c/5163: - * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when - we have a function body associated. Minor cleanups. - (grokdeclarator): Do not set DECL_INLINE without a function body. - -2001-12-23 Richard Henderson - - * stmt.c (resolve_operand_names): Handle operand modifiers. - -2001-12-23 Richard Henderson - - * stmt.c (parse_input_constraint): Break out from ... - (expand_asm_operands): ... here. Loop over the operands twice, - the first time only calling mark_addressable. Correct and simplify - the conditions for spilling an output operand to memory. - -2001-12-23 Richard Henderson - - * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs. - - * config/alpha/alpha.md (UNSPEC_SIBCALL): New. - (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it. - (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise. - -2001-12-23 Joseph S. Myers - - * c-typeck.c (c_start_case): Don't strip conversions from the - controlling expression. Partially fixes PR c/2454. - -2001-12-23 Joseph S. Myers - - * Makefile.in (USER_H): Remove proto.h. - * config.gcc (c*-convex-*): Set extra_headers=proto.h. - -2001-12-23 Kaveh R. Ghazi - - * arc.c (arc_hard_regno_mode_ok): Const-ify. - * arc.h (arc_hard_regno_mode_ok): Likewise. - * i386.c (x86_64_reg_class_name): Make static. - * m68k.c (regno_reg_class): Const-ify. - * m68k.h (regno_reg_class): Likewise. - * mcore.c (reg_class_from_letter): Likewise. - * mcore.h (reg_class_from_letter): Likewise. - * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns, - ext_shift_insns, ext_shift_amounts): Likewise. - * sh.h (reg_class_from_letter): Likewise. - * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes, - hard_64bit_mode_classes): Likewise. - * sparc.h (hard_regno_mode_classes): Likewise. - - * gcc.c (modify_target): Make static. - * gengenrtl.c (defs, formats): Likewise. - * reload1.c (elim_table_1, init_elim_table): Const-ify. - * tradcpp.c (directive, directive_table, handle_directive, - skip_if_group, run_directive): Likewise. - -2001-12-23 Richard Henderson - - * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for - an invalid result register; do end the sequence properly. - (emit_library_call_value_1): Likewise. - -2001-12-22 Aldy Hernandez - - * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants. - - * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same. - - * config/rs6000/rs6000.c: Clean up some spacing and indentation. - (altivec_init_builtins): Add tree types for builtins with 4 bit - literals. - (bdesc_3arg): Add vsldoi variants. - -2001-12-22 Kaveh R. Ghazi - - * 1750a.h (datalbl, jmplbl): Declare array size explicitly. - * a29k.h (a29k_debug_reg_map): Likewise. - * arc.h (arc_regno_reg_class): Likewise. - * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise. - * convex.h (regno_reg_class, reg_class_from_letter): Likewise. - * d30v.h (regno_reg_class, reg_class_from_letter): Likewise. - * i386.h (regclass_map): Likewise. - * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise. - * mcore.h (regno_reg_class): Likewise. - * mips.h (mips_print_operand_punct, mips_char_to_class): - Likewise. - * ns32k.h (regclass_map): Likewise. - * pj.h (pj_debugreg_renumber_vec): Likewise. - * s390.h (regclass_map): Likewise. - * sh.h (regno_reg_class): Likewise. - * sparc.h (sparc_regno_reg_class): Likewise. - - * hard-reg-set.h (reg_class_contents): Likewise. - * machmode.h (class_narrowest_mode): Likewise. - -2001-12-22 David Edelsohn - - * loop.c (scan_loop, move_movables, count_one_set): Do not - overlook hard registers when computing statistics. - -Sun Dec 23 00:49:37 CET 2001 Jan Hubicka - - * calls.c (ECF_LIBCALL_BLOCK): New constant. - (emit_call_1, initialize_argument_information, - precompute_arguments, expand_call, - emit_library_call_value_1): Use ECF_LIBCALL_BLOCK - instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE. - -2001-12-22 Joseph S. Myers - - * config.gcc (extra_headers): Move settings to math-68881.h and - ppc-asm.h to common code for CPU types. Use math-68881.h on all - m68k targets. - (header_files): Remove unused setting. - -2001-12-22 Kaveh R. Ghazi - - * elxsi.c: Include "hard-reg-set.h" and/or don't declare - `call_used_regs' explicitly. - * i860.c: Likewise. - * m68k.c: Likewise. - * ns32k.c: Likewise. - * pa.c: Likewise. - * vax.c: Likewise. - * we32k.c: Likewise. - -Fri Dec 21 23:30:14 CET 2001 Jan Hubicka - - * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New. - (TARGET_CPU_DEFAULT_*): Renumber. - -Sat Dec 22 12:20:20 EST 2001 John Wehle (john@feith.com) - - * rtl.h (subreg_lsb): Declare. - * rtlanal.c (subreg_lsb): Implement. - -Sat Dec 22 08:59:50 2001 Richard Kenner - - * predict.c: Reformatting and minor cleanups. - * cfg.c, cfganal.c, cfgbuild.c: Likewise. - - * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of - SAVE_EXPR. - * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR. - (put_addressof_into_stack): Clarify code in setting of used_p. - - * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here. - (expand_call): Delete from here. - Do pending stack adjustments if ECF_SP_DEPRESSED. - - * dwarf2out.c (save_rtx): Deleted. - (mem_loc_descriptor): Do equivalent operation. - (add_const_value_attribute, case CONST): Likewise. - (add_name_and_src_coords_attributes): Likewise. - -2001-12-21 Kazu Hirata - - * config/h8300/h8300.h: Fix comment formatting. - -Fri Dec 21 17:30:15 2001 Jeffrey A Law (law@redhat.com) - - * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG. - (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG. - -2001-12-21 Robert Lipe - - * system.h (PREFETCH): Explictly undefine. - -2001-12-21 Richard Henderson - - * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional. - (RESTORE_WARN_FLAGS): Restore it. - (extension): Zero warn_traditional. - -2001-12-21 Kazu Hirata - - * doc/passes.texi: Fix a typo. - -2001-12-21 Kazu Hirata - - * config/h8300/h8300.h: Fix a comment typo. - -2001-12-21 Jakub Jelinek - - * combine.c (nonzero_bits): If using reg_nonzero_bits, - we don't know anything about bits outside of X mode. - (num_sign_bit_copies): Likewise. - -2001-12-21 Nick Clifton - - * config/arm/arm.md (prefetch): Use 'a' operand code. - -2001-12-20 Kaveh R. Ghazi - - * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in - subshells. - * configure.in: Likewise for perl Pod::Man. - - * configure: Regenerated. - -2001-12-20 Kaveh R. Ghazi - - * builtin-attrs.def (__builtin_printf_unlocked, - __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked): - Mark with the __printf__ attribute. - - * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter - and set the replacement function depending on it. - (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing. - Handle BUILT_IN_*_UNLOCKED when optimizing. - - * builtins.def (DEF_EXT_FALLBACK_BUILTIN, - DEF_EXT_FRONT_END_LIB_BUILTIN): New macros. - Declare the "unlocked" stdio functions. - - * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf): - Add an `unlocked' parameter and set the replacement function - depending on it. - (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and - BUILT_IN_FPRINTF_UNLOCKED. - - * doc/extend.texi (printf_unlocked, fprintf_unlocked, - fputs_unlocked): Document. - -2001-12-20 Josef Zlomek - - * cfgloop.c (flow_loops_find): Use the information of the depth - first search order of the CFG correctly when finding natural loops. - -2001-12-20 Richard Henderson - - * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs. - -2001-12-20 Richard Henderson - - * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos. - * config/alpha/alpha.md (call_osf, call_value_osf): Don't force - operand into $27. - -2001-12-20 Joseph S. Myers - - * configure.in (all_headers, all_lib2funcs): Remove. - * configure: Regenerate. - * Makefile.in (LANG_EXTRA_HEADERS): Remove. - (USER_H): Don't include $(LANG_EXTRA_HEADERS). - * config/alpha/t-interix (USER_H): Don't include - $(LANG_EXTRA_HEADERS). - * config/i386/t-interix: Likewise. - * config/t-openbsd: Likewise. - -2001-12-20 Andreas Jaeger - - * libgcc2.c (__bb_exit_func): Remove unused variable. - (num_digits): Remove unused function. - -2001-12-20 Alan Shieh - - * config/arm/arm.c (arm_output_epilogue): Changed IP restore - to use ldmfd instead of ldmea. - * config/arm/arm.c (arm_compute_initial_elimination_offset): - Modified to reflect behavior of arm_expand_prologue when generating - interrupt handlers - -2001-12-20 Nick Clifton - - * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): New - function. Compute which of registers r0 through r12 should be - saved onto the stack during a function's prologue. - (arm_compute_save_reg_mask): Use - arm_compute_save_reg0_reg12_mask. - (arm_compute_initial_elimination_offset): Use - arm_compute_save_reg0_reg12_mask. - - (arm_expand_prologue): Do not mark as save of the IP register - for an interrupt handler as being part of the frame creation - code. - -2001-12-20 Richard Henderson - - * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer - to emit floating point values. - (assemble_real_1): Remove. - - * 1750a/1750a.c (real_value_to_target_single): New. - (real_value_to_target_double): New. - * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New. - (REAL_VALUE_TO_TARGET_SINGLE): New. - (REAL_VALUE_TO_TARGET_DOUBLE): New. - * 1750a/1750a-protos.h: Update. - - * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h, - alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c, - avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h, - d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h, - fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h, - i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h, - i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c, - i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c, - m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h, - m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h, - m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h, - m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h, - mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c, - mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h, - ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h, - romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h, - sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h, - vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT, - ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT, - ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all - associated support routines. - -Thu Dec 20 16:58:46 CET 2001 Jan Hubicka - - * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns - if one of block does not contain jump. - (outgoing_edge_math): Revert last path; require edges to be noncomplex - nonfake to match single exit edge; require conditional jumps to not - have side effect. - -2001-12-20 Turly O'Connor - - * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to - "recog_operand" to "recog_data.operand". - * rtl.def: Likewise. - -2001-12-20 Jakub Jelinek - - * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has - narrower mode than op0, only return the bits in DIV's mode. - -2001-12-20 Jakub Jelinek - - * combine.c (distribute_notes): Avoid adding REG_LABEL notes - to JUMP_INSNs with JUMP_LABEL. - -2001-12-19 Aldy Hernandez - - * doc/install.texi: Add documentation for --enable-altivec. - - * config.gcc: Add support for --enable-altivec. - - * config/rs6000/altivec.h: New. - - * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS): - Define. Fix typo. - - * config/rs6000/rs6000.c (vrsave_operation): Change unspec to - unspec_volatile. - (generate_set_vrsave): Generate the unspec here instead of calling - an .md pattern. - (generate_set_vrsave): Use gen_rtvec. - (rs6000_emit_prologue): Replace call to gen_get_vrsave with - gen_rtx_SET. - - * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints - for setting special registers. - ("*set_vrsave_internal"): Use unspec_volatile. - ("set_vrsave"): Remove. - ("get_vrsave"): Remove. - - * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to - SPECIAL_REGS. - -2001-12-19 Bruce Korb - - * gcc/fixinc/inclhack.def: Remove all the fix suppression "fixes". - (strict_ansi_not_ctd): accommodate __STDC__ == 0 tests in UW 2.1.2 - * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program - * gcc/fixinc/base/...: adjust for changes in fixes - -2001-12-20 Joseph S. Myers - - * po/gcc.pot: Regenerate. - - * configure.in (all_diff_excludes, diff_excludes): Remove. - * configure: Regenerate. - * Makefile.in (LANG_DIFF_EXCLUDES): Remove. - * objc/config-lang.in (diff_excludes): Remove. - -2001-12-19 Dan Nicolaescu - - * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass - the destination register as a parameter to mems_ok_for_ldd_peep. - For store peepholes pass NULL_RTX. Move all volatile checks ... - * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here. Add a - register parameter, check it's not the same as base for an address. - * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update. - -2001-12-19 Jakub Jelinek - - * config/ia64/ia64.c (ia64_single_set): Return first set for - prologue_allocate_stack and epilogue_deallocate_stack instructions. - -2001-12-19 Dale Johannesen - - * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS: - redefine in terms of rs6000_legitimize_reload_address(). - * config/rs6000/rs6000-protos.h: Add this function. - * config/rs6000/rs6000.c: Add this function. Includes - handling for Darwin FP constants. - -Wed Dec 19 11:01:21 2001 Jeffrey A Law (law@redhat.com) - - * config/pa/t-hpux-shlib: New file. - * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file - for 32bit hpux10 & hpux11 configurations. - -2001-12-19 Nick Clifton - - * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass - -mno-fpu onto gas unless -mhard-float is specified. - (MULTILIB_DEFAULTS): Include msoft-float. - - * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition. - - * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false). - * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true). - -Wed Dec 19 06:12:34 2001 Douglas B. Rupp - - * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure - descriptor output. - -2001-12-18 Stan Shebs - - * rs6000.h (LOCAL_ALIGNMENT): Fix parens. - -Tue Dec 18 17:02:06 2001 Richard Kenner - - * emit-rtl.c (widen_memory_access): Only call compare_tree_int - on an INTEGER_CST. - -2001-12-18 David Edelsohn - - * rs6000.c (rs6000_override_options): Only use DI ops when - TARGET_64BIT. Fix typo. - -Tue Dec 18 16:39:46 CET 2001 Jan Hubicka - - * att.h (ASM_FILE_START): Use asm_dialect. - * linux.h (ASM_FILE_START): Likewise. - * gas.h (ASM_FILE_START): Likewise. - * i386.c (ix86_debug_arg_string, ix86_debug_addr_string, - ix86_asm_string, ix86_asm_dialect): New. - (override_options): Set asm_dialect. - * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG, - MASK_DEBUG_ADDR): Kill. - (MASK_64BIT, MASK_NO_RED_ZONE): renumber. - (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string. - (ASSEMBLER_DIALECT): Use asm_dialect. - (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax; - remove debug-addr and debug-arg. - (TARGET_OPTIONS): Add debug-arg, debug-addr, asm. - (asm_dialect): New enum. - (ix86_debug_arg_string, ix86_debug_addr_string, - ix86_asm_string, ix86_asm_dialect): Declare. - * invoke.texi (-mintel-syntax): Remove. - (-masm): Document. - -Tue Dec 18 16:37:42 CET 2001 Jan Hubicka - - * libgcc2.c (__bb_exit_func): Kill -ax dumping code. - -2001-12-18 Jason Merrill - - C++ ABI change: destroy value arguments in caller. - * calls.c (initialize_argument_information): Pass the address of - the TARGET_EXPR temporary rather than storing it into another. - -Tue Dec 18 07:09:06 2001 Douglas B. Rupp - - * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include. - * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS. - -2001-12-18 Jakub Jelinek - - * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove. - * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove. - * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove. - (CC1_SPEC): Don't default to -gstabs+ if -m32. - -2001-12-05 David O'Brien - - * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG. - -2001-12-18 Joseph S. Myers - - * po/gcc.pot: Regenerate. - -2001-12-18 Kazu Hirata - - * config/h8300/h8300.c: Fix comment typos. - * config/h8300/h8300.h: Fix comment formatting. - -2001-12-17 Kaveh R. Ghazi - - * machmode.h (mode_name, mode_class, mode_size, mode_unit_size, - mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in - declaration to NUM_MACHINE_MODES. - (mode_size, mode_unit_size): Set array type to unsigned char. - (mode_bitsize): Set array type to unsigned short. - - * rtl.c (rtx_length): Set array type to unsigned char. - (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to - NUM_RTX_CODE. - (mode_bitsize): Set array type to unsigned short. - (mode_size, mode_unit_size): Set array type to unsigned char. - (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size, - mode_wider_mode, mode_mask_array): Set array size to - NUM_MACHINE_MODES. - - * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array - size in declaration to NUM_RTX_CODE. - -2001-12-17 Richard Henderson - - * config/alpha/alpha.md (unop): Encode RB as $sp. - -2001-12-17 Neil Booth - - * Makefile.in: Update dependencies. - * c-lang.c: Remove unnecessary includes. - (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to - c-objc-common.c. - (finish_file): Move body to c_common_finish_file. - * c-objc-common.c: Include varray.h and ggc.h. - (deferred_fns, start_cdtor, finish_cdtor, defer_fn, - expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c. - (c_objc_common_init): Initialize deferred function array. - * c-tree.h (c_objc_common_finish_file, - static_ctors, static_dtors): New. -objc: - * Make-lang.in: Update dependencies. - * objc/objc-act.c: Don't include varray.h. - (defer_fn, deferred_fns): Move to c-objc-common.c. - (objc_init): Similarly for initialization of it. - (finish_file): Move some to c-objc-common.c, use - c_objc_common_finish_file. - -2001-12-17 Aldy Hernandez - - * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype. - -2001-12-17 Neil Booth - - * doc/cppinternals.texi: Update. - -Mon Dec 17 14:21:21 2001 Jeffrey A Law (law@redhat.com) - - * expmed.c (emit_store_flag): Extract updated comparison code - from the return value of compare_from_rtx. - * expr.c (do_store_flag): Similarly. - -2001-12-17 Nick Clifton - - * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in - preference to BASE_REG_CLASS. - * recog.c (preprocess_constraints): Ditto. - * regclass.c (record_operand_costs, scan_one_insn, regclass, - record_reg_classes, record_address_regs): Ditto. - * regrename.c (scan_rtx_address, scan_rtx, - replace_oldest_value_addr, replace_oldest_value_mem): Ditto. - * reload.c (find_reloads, find_reloads_address, - find_reloads_address_1): Ditto. - * reload1.c (maybe_fix_stack_asms): Ditto. - * defaults.h (MODE_BASE_REG_CLASS): Provide default - definition. - * doc/tm.texi: Document MODE_BASE_REG_CLASS. - - * config/arm/arm.h (MODE_BASE_REG_CLASS): Define. - -2001-12-17 Joseph S. Myers - - * doc/install.texi2html: Use -I $SOURCEDIR. - - Separate user and internals manuals. - * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update - dependencies. - ($(docdir)/gccint.info, gccint.dvi): New targets. - (maintainer-clean, install-info, uninstall): Update. - * doc/.cvsignore: Add gccint.info*. - * doc/include/gcc-common.texi: New file. - * doc/gcc.texi: Use it. Adjust to be a user-only manual. Put - copyright notice in a macro. Don't include ISBN unless FSFPRINT - is defined. - * doc/gccint.texi: New file. - * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi, - doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi: - Update for separate user and internals manuals. - -2001-12-17 Dale Johannesen - - * config/rs6000/rs6000.h: CPP_CPU_SPEC: add mcpu=7400. - ASM_CPU_SPEC: Ditto. - RTX_COSTS: Fix timing info for 7450 multiply. - * config/rs6000/rs6000.md: Fix timing info for 7450 imul. - Allow floats to be kept in int regs in movsf_low, - movsf_low_st (Darwin only) - -2001-12-17 Aldy Hernandez - - * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in - parallel. - (is_gpr_return_reg): New. - (rs6000_emit_prologue): Call generate_set_vrsave with additional - argument. Save only registers in the mask. Attach - REG_FRAME_RELATED_EXPR note to altivec offsets. Do not call - rs6000_frame_related when saving VRSAVE. - (rs6000_emit_epilogue): Call generate_set_vrsave with additional - argument. Restore only registers in the mask. Restore altivec - registers after we restore CR. - (generate_set_vrsave): New parameter epiloguep. Generate unspec - sets instead of clobbers for call saved registers. - (altivec_frame_fixup): New. - -2001-12-17 Richard Henderson - - * config/sparc/sparc.md (movdi_zero): Remove. - (movdi_insn_sp32_v9): New. - -2001-12-17 Richard Henderson - - * cfgcleanup.c (outgoing_edges_match): Check for insn match with - a single outgoing edge too. - -Mon Dec 17 18:27:52 CET 2001 Jan Hubicka - - * cfgrtl.c (redirect_edge_and_branch): Do simplify abnormal - edges resulting from computed jump - -Mon Dec 17 17:57:05 CET 2001 Jan Hubicka - - * Makefile.in (cfgcleanup.o): Add cselib.h dependancy. - * basic-block.h (CLEANUP_THREADING): New constant. - * cfgcleanup.c: Include cselib.h - (thread_jump, mark_effect): New functions. - (try_forward_edges): Do jump threading when asked for. - * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs, - modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill. - * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill. - * toplev.c (rest_of_compilation): Do now call thread_jumps; use - CLEANUP_THREAD instead. - -2001-12-17 Kaveh R. Ghazi - - * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change. - -2001-12-17 Tom Rix - - * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size - of bytes. - -2001-12-17 Richard Sandiford - - * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op, - asm_out.integer): New fields. - * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP, - TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers. - (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect - the individual initialisers together. - (TARGET_ASM_OUT): Add the new initialisers. - * output.h (assemble_integer): Return bool. - (integer_asm_op): Declare. - (default_assemble_integer): Declare. - (assemble_aligned_integer): New interface to assemble_integer. - * varasm.c (integer_asm_op): New function to select pseudo-op. - (default_assemble_integer): Default implementation of asm_out.integer. - (assemble_integer): Use the new target hook. Split objects into - words or bytes if the target hook fails. Return bool. - * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT, - ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT, - UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, - UNALIGNED_DOUBLE_INT_ASM_OP): Undocument. - Document new target hooks. - - * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op. - * dwarf2asm.c (unaligned_integer_asm_op): Remove. - (dw2_assemble_integer): New. - (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset, - dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx, - dw2_asm_output_encoded_addr_rtx): Use it. - (dw2_asm_output_nstring): Use assemble_integer for the null terminator. - (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use - integer_asm_op to get the byte pseudo-op. Use assemble_integer - if it returns NULL. - * dwarf2asm.h (dw2_assemble_integer): Declare. - * dwarfout.c: Include dwarf2asm.h. Use dwarf2 functions for the - default implementation of most macros. - (output_unsigned_leb128): Use dw2_asm_output_data. - (output_signed_leb128, dwarfout_source_line): Likewise. - (output_reg_number): Use dw2_assemble_integer. - (generate_macinfo_entry): Separate the type and offset arguments. - Use assemble_integer to write the value. - (dwarfout_start_source_file): Update generate_macinfo_entry usage. - (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise. - * final.c (output_addr_const): Don't put brackets round a subtracted - symbol value or ".". - * halfpic.c (half_pic_finish): Use assemble_aligned_integer. - - * config/1750a/1750a.c (assemble_integer_1750a): New, - * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT. - * config/arc/arc.c (arc_assemble_integer): New. - * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. - * config/arm/arm.c (arm_poke_function_name): Likewise. - (arm_assemble_integer): New, extracted from... - * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed. - (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT. - (ARM_FUNCTION_PROFILER): Likewise. - * config/avr/avr-protos.h (asm_output_byte): Remove. - (asm_output_char, asm_output_short): Remove. - * config/avr/avr.c (avr_assemble_integer): New. - (asm_output_byte, asm_output_char, asm_output_short): Remove. - * config/clipper/clipper.h (ASM_LONG): Remove. - * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove. - * config/dsp16xx/dsp16xx.c (asm_output_long): Remove. - * config/elxsi/elxsi.c (elxsi_assemble_integer): New. - * config/i370/i370.c (i370_hlasm_assemble_integer): New. - * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT. - (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete. - * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. - * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use - ASM_LONG instead of UNALIGNED_INT_ASM_OP. - * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. - (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. - * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use - ASM_LONG instead of UNALIGNED_INT_ASM_OP. - * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG. - * config/i860/i860.c (i860_output_function_epilogue): Likewise. - * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. - (ASM_SHORT, ASM_LONG): Undefine. - * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. - * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise. - * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. - * config/ia64/ia64.c (ia64_assemble_integer): New. - * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op. - (ASM_OUTPUT_DWARF_PCREL): Likewise. - * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, - ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG. - (ASM_SHORT, ASM_LONG): Remove. - * config/m68k/m68k.h (INT_OP_GROUP): New macro. - (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New - macros, the allowed values for INT_OP_GROUP. - * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP - * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise - * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise - * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove. - (INT_OP_GROUP): Define to INT_OP_NO_DOT. - * config/m68k/dpx2.h (ASM_LONG): Undefine. - (INT_OP_GROUP): Define to INT_OP_DC. - * config/m68k/dpx2g.h (ASM_LONG): Undefine. - * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT. - * config/m68k/lynx.h (ASM_LONG): Undefine. - * config/m68k/dpx2g.h (ASM_LONG): Undefine. - * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. - * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise. - (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*. - * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD - for GAS and INT_OP_NO_DOT otherwise. - (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove. - (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, - ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG. - (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. - * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove. - (INT_OP_GROUP): Define to INT_OP_STANDARD. - (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, - ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP. - (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP. - * config/m68k/tower-as.h (ASM_LONG): Remove. - (INT_OP_GROUP): Define to INT_OP_NO_DOT. - * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG. - * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. - (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG. - * config/mips/iris5.h (TARGET_IRIX5): Define. - * config/mips/mips.c (mips_assemble_integer): New. - * config/mips/sni-svr4.h (ASM_LONG): Undefine. - * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove. - * config/mmix/mmix.c (mmix_assemble_integer): New. - (mmix_asm_output_double_int): Remove. - (mmix_print_operand): Call mmix_output_octa directly. - * config/mmix/mmix.h (ASM_LONG): Remove. - * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. - * config/pa/pa.c (pa_assemble_integer): New. - (pa_override_options): Only use aligned DI ops on 64-bit targets. - Only use the unaligned ops if TARGET_GAS. - * config/pdp11/pdp11.c (pdp11_assemble_integer): New. - * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT. - * config/pj/pj.h (ASM_LONG): Undefine. - * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine. - * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly - extracted from ASM_OUTPUT_INT in sysv4.h. Use in_text_section() - and in_toc_section() rather than the in_section variable. - (rs6000_override_options): Only use DI ops when TARGET_POWERPC64. - * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section(). - (RELOCATABLE_NEEDS_FIXUP): Define. - * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab. - * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove. - (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op - to get the word directive. - (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. - * config/s390/s390.c (s390_assemble_integer): New. - * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use - integer_asm_op to get the word directive. - * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove. - * config/sparc/sparc-protos.h (output_double_int): Remove. - * config/sparc/sparc.c (output_double_int): Move to... - (sparc_assemble_integer): ...this new function. - (sparc_override_options): Only use .uaxword if TARGET_ARCH64. - * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove. - * config/sparc/sysv4.h (ASM_LONG): Remove. - (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid - ASM_LONG. - * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer. - * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise. - - * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c, - config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c, - config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c, - config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c, - config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c, - config/i386/i386.c, config/i860/i860.c, config/i960/i960.c, - config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, - config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c, - config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c, - config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c, - config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c, - config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c - (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP, - TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP, - TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP, - TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as - appropriate. - - * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h, - config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h, - config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h, - config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h, - config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h, - config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h, - config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h, - config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h, - config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h, - config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h, - config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h, - config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h, - config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h, - config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h, - config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h - config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h, - config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h, - config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h, - config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h, - config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h, - config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h, - config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h, - config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP, - ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, - UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, - UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined. - -2001-12-17 Stan Shebs - - * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define. - (STACK_BOUNDARY): Remove definition. - (CPP_PREDEFINES): Define __POWERPC__. - -2001-12-17 Gerald Pfeifer - - * doc/c-tree.texi (Trees): Only refer to GCC. - -2001-12-17 Andreas Jaeger - - * c-common.def: Fix typo in comment. - -2001-12-16 David O'Brien - - * config.gcc (sparc64-*-freebsd*): Add target. - * config/sparc/freebsd.h: New file. - * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define. - * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define. - * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining. - -2001-12-16 Aldy Hernandez - - * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both - PLUS operands into registers for altivec mode. - -2001-12-16 Aldy Hernandez - - * builtins.c (apply_args_size): Change regno to unsigned. - -2001-12-16 Aldy Hernandez - - * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change - ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG. - -2001-12-16 Zack Weinberg - - * c-typeck.c (error_init, pedwarn_init, warning_init): Call - gettext on argument before printing. - - * fold-const.c (negate_expr): Always call fold on new - NEGATE_EXPR. - -2001-12-17 Joseph S. Myers - - * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not - a DECL directly. - * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New. - (COMPOUND_LITERAL_EXPR_DECL): Adjust definition. - * c-decl.c (build_compound_literal): Put the decl inside a - DECL_STMT. - * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation. - Fixes PR c/5105. - -2001-12-16 Aldy Hernandez - - * config.gcc: Add powerpc-*-eabisimaltivec*. - -2001-12-16 Neil Booth - - * c-common.c, c-common.h (back_end_hook): Remove. - * c-lang.c (finish_file): Remove back_end_hook. - -Sun Dec 16 13:13:01 2001 Richard Kenner - - * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in - last change. - -2001-12-16 Richard Henderson - - * toplev.c (parse_options_and_default_flags): Don't enable - flag_cprop_registers at -O1. - -2001-12-16 Kaveh R. Ghazi - - * avr.c (avr_simplify_comparision_p, adjust_insn_length, - mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix. - * avr.h (reg_class): Likewise. - * avr.md: Likewise. - * mcore.c (try_constant_tricks, mcore_byte_offset, - mcore_halfword_offset): Likewise. - * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise. - * v850.c (not_power_of_two_operand): Likewise. - - * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned - warnings. - * convex.h (ASM_OUTPUT_ASCII): Likewise. - * i370.h (ASM_OUTPUT_ASCII): Likewise. - * i386/att.h (ASM_OUTPUT_ASCII): Likewise. - * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise. - * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise. - * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise. - * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise. - * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise. - * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise. - * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise. - * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise. - * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise. - * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise. - * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise. - * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise. - * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise. - * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise. - * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise. - - * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings. - * interix.h (TARGET_MEM_FUNCTIONS): Likewise. - * psos.h (CPP_PREDEFINES): Likewise. - * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise. - * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC, - ASM_OUTPUT_EXTERNAL): Likewise. - * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO): - Likewise. - * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise. - * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO): - Likewise. - * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise. - - * c-lex.c (lex_number): Use ISXDIGIT/hex_value. - * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER. - * fold-const.c (real_hex_to_f): Use hex_value. - * real.c (asctoeg): Use hex_value & ISXDIGIT. - * toplev.c (toplev_main): Call hex_init. - * tradcpp.c (main): Call hex_init. - - * nextstep-protos.h: New file. - * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h". - * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and - STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause. - (nextstep_asm_out_constructor, nextstep_asm_out_destructor, - handle_pragma): Move prototypes to nextstep-protos.h. - * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*, - m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file. - -2001-12-16 Craig Rodrigues - - PR other/3725 - * configure.in: Add AC_SUBST(target_alias). - * configure: Regenerated. - -2001-12-15 Richard Henderson - - * config/alpha/alpha.md (sibcall_osf_1_er): New. - (sibcall_value_osf_1_er): New. - -2001-12-15 Dan Nicolaescu - - * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from - addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not - addrs; eliminate restriction of only using fp and sp as base - registers. - * config/sparc/sparc-protos.h: Update. - * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64. - (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived - from old define_peepholes. - Convert all the ldd/std peepholes to peephole2. - -2001-12-15 Ulrich Weigand - - * s390.md (prologue, epilogue, *return_si, *return_di): New. - s390.c (find_unused_clobbered_reg, s390_frame_info, - save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New. - s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare. - s390.c (s390_arg_frame_offset): Use s390_frame_info. - (leaf_function_flag, cur_is_leaf_function, - save_fprs, restore_fprs, force_const_mem_late): Remove. - (s390_function_prologue, s390_function_epilogue): Mostly remove. - s390.md (lit): New. Uses ... - s390.c (s390_output_constant_pool): ... this, so adapt and make global. - s390-protos.h (s390_output_constant_pool): Declare. - s390.md (load_multiple, store_multiple): Allow use after reload. - s390.c (load_multiple_operation, store_multiple_operation): Likewise. - s390.h (INCOMING_FRAME_SP_OFFSET): Define. - s390.h (CALL_REALLY_USED_REGISTERS): Define. - config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ... - s390.h (CONDITIONAL_REGISTER_USAGE): ... here. - s390.c (s390_sr_alias_set): New global variable, initialized ... - (override_options): ... here. New. - s390-protos.h (override_options): Declare. - s390.h (OVERRIDE_OPTIONS): Call it. - s390.c (s390_function_profiler): New. - s390-protos.h (s390_function_profiler): Declare. - s390.h (FUNCTION_PROFILER): Call it. - s390.c (s390_profile): Remove. - - * s390.c (reg_used_in_mem_p): PC reload counts as memory access. - (addr_generation_dependency_p): Consider literal pool register loads. - (s390_adjust_priority): Do not schedule load_multiple. - s390.md (attribute "type"): Define some additional types. - (function_unit "integer"): Adapt. - (many insns): Adapt "type" attribute setting. - - * s390.c (general_s_operand, s_imm_operand): New. - (s_operand): Remove old definition, call general_s_operand instead. - s390-protos.h (s_imm_operand): Declare. - s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand, - r_or_x_or_im16_operand, r_or_im8_operand): Remove. - s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand, - r_or_x_or_im16_operand, r_or_im8_operand): Likewise. - s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand. - s390.md (many insns): Rework insn predicates. - - * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all - non-symbolic constants. Reload will force them because of ... - (s390_preferred_reload_class): ... this. New. - s390-protos.h (s390_preferred_reload_class): Declare. - s390.h (PREFERRED_RELOAD_CLASS): Call it. - s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters, - *reload_la_31 splitters): Handle constants after reload. - (many insns): no longer force all constants immediately. - s390.c (legitimate_reload_constant_p): New helper routine. - s390-protos.h (legitimate_reload_constant_p): Declare. - s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case. - - * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM, - HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer. - (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update. - (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise. - (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise. - (DWARF_FRAME_REGISTERS): Define. - s390.c (regclass_map): Add virtual frame pointer. - (legitimate_la_operand_p): Allow use of virtual frame pointer. - s390.md (*la_ccclobber, *addaddr_ccclobber): New. - (addaddr, addsi_64): Delete. - - * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in - floating point registers. - (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define. - (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes. - (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update. - - * s390.md (movti): Replace multi-insn output with splitters. - (movdi_31, movdf_31): Likewise. - (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New. - (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New. - (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt. - (movdf_soft_64, movdf_soft_31, movsf_soft): Remove. - (movsf_64, movsf_31): Remove, replace by ... - (movsf): ... this. - (movqi_64): Use lhi instead of llill. - (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)). - - * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2, - extendqidi2, extendhisi2, *extendhisi2, extendqisi2, - extendqihi2 and associated splitters): Reworked. - (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2, - zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2, - zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2, - *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2, - *zero_extendqisi2_64, *zero_extendqisi2_mem_31, - zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64, - zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31, - and associated splitters): Likewise. - (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31 - and associated splitters): New. - (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2, - *truncsihi2_64, truncsiqi2, trunchiqi2): Remove. - (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove. - s390.h (PROMOTE_PROTOTYPES): Remove. - config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise. - - * s390.md (muldi3): Delete, use instead ... - (mulsidi3): ... this. - (*muldi3_64): Rename to muldi3. - (mulsi_6432): Fix template. - (divdi3, moddi3): Delete, replace by ... - (divmoddi4): ... this. - (divmodtidi3): Fix template. - (divmodtisi3): New. - (udivdi3, umoddi3): Delete, replace by ... - (udivmoddi4): ... this. - (udivmodtidi3): Fix template. - (divsi3, modsi3): Delete, replace by ... - (divmodsi4): ... this. - (divmoddisi3): Fix template. - (udivsi3, umodsi3): Adapt. - - * s390.md (anddi3): Remove SS alternative, use instead ... - (anddi3_ss, anddi3_ss_inv): ... these. - (anddi3_ni): New. - (andsi3*, andhi3*, andqi3*): Likewise. - (iordi3): Remove SS alternative, use instead ... - (iordi3_ss, iordi3_ss_inv): ... these. - (iordi3_oi): New. - (iorsi3*, iorhi3*, iorqi3*): Likewise. - (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New. - (xordi3): Remove SS alternative, use instead ... - (xordi3_ss, xordi3_ss_inv): ... these. - (xordi3_oi): New. - (xorsi3*, xorhi3*, xorqi3*): Likewise. - (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New. - (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2): - Expand to XOR with -1. - (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove. - (cmpdi_tm): Delete, replace by ... - (cmpdi_tm_reg, cmpdi_tm_mem): ... these. - (cmpsi_cct): Delete, replace by ... - (cmpsi_tm_reg, cmpsi_tm_mem): ... these. - (cmpdi_tm2, cmpsi_tm2): Improve. - (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New. - s390.c (s390_single_hi, s390_extract_hi, - s390_single_qi, s390_extract_qi): New helper routines. - s390-protos.h (s390_single_hi, s390_extract_hi, - s390_single_qi, s390_extract_qi): Declare. - s390.c (tmxx_operand, const1_operand): Remove. - s390-protos.h (tmxx_operand, const1_operand): Likewise. - s390.h (PREDICATE_CODES): Likewise. - - * s390.md (sqrtdf2, sqrtsf2): New. - - * s390.h (CRT_CALL_STATIC_FUNCTION): Define. - (check_and_change_labels): Remove section-change special case. - - * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address - in leaf functions. Needs ... - (DYNAMIC_CHAIN_RTX): ... this. New. - - * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos. - - * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31, - clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber - input operands using a match_dup clause. - (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt. - - * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee, - floatsisf2, floatsisf2_ieee): Add missing CC clobber. - - * s390.md (floatsidf2_ibm): Use correct operand. - - * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2, - fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of - non-portable constants. - s390.c (s390_gen_rtx_const_DI): New helper routine. - s390-protos.h (s390_gen_rtx_const_DI): Declare. - - * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment. - - * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR, - ASM_OUTPUT_BYTE): Clean up assembly output. - (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions. - (ASM_OUTPUT_ASCII): Remove. - - * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define. - -2001-12-15 Zack Weinberg - - * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself - before including unwind-dw2-fde.c, if we are not using the - special code in this file. - -2001-12-15 Richard Henderson - - * config/alpha/alpha.h (TARGET_SWITCHES): Turn on - MASK_EXPLICIT_RELOCS if the assembler supports it. - * configure.in (HAVE_AS_EXPLICIT_RELOCS): New. - * configure, config.in: Rebuild. - -Sat Dec 15 17:53:03 2001 Richard Kenner - - * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted - for rounded_stack_size. - -2001-12-15 Joseph S. Myers - - * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h, - config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c, - toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and - "bit-field" spellings in messages. - * po/gcc.pot: Regenerate. - -2001-12-15 Joseph S. Myers - - * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use - American spelling in messages. - * po/gcc.pot: Regenerate. - -2001-12-15 Kazu Hirata - - * config/h8300/h8300.md: Adjust whitespacing. Remove - constraints from expanders. Replace \@ with @. - -2001-12-15 Richard Earnshaw - - * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default. - -2001-12-15 Ulrich Weigand - - * regrename.c (copyprop_hardreg_forward): Do not keep register - value data live across abnormal call or eh egdes. - -Sat Dec 15 08:29:45 2001 Richard Kenner - - * expr.c (highest_pow2_factor, case INTEGER_CST): Return - BIGGEST_ALIGNMENT for 0. - -Sat Dec 15 14:13:03 CET 2001 Jan Hubicka - - * predict.def (PRED_NORETURN): Make probabilities match reality. - (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN): - Likewise. - -2001-12-15 Jakub Jelinek - - * configure.in: Check for ld. - (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option. - * configure, config.in: Rebuilt. - * config.gcc: Add crtbeginT.o to extra_parts where needed. - * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc - frame unwinding on Linux. - * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde - frame unwinding. - * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static. - (LINK_EH_SPEC): Define. - * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static. - * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define. - * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't - iterate further if pc falls into current library, but fde was not - found. - * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static - if using glibc. - (LINK_EH_SPEC): Define. - * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64): - Use crtbeginT.o for -static. - (LINK_EH_SPEC): Define. - * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o. - * Makefile.in (crtbeginT.o): Add rule. - * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh. - If neither -static-libgcc nor -shared-libgcc is passed and -shared, - use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not. - If none of the above switches are passed, use -lgcc -lgcc_eh. - (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec. - * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if - creating libgcc_s.so, put them into separate libgcc_eh.a instead. - * unwind-dw2-fde.c: Don't include any headers if this file - is included from other .c file. - * unwind-dw2-fde-glibc.c: New file. - * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define. - Use it instead of EH_FRAME_SECTION_NAME where appropriate. - -2001-12-14 Kaveh R. Ghazi - - * builtins.c (expand_builtin_memcmp): Mark parameter with - ATTRIBUTE_UNUSED. - * cfgcleanup.c (insns_match_p): Likewise. - * regrename.c (mode_change_ok): Likewise. - * gcc.c (execute): Const-ify. - -2001-12-14 Aldy Hernandez - - * c-parse.in (typename): Do not split attributes. - Remove unsupported attributes warning. - - * c-decl.c (groktypename): Apply attributes. - -2001-12-14 Richard Henderson - - * config/ia64/ia64.c (spill_restore_mem): Mark iterator - initialization as possibly dead. - -2001-12-14 Richard Henderson - - * regrename.c (mode_change_ok): New. - (find_oldest_value_reg): Use it. - -2001-12-14 Richard Henderson - - * regrename.c (struct value_data): Add max_value_regs. - (init_value_data): Initialize it. - (kill_value): Kill values that overlap the dying register. - (set_value_regno): New. - (kill_set_value, kill_autoinc_value, copy_value): Use it. - (copyprop_hardreg_forward_1): Kill earlyclobber operands - before looking at inputs. - -2001-12-14 David Edelsohn - - * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle - DECL_WEAK for function descriptors. - * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler - weak support present. - (ASM_WEAKEN_LABEL): Same. - -2001-12-14 Kazu Hirata - - * config/h8300/h8300.md (anonymous pattern): Add a missing - mode. - -2001-12-14 Kazu Hirata - - * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a - comment typo. - -2001-12-14 Kazu Hirata - - * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): - Remove the initialization requierment. - (h8300_handle_tiny_data_attribute): Likewise. - -2001-12-14 Kazu Hirata - - * config/h8300/h8300.md (udivqi3): Remove. - (divqi3): Likewise. - (udivhi3): Likewise. - (divhi3): Likewise. - (umodqi3): Likewise. - (modqi3): Likewise. - (umodhi3): Likewise. - (modhi3): Likewise. - (udivmodqi3): New. - (divmodqi3): Likewise. - (udivmodhi3): Likewise. - (divmodhi3): Likewise. - -Sat Dec 15 01:39:12 CET 2001 Jan Hubicka - - * cfgcleanup.c (flow_find_cross_jump): Replace tests for note - by active_insn_p; count conditional jump as instruction. - -2001-12-14 DJ Delorie - Danny Smith - - * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*' - at SYM_NAME[0] or SYM_NAME[3]. - (STRIP_NAME_ENCODING): Don't check for leading '*'. - -2001-12-14 Ira Ruben - - Add -### option (displays driver-generated commands without - executing and quotes all arguments). - * doc/invoke.texi: Add -###. - * gcc.c (verbose_only_flag) - New flag. - * (execute): If -### write quoted arguments and return. - * (display_help): Print meaning of -###. - * (process_command): Handle -###. - -2001-12-14 Ira Ruben - - Fix to no allow -save-temps to clobber user's source file. - * gcc.c: Add static globals input_stat and input_stat_set. - (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag - set, check that user's input file is not overwritten. - (set_input): Reset input_stat_set for each new file. - -Fri Dec 14 22:14:44 CET 2001 Jan Hubicka - - * predict.c (estimate_probability): Fix LOOP_EXIT heuristic. - -2001-12-14 Zack Weinberg - - * combine.c (record_dead_and_set_regs): Use - regs_invalidated_by_call. Don't note stores for CALL_INSNs. - -2001-12-14 Roger Sayle - - * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and - __builtin_fsqrt to __builtin_sqrt. - - * builtins.c (expand_builtin_mathfn,expand_builtin): Same. - * doc/extend.texi: Simplify documentation to match patch. - -Fri Dec 14 21:23:54 CET 2001 Jan Hubicka - - * config.gcc: Revamp target_cpu_default2 to strings; - support new x86 variants. - * i386.c (override_options): Default x86_cpu_string and x86_arch_string - properly; set prefetch_sse. - * i386.h (x86_prefetch_sse): Declare. - (TARGET_PREFETCH_SSE): New. - (CPP_CPU_DEFAULT_SPEC): Define according to the new macros. - (TARGET_CPU_DEFAULT_*): New. - -Thu Dec 13 21:57:13 CET 2001 Janis Johnson - Jan Hubicka - - * config/i386/i386.h (struct processor_costs): Add new members - prefetch_block and simultaneous_prefetches. - (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New. - * config/i386/i386.c (processor_costs structs): Add values for - prefetch_block and simultaneous_prefetches. - * config/i386/i386.md (unspec values): Remove values for prefetch - operations, which now use the PREFETCH rtx code. - (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new - unified prefetch support. - -2001-12-14 Jason Merrill - - * diagnostic.c (sorry): Increment sorrycount before saving the - buffer state. - -Fri Dec 14 19:53:23 CET 2001 Jan Hubicka - - * i386.md (sqrt?f): Fix conditionals. - -Fri Dec 14 07:29:52 2001 Douglas B. Rupp - - * config.gcc (alpha64-dec-*vms*): New case. - * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files. - * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise. - * config/alpha/xm-vms64.h: Likewise. - - * config/alpha/alpha.c (vms_attribute_table): Add new attributes. - (alpha_write_linkage): Test for null alpha_links. - (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes. - (vms_section_type_flags, vms_asm_named_section): Handle them. - -Fri Dec 14 12:05:14 CET 2001 Jan Hubicka - - * i386.c (ix86_fpmath, ix86_fpmath_string): New. - (override_option): Set ix86_fpmath. - * i386.h (MASK_MIX_SSE_I387): Remove. - (TARGET_SSE_MATH): New. - (TARGET_MIX_SSE_I387): Use ix86_fpmath. - (TARGET_SWITCHES): Remove "mix-sse-i387". - (fpmath_unit): New enum. - (ix86_fpmath, ix86_fpmath_string): Declare. - * i386.md (swapsf): Fix condition. - (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH. - (fp_?f_*_nosse): New. - (fp_*): Use TARGET_SSE_MATH. - * invoke.texi (-mfpmath): Document. - (-msse2): Add. - -2001-12-14 Jason Merrill - - * dwarf2out.c (output_die): Print the string in the comment for - a DW_FORM_strp. - -2001-12-14 Richard Earnshaw - - * netbsd.h (COLLECT_SHARED_INIT_FUNC) - (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon. - * doc/tm.texi (COLLECT_SHARED_INIT_FUNC) - (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate. - -2001-12-13 Richard Henderson - - * regrename.c (kill_value_regno): Simplify chain removal. - (kill_value): Kill all of HARD_REGNO_NREGS. - (kill_set_value): Use kill_value not kill_value_regno. - (kill_autoinc_value): Likewise. - (copyprop_hardreg_forward): Don't collect refresh_blocks. - Call delete_noop_moves. - -2001-12-13 Aldy Hernandez - - * attribs.c (c_common_attribute_table): Swap decl_req and type_req - for the mode attribute. - (handle_mode_attribute): Handle types, not decls. - -2001-12-13 Jason Merrill - - * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro. - -2001-12-13 Aldy Hernandez - - * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch - constraint to base register. - (eh_set_lr_si): Same. - -2001-12-13 Hans-Peter Nilsson - - * expr.c (expand_expr, case ADDR_EXPR): Don't honor - flag_force_addr for modifier != EXPAND_CONST_ADDRESS, - modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM. - -Thu Dec 13 20:30:08 2001 Richard Kenner - - * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate - warning and reformat comments. - (expand_assignment): Don't pass EXPAND_WRITE if LHS is component. - (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT - if overflow. - -2001-12-12 Aldy Hernandez - - * config/rs6000/rs6000.c (rs6000_override_options): Add - SUBSUBTARGET_OVERRIDE_OPTIONS. - - * config/rs6000/eabialtivec.h: New file. - - * config/rs6000/linuxaltivec.h: New file. - - * config.gcc: Add powerpc-*-eabialtivec and - powerpc-*-linux-gnualtivec. - -2001-12-13 Neil Booth - - * toplev.c (process_options, parse_options_and_default_flags): - Set flag_no_inline before the post_options hook. - -2001-12-13 Richard Henderson - - * emit-rtl.c (adjust_address_1): Don't adjust address if adjust - is false. - -2001-12-13 Richard Earnshaw - - * collect2.c (COLLECT_SHARED_INIT_FUNC) - (COLLECT_SHARD_FINI_FUNC): Define default values. - (write_c_file_stat): Use them to call construtor and destructor - functions in shared libraries. - * doc/tm.texi (COLLECT_SHARED_INIT_FUNC) - (COLLECT_SHARD_FINI_FUNC): Document them. - * config/netbsd.h (COLLECT_SHARED_INIT_FUNC) - (COLLECT_SHARD_FINI_FUNC): Define. - - * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a - shared library. Pass -shared through to the linker. - * config/arm/netbsd.h (LINK_SPEC): Likewise. - - * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic. - (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK) - (SHLIB_INSTALL): Define. - -2001-12-13 Richard Earnshaw - - * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially - the same way as we handle SYMBOL_REFS. - -Thu Dec 13 07:47:24 2001 Richard Kenner - - * loop.c (remove_constant_addition): Fix prototype and whitespace. - (emit_prefetch_instructions): Remove warnings and whitespace - changes. - -Thu Dec 13 06:48:38 2001 Douglas B. Rupp - - * config/alpha/vms-cc.c (preprocess_args): Fix forward - declaration. - -Thu Dec 13 12:31:07 CET 2001 Jan Hubicka - - * predict.c (estimate_probability): Reorganize opcode heuristics. - * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, - PRED_FPOPCODE): New. - - * i386.c (override_options): Recognize various CPU variants and set - SSE/MMX/3dNOW flags accordingly. - * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, - MASK_3DNOW_A_SET): New. - (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New. - (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete. - (MASK_*): Renumber. - (TARGET_FLAGS): Use new masks. - (CPP_CPU_SPECS): Recognize new CPU variants. - * invoke.texi (-mcpu): Update documentation. - - * flags.h (flag_prefetch_loop_arrays): Declare. - * loop.h (LOOP_PREFETCH): Define new constant. - * loop.c (strength_reduce): Call emit_prefetch_instructions. - (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX, - PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New - constants. - (check_store_data): New structure. - (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p): - New functions. - * toplev.c: Include insn-flags.h. - (flag_prefetch_loop_arrays): New global variable. - (lang_independent_option): Add -fprefetch-loop-arrays. - (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays - is set. - * Makefile.in (toplev.c): Depend on insn-flags.h. - * invoke.texi (-fprefetch-loop-arrays): Document. - - * predict.c (estimate_probability): Distribute the loop exit - probability according to number of exit edges. - - * cfgcleanup.c (insns_match_p): Break out from ...; - (flow_find_cross_jump): ... here; - (outgoing_edges_match): Add parameter MODE; attempt to match everything - except for tablejumps. - (try_crossjump_to_edge): Accept complex edges. - (try_crossjump_bb): Likewise. - -2001-11-29 Corey Minyard - - * recog.c (validate_replace_rtx_1): Use simplify_gen_binary - instead of plus_constant. - * simplify-rtx.c (neg_const_int): New. - (simplify_gen_binary, simplify_plus_minus): Use it. - -2001-12-12 Roger Sayle - - * builtins.c (expand_builtin_memset, expand_builtin_memcpy, - expand_builtin_strcpy): Additional arguments TARGET and MODE. - (expand_builtin_bzero, expand_builtin_strcpy, - expand_builtin_strncpy, expand_builtin_bzero): Pass additional - TARGET and MODE parameters to the above functions. - (expand_builtin_memset, expand_builtin_memcpy): Optimize the - case where the LEN parameter is constant zero. - (expand_builtin_memcmp): No longer conditional on - HAVE_cmpstrsi. Take an additional mode parameter. Optimize - the cases where len is either constant zero or one. - Optimize to call to memcpy, even if the memcpy isn't inlined. - (expand_builtin_strncpy): Optimize to call memcpy, even if the - memcpy isn't inlined. - (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt - to optimize to a call to memcmp. - (expand_builtin): expand_builtin_memcmp can always be called, - and pass the required parameters to expand_builtin_memcmp, - expand_builtin_memset, expand_builtin_memcpy and - expand_builtin_strcpy. - -2001-12-12 David O'Brien - - * config.gcc (arm-*-freebsd*): Add target. - * config/arm/freebsd.h: New file. - * config/arm/arm.h (CPP_PREDEFINES): Do not define. - (CPP_SPEC): #undef before defining. - (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm. - * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm - -Amachine=arm. - * config/arm/linux-elf.h: Likewise. - * config/arm/netbsd.h: Likewise. - * config/arm/riscix.h: Likewise. - * config/arm/riscix1-1.h: Likewise. - * config/arm/semiaof.h: Likewise. - -2001-12-12 Richard Henderson - - * regrename.c (copyprop_hardreg_forward): New optimization. - (kill_value_regno, kill_value, init_value_data, kill_clobbered_value, - kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg, - replace_oldest_value_reg, replace_oldest_value_addr, - replace_oldest_value_mem, copyprop_hardreg_forward_1, - debug_value_data, validate_value_data): New. - * rtl.h (copyprop_hardreg_forward): Declare. - * toplev.c (flag_cprop_registers): New. - (f_options): Add -fcprop-registers - (rest_of_compilation): Invoke it. - (parse_options_and_default_flags): Set it at -O1. - * doc/invoke.texi: Document it. - -2001-12-12 Jakub Jelinek - - * dwarf2out.c (dw_val_class): Add dw_val_class_range_list. - (DEBUG_RANGES_SECTION_LABEL): Define. - (ranges_section_label): Add. - (add_AT_range_list): New. - (print_die, sizeof_die, value_format): Handle dw_val_class_range_list. - (output_loc_list): Location expression length is always 2-byte. - (output_die): Handle dw_val_class_range_list. - (gen_lexical_block_die): Call add_AT_range_list. - (dwarf2out_init): Initialize ranges_section_label. - (dwarf2out_finish): Emit ranges_section_label. - -2001-12-12 Jakub Jelinek - - * c-typeck.c (digest_init): Allow initializing - static storage duration objects with compound literals. - * doc/extend.texi (Compound literals): Document the extension. - -2001-12-12 Richard Henderson - - * emit-rtl.c (adjust_address_1): Always copy address to avoid - shared rtl. - -Wed Dec 12 07:37:52 2001 Olivier Hainque - - * stmt.c (expand_end_case): Do subtraction of lower bound as trees - to avoid overflow. - -Wed Dec 12 07:35:24 2001 Douglas B. Rupp - - * cppfiles.c (read_include_file): Set buffer size properly when - file is shorter than expected. - -Wed Dec 12 08:35:33 2001 Nicola Pero - - * objc/objc-act.c (encode_complete_bitfield): Fixed encoding - enumeral types - encode them using 'i'. - -2001-12-12 Nathan Sidwell - - * doc/extend.texi (Deprecated Features): Deprecate implicit - typename. Document that named return and initializer lists are now - removed. - -2001-12-11 Roger Sayle - - * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid - compiler warning about enumeration values not being handled. - -2001-12-11 Momchil Velikov - - * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long - shifts. - -2001-12-11 Richard Henderson - - * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New. - * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New. - * config/alpha/alpha.md (prefetch): New. - -2001-12-11 Richard Henderson - - * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C) - if C has only low bits set and doesn't intersect with X or Y. - -Tue Dec 11 23:58:39 EST 2001 John Wehle (john@feith.com) - - * basic-block.h (flow_preorder_transversal_compute): Declare. - * cfganal.c (flow_preorder_transversal_compute): Implement. - -Tue Dec 11 23:54:27 EST 2001 John Wehle (john@feith.com) - - * cfganal.c (flow_depth_first_order_compute): Always - increment dfsnum. - -2001-11-30 Alan Matsuoka - - * combine.c (combine_simplify_rtx) : Can't simplify - cases that use mode class MODE_CC. - -2001-12-11 Richard Henderson - - * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in - which there is no divide expander. - -2001-12-11 Richard Henderson - - * except.c (sjlj_find_directly_reachable_regions): Don't - consider RNL_BLOCKED a directly reachable region. - (sjlj_assign_call_site_values): Trust directly_reachable. - (sjlj_emit_dispatch_table): Likewise. - -2001-12-11 Richard Henderson - - * config/alpha/alpha.md (divmodsi_internal_er): Split, so that - we represent the address load's dependency on the gp. - (divmoddi_internal_er): Likewise. - (divmodsi_internal_er_1, divmoddi_internal_er_1): New. - -2001-12-11 Richard Henderson - - * emit-rtl.c (widen_memory_access): New. - * expr.h (widen_memory_access): Declare it. - * config/alpha/alpha.c (get_aligned_mem): Use it. - -2001-12-11 Richard Henderson - - * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED - simplification above out of range check. - -2001-12-11 Dan Nicolaescu - - * config/sparc/sparc.md (prefetch): New. - -2001-12-11 Aldy Hernandez - - * output.h (regno_uninitialized): Make argument unsigned. - - * flow.c (regno_uninitialized): Make regno unsigned. - -2001-12-11 David O'Brien - - * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define. - * config/cris/cris.h (ENDFILE_SPEC): Define. - * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define. - * config/pa/elf.h: Likewise. - -2001-12-11 Richard Henderson - - * objc/objc-act.c (build_string_class_template): New. - (build_objc_string_object): Call it. - -2001-12-11 Steve Ellcey - - * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. - * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. - * calls.c (store_unaligned_arguments_into_pseudos): Check - FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures - are passed/returned. - * expr.c (move_block_from_reg): Ditto. - (move_block_from_reg): Ditto. - (copy_blkmode_from_reg): Ditto. - * stmt.c (expand_return): Ditto. - * stor-layout.c (compute_record_mode): If - FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check - MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode. - * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true - so that Structures of one field are still treated as structures. - (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true. - (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding(). - (PAD_VARARGS_DOWN): Modify from default to not pad structures down. - * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New. - * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function - to special case handling of structure padding. - -2001-12-11 Daniel Berlin - - * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P. - (may_trap_exp): Stores only are risk if they trap, too, not just - if code == MEM. - -2001-12-11 Aldy Hernandez - - * flow.c (find_regno_partial): Indent properly. Add a default to - switch. - -2001-12-11 Neil Booth - - * c-common.c (combine_strings): Complain if concatenating - __FUNCTION__. - * c-parse.in (yylexname): Flag artificial strings. - * tree.h (TREE_ARTIFICIAL_STRING_P): New. -doc: - * extend.texi: Update. - -2001-12-11 Aldy Hernandez - - * c-common.c (type_for_mode): Handle unsigned vectors. - (type_for_mode): Remove redundant calls to TYPE_MODE. - - * tree.c (make_vector): New. - (build_common_tree_nodes_2): Use make_vector for vector types. - Add unsigned vector types. - - * tree.h (tree_index): Add unsigned types for vectors. - (unsigned_V16QI_type_node): New. - (unsigned_V4SI_type_node): New. - (unsigned_V8QI_type_node): New. - (unsigned_V8HI_type_node): New. - (unsigned_V4HI_type_node): New. - (unsigned_V2SI_type_node): New. - -2001-12-11 Stan Shebs - - * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a - test of class names. - -2001-12-11 David O'Brien - - * config.gcc (m68020-*-elf*): Expand tm_file to include all needed - cpu configuration headers. - * config/h8300/elf.h: Include dbxelf.h. - * config/m68k/linux.h: Likewise. - * config/m68k/m68020-elf.h: Likewise. - * config/m68k/m68kv4.h: Likewise. - * config/sh/elf.h: Likewise. - * config/m68k/m68kemb.h: Add comment about the its purpose. - -2001-12-11 Richard Henderson - - * objc/objc-act.c (build_constructor): Cast initializer values - to the proper field types. - -2001-12-11 Jakub Jelinek - - * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling. - -2001-12-10 Roger Sayle - - * builtins.c (expand_builtin): Use a switch statement to list - those functions not expanded without optimizations, instead of a - series of equality tests. - -Tue Dec 11 07:08:57 2001 Douglas B. Rupp - - * config/alpha/vms.h (LIB_SPEC): Define. - * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field. - - * libgcc2.c (_bb): Remove ctime declaration. - - * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner - that works if LN_S = cp. - - * config/alpha/x-vms (version): Change "." to "_". - - * configure.in: Hardcode that vfork works on VMS host. - * configure: Regenerated. - -Mon Dec 10 18:37:31 2001 Douglas B. Rupp - - * gcc.c (convert_filename): Add do_obj parameter. Don't convert - unless do_obj true. - (process_command): Modify calls to convert_filename. - -2001-12-11 Rainer Orth - - * config/sparc/sol2-sld-64.h: Include dbxelf.h again. - -Mon Dec 10 15:54:27 2001 Jeffrey A Law (law@cygnus.com) - - * combine.c (known_cond): Check mode of each operand to determine - if COND is comparing floating point values. - -2001-12-10 David Edelsohn - - * rs6000.h (processor_type): Add PPC405. - (RTX_COSTS): Add PPC405. Correct rs64 and ppc630 multiply costs. - * rs6000.md: Add PPC405 information. Utilize imul2 and imul3 for - rios1, rs64, and ppc630 processors. - * rs6000.c (processor_target_table): Add PPC405. - -2001-12-10 Richard Henderson - - * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart - instead of hardcoding subregs into the _be and _le patterns. - -2001-12-10 Neil Booth - - * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes. - -Mon Dec 10 09:19:11 2001 Richard Kenner - - * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match - what insn does. - -2001-12-10 Joseph S. Myers - - * doc/cpp.texi: Don't condition menus on @ifinfo. Condition the - copyright notice formerly conditioned on @ifinfo on @ifnottex - instead. - -Mon Dec 10 06:15:44 2001 Richard Kenner - - * vmsdbgout.c (lookup_filename): Remove warning. - -Mon Dec 10 06:09:57 2001 Douglas B. Rupp - - * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules. - - * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms* - (exeext, target_alias, prefix, local_prefix): Define. - * config/alpha/x-vms (USE_COLLECT2): Make empty. - * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style - file specifications. Remove ".". - (GCC_INCLUDE_DIR): Remove redefinition (redundant). - * fixinc/mkfixinc.sh (alpha*-dec-vms*): Change to alpha*-dec-*vms* - -2001-12-09 Nathan Sidwell - - * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering. - -Sun Dec 9 21:57:24 2001 Douglas B. Rupp - - * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS) - Add rules for building [vp]crt0.o - * config/alpha/vms.h (START_FILE_SPEC): Define. - * config/alpha/x-vms (VMS_EXTRA_PARTS): Define - * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files. - * doc/invoke.texi: Document special Alpha/VMS options. - -Sun Dec 9 20:25:17 2001 Richard Kenner - - * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type. - * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64, - not GNUC. - -Sun Dec 9 20:19:32 2001 Richard Kenner - Douglas B. Rupp - - * tree.c (append_random_char): Conditionalize INO for VMS. - -2001-12-09 Richard Henderson - - * cfgcleanup.c (label_is_jump_target_p): New function. - (try_optimize_cfg): Use label_is_jump_target_p to check if label is - target of a JUMP_INSN from the preceding block. - -Sun Dec 9 18:40:07 2001 Douglas B. Rupp - - * vmsdbgout.c (lookup_filename): Assign null string instead - of null pointer to fnam. - -2001-12-09 Richard Henderson - - * config/alpha/alpha.c (alpha_align_insns): Suppress realignment - immediately after a call; insert nops before a call. - -2001-12-09 Richard Henderson - - * config/alpha/alpha.c (alpha_align_insns): Use align_functions, - not FUNCTION_BOUNDARY. - * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New. - * config/alpha/alpha32.h, config/alpha/vms.h: Likewise. - * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove. - -2001-12-09 Hans-Peter Nilsson - - * config/mmix/mmix.c (mmix_function_block_profiler, - mmix_block_profiler, mmix_function_block_profiler_exit): Delete - unused functions. - * config/mmix/mmix-protos.h (mmix_function_block_profiler, - mmix_block_profiler, mmix_function_block_profiler_exit): Delete - prototypes. - - * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): - Delete obsoleted macros. - -2001-12-09 Joseph S. Myers - - * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi, - doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling. - - * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c, - cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c, - function.c, config/alpha/alpha.md, config/alpha/vms-ld.c, - config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S, - config/i370/i370.c, config/i386/i386.c, - config/i386/i386-interix.h, config/i386/i386.md, - config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c, - config/m32r/m32r-protos.h, config/mcore/mcore.h, - config/rs6000/rs6000.h, config/sparc/linux64.h, - config/sparc/sparc.c, config/v850/v850-protos.h, - config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix - spelling errors. - -2001-12-09 Daniel Berlin - - * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining - altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*). - - * config/rs6000/rs6000.c: Ditto. - - * config/rs6000/rs6000.md: Ditto. - -2001-12-09 Kaveh R. Ghazi - - * 1750a.md: Add default case in switch. - * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in - if-else statement. - * dsp16xx.c (print_operand_address): Likewise. - * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify. - * ia64.md: Add missing braces. - * rs6000-protos.h (s8bit_cint_operand): Prototype. - * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in - if-else statement. - * stormy16.h (REG_CLASS_CONTENTS): Add missing braces. - * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'. - * dbxout.c (dbxout_source_file): Move a variable into the scope - where it is used. - * final.c (profile_function): Mark parameter with - ATTRIBUTE_UNUSED. - * genemit.c (gen_expand): Likewise for generated file. - * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior. - - * vmsdbg.h: Delete spurious close-comment. - (DST_HEADER): Fix typo in ENUM_BITFIELD parameter. - * vmsdbgout.c (write_modbeg): Define return type. - - * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0). - * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise. - * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise. - * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise. - * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise. - -2001-12-08 Tom Rix - - * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING. - * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same. - * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use - for powerpc64. - * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg, - movstrsi_4reg, movstrsi_1_reg): Add powerpc64. - * config/rs6000/rs6000.c (expand_block_move): Do not use - gen_movstrsi_2reg and powerpc64. - -2001-10-08 Aldy Hernandez - - * c-common.h (rid): Add RID_CHOOSE_EXPR and - RID_TYPES_COMPATIBLE_P. - - * c-parse.in (reswords): Add __builtin_choose_expr. - Add __builtin_types_compatible_p. - Add CHOOSE_EXPR token. - Add TYPES_COMPATIBLE_P token. - Add production for CHOOSE_EXPR. - Add production for TYPES_COMPATIBLE_P. - - * doc/extend.texi (__builtin_choose_expr): Add documentation. - (__builtin_types_compatible_p): Likewise. - -2001-12-08 David Edelsohn - - * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN - to unions. - -2001-12-08 Neil Booth - - * c-parse.in: Take string literals in assembler constructs, - not expressions. - * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to - check the strings are STRING_CSTs. - -2001-12-08 Neil Booth - - * c-lex.c (c_lex): Peek a token ahead for a string to concatenate, - using combine_strings to do the concatenation. - * c-parse.in: Replace uses of the string non-terminal with STRING. - Don't attempt string concatenation. - (OBJC_STRING): New terminal. - (string): Remove non-terminal. - (_yylex): Call combine_strings on function names. Generate - OBJC_STRING terminals; don't pass '@' on to yacc. - * c-typeck.c (simple_asm_stmt): Don't concatenate strings here. - (build_asm_stmt): Similarly. - -2001-12-08 Kaveh R. Ghazi - - * rtlanal.c (get_jump_table_offset): Delete unused variable. - -2001-12-08 Richard Earnshaw - - * arm.md (VUNSPEC_PREFETCH): Delete constant definition. - (prefetch): Rewrite using PREFETCH RTL primitive. - * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH). - * arm.c (arm_init_builtins): Don't initialize a builtin for - __builtin_prefetch here. - (arm_expand_builtin): Don't expand __builtin_prefetch here. - -2001-12-08 Richard Earnshaw - - * final.c (cleanup_subreg_operands): Use recog_data.operand_loc - in test for a subreg. - -2001-12-08 John David Anglin - - * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx - strings. - -2001-12-07 Richard Henderson - - * doc/extend.texi: Fix typo last change. - - * c-decl.c (c_language): Remove duplicate. - -2001-12-07 Dale Johannesen - - * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32. - * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin- - specific codegen, eliminate a register copy. - (print_operand_address): Add support for Darwin's lo16(constant) - syntax. - (rs6000_machopic_legitimize_pic_address): Fix darwin-specific - generation of addresses within very large data objects. - (s8bit_cint_operand): New. - * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400. - Move "mtjmpr" to correct functional unit for 750/7400/7450. - Add imul2 and imul3 insn types for multiplication by 16- and - 8-bit constants. - Change tablejump patterns to strongly discourage using LR - rather than CTR. - Add %lo16 patterns for Darwin loads and stores. - -2001-12-07 Kaveh R. Ghazi - - * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000. - -2001-12-07 Stephane Carrez - - * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp - with %sp because it can cause the delayed instruction to load - below the stack. - -2001-12-07 Kaveh R. Ghazi - - * alpha.c (alpha_expand_unaligned_store, - alpha_expand_unaligned_store_words): Use constm1_rtx in place of - call to immed_double_const. - -2001-12-07 Aldy Hernandez - - * doc/extend.texi (Variable Attributes): Document vector_size. - - * attribs.c (c_common_attribute_table): Add vector_size. - (handle_vector_size_attribute): New. - (vector_size_helper): New. - (decl_attributes): Relayout the decl after calculating attribs. - -2001-12-07 Joseph S. Myers - - * doc/gcc.texi: Don't include install-old.texi. Adjust menu - description for Trouble section. - * doc/install-old.texi: Adjust for inclusion as chapter of new - installation manual. - * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html: - Adjust to include old installation chapter as chapter of new - installation manual. - -Fri Dec 7 11:07:35 EST 2001 John Wehle (john@feith.com) - - * rtl.h (get_jump_table_offset): Declare. - * rtlanal.c (get_jump_table_offset): Implement. - -Fri Dec 7 07:06:17 2001 Richard Kenner - - * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num): - Deleted; were used only by BB profiler code. - (sbb_head, sbb_tail, sbb_label_num): Likewise. - (end_final): Delete now-unused vars I, PTR, and SPTR. - - * expr.c (store_field): Remove warning. - (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise. - (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases. - (highest_pow2_factor, case *_DIV_EXPR): Only can do something if - divisor constant power of 2. - (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1. - -2001-12-07 Kaveh R. Ghazi - - * alpha.c (function_arg): Cast value to HOST_WIDE_INT before - shifting. - -2001-12-06 Aldy Hernandez - - * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New. - (DWARF_FRAME_REGISTERS): Delete. - -2001-12-06 Janis Johnson - - * builtin-types.def (BT_FN_VOID_PTR_VAR): New. - * builtins.def (BUILT_IN_PREFETCH): Change arguments. - * builtins.c (expand_builtin_prefetch): Two arguments are now optional, - with defaults for read prefetch with high degree of locality. - * doc/extend.texi (__builtin_prefetch): Update documentation. - * doc/md.texi (prefetch): Add documentation. - -2001-12-06 Rainer Orth - - * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64 - UNIX V5.1A stdio.h. - * fixinc/fixincl.x: Regenerate. - Fixes PR libf2c/4826. - -2001-12-06 Aldy Hernandez - Richard Henderson - - * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation. - (PRE_GCC3_DWARF_FRAME_REGISTERS): Same. - - * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS - to PRE_GCC3_DWARF_FRAME_REGISTERS. - (frame_state): Same. - (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined. - -2001-12-06 Kaveh R. Ghazi - - * langhooks.c (lhd_staticp): Mark parameter with - ATTRIBUTE_UNUSED. - -2001-12-06 H.J. Lu - - * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to - reduce noise. - (.po.pox): Likewise. - (o/$(PACKAGE).pot): Likewise. - -2001-12-06 Alexandre Oliva - - * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following... - * tree-inline.c (expand_call_inline): ... here. - -2001-12-06 H.J. Lu - - * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build. - (.po.pox): Likewise. - (o/$(PACKAGE).pot): Likewise. - -2001-12-06 David O'Brien - - * config.gcc: Include dbxelf.h before elfos.h. - * elfos.h: Don't include dbxelf.h, let config.gcc handle it. - -2001-12-06 Zack Weinberg - - * cppfiles.c (open_file): If we've opened a directory by - mistake, close it. - (find_include_file): Avoid turning / into // or // into ///. - -2001-12-06 Nick Clifton - - * config/arm/arm.h (STRUCT_VALUE): Suppress definition. - (STRUCT_VALUE_REGNUM): Restore definition. - -2001-12-06 Andrew MacLeod - - * flow.c (find_regno_partial): Return register, not the expression - the register is in. - -Thu Dec 6 09:24:12 2001 Richard Kenner - - * function.c (handle_epilogue_set): Check for FP setting case when - SP is set from FP in same insn. - -2001-12-06 Nick Clifton - - * config/arm/arm.c (load_multiple_sequence): Pass pointer to - RTX when calling alter_subreg(). - (store_multiple_sequence): Pass pointer to RTX when calling - alter_subreg(). - -Thu Dec 6 06:55:13 2001 Richard Kenner - - * function.c (assing_parms): Fix typo in last change. - * config/clipper.c (clipper_builtin_saveregs): Remove Checker code. - * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise. - * config/pa/pa.c (hppa_builtin_saveregs): Likewise. - * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise. - -2001-12-06 Alan Modra - - * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and - correct code selecting section. - -Thu Dec 6 12:45:33 CET 2001 Jan Hubicka - - * final.c (count_basic_block, add_bb, add_bb_string): - Kill. - (end_final, final_start_function, final, final_scan_insn, - leaf_function_p): Kill BB profiler related code. - * flags.h (profile_block_flag): Kill. - * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE, - BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func, - __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets, - bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize - reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose, - __bb_exit_trace_func, __bb_init_prg, __bb_trace_func, - __bb_trace_func_ret, __bb_init_file, __bb_trace_ret, - __bb_init_trace_func): Kill. - * toplev.c (profile_block_flag): Kill. - (indepdendent_decode_option, process_options): Kill -a related code. - * alpha.c (direct_call_operand): Likewise. - * arm.c (arm_expand_prologue, thumb_expand_prologue, - thumb_expand_epilogue): Likewise. - * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise. - * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * fr30.c (fr30_expand_prologue): Kill BB profiler related code. - * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue, - ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related - code. - (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill. - * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * fr30.c (fr30_expand_prologue): Kill BB profiler related code. - * i960.c (i960_output_function_prologue): Kill BB profiler related - code. - * ia64.c (ia64_compute_frame_size): Likewise. - * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * m32r.c (m32r_expand_prolofue): Kill BB profiler related code. - * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code. - * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue): - Kill BB profiler related code. - * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * mips.c (mips_expand_prologue): Kill BB profiler related code. - * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * rs6000.c (rs6000_override_options): Kill BB profiler related code. - * s960.c (s390_function_prologue): Kill BB profiler related code. - * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. - * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. - * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. - * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. - * sparc.c (sparc_override_options, eligible_for_sibcall_delay, - sparc_nonflat_function_epilogue): Kill BB profiler related code. - (sparc_function_block_profiler, sparc_block_profiler, - sparc_function_block_profiler_exit): Kill. - * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code. - (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. - * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. - * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - * doc/invoke.texi: Kill documentation of -a and -ax. - * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, - FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, - MACHINE_STATE_RESTORE): Kill. - -2001-10-26 Steve Christiansen - - * doc/rtl.texi: Use a table to display RTL format characters. - -2001-12-06 Bo Thorsen - - * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker. - -Wed Dec 5 19:18:53 2001 Richard Kenner - - * function.c (keep_stack_depressed): Check global_live_at_start - of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src. - -2001-12-05 David O'Brien - - * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files, - as set by the generic FreeBSD configure framework. - -2001-12-04 Jason Merrill - - * langhooks.h (struct lang_hooks_for_tree_inlining): Add - start_inlining, end_inlining. - * tree-inline.c (expand_call_inline): Call them. - * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define. - (LANG_HOOKS_TREE_INLINING_END_INLINING): Define. - (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them. - * langhooks.c (lhd_tree_inlining_start_inlining): New fn. - (lhd_tree_inlining_end_inlining): New fn. - -2001-12-05 Neil Booth - - * c-common.c (shadow_warning): New function, moved from cp/decl.c. - * c-common.h (shadow_warning): New. - * c-decl.c: Include c-common.h. - (warn_if_shadowing): New, broken out of pushdecl. - (pushdecl): Use warn_if_shadowing. - (store_parm_decls): Prevent duplicate -Wshadow warnings. - -Wed Dec 5 17:59:19 2001 Douglas B. Rupp - - * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled. - (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate. - (LIB_SPEC): Remove. - -Wed Dec 5 16:03:04 2001 Richard Kenner - - * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition. - (QUAL_UNION_TYPE): New type. - - * varasm.c (output_constant, case ERROR_MARK): New case. - - * attribs.c (handle_no_check_memory_usage_atribute): Deleted. - (c_com): Delete its reference. - * builtins.c: Delete memory checking code. - * calls.c, expr.c, function.c, stmt.c: Likewise. - * builtins.c (expand_builtin_arg_info): Remove reference to - EXPAND_MEMORY_USE_* modifiers. - * explow.c (expr_size): Likewise. - * expr.c (expand_expr, expand_increment): Likewise. - * expr.h (ARGS_SIZE_RTX): Likewise. - * function.c (assign_parms, expand_pending_sizeso): Likewise. - * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE. - * expr.c (in_check_memory_usage): Delete. - (get_push_address, get_memory_usage_from_modifier): Delete. - (expand_assigment): Use EXPAND_WRITE on destination. - (expand_expr): Delete ro_modifier. - * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and - add EXPAND_WRITE. - (memory_use_mode): Delete. - * flags.h (flag_check_memory_usage): Deleted. - (flag_prefix_function_name): Likewise. - * function.c (expand_function_start): Don't set - current_function_check_memory_usage. - * function.h (check_memory_usage): Delete. - * libfuncs.h, optabs.c: Delete chkr_* stuff. - * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to - EXPAND_WRITE. - * toplev.c (flag_check_memory_usage): Deleted. - (flag_prefix_function_name): Likewise. - (f_options, process_options): Delete references to above. - * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted. - * varasm.c (CHKR_PREFIX): Deleted. - (make_decl_rtl): Remove flag_prefix_function_name handling. - (assemble_name): Likewise. - * doc/extend.texi: Remove no_check_memory_usage attribute. - * doc/invoke.texi: Remove -fcheck-memory-usage - and -fprefix-function-name. - -2001-12-05 Andreas Schwab - - * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values - from autoconf. - -2001-12-05 Nick Clifton - - * config.gcc: Include arm/xscale-coff.h before arm/arm.h. - -2001-12-05 William Cohen - - * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in - instruction. - -2001-12-05 Daniel Berlin - - * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec - builtins. - - * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to - better reflect reality (change from Apple's tree). - Add more of altivec instructions. - Add ftruncv4sf2 pattern. - Remove more unspecs (vector merge instructions, etc). - - * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec - builtins. - (bdesc_1arg): New, for 1 argument altivec builtins. - (altivec_expand_builtin): Handle unary and ternary ops. - (altivec_init_builtins): Ditto. - -Wed Dec 5 09:33:39 2001 Richard Kenner - - * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro. - * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it. - -2001-12-05 Jakub Jelinek - - * gcse.c (store_killed_in_insn): Consider pure calls - as potential store killers in addition to normal calls. - -2001-12-05 Jakub Jelinek - - * expr.c (expand_expr): When checking promoted value, use - DECL_MODE (exp) and not mode. - -2001-12-05 Jakub Jelinek - - * c-typeck.c (output_init_element): Call digest_init - just once, not in each if branch and check its return value for - error_mark_node. - -2001-12-05 Jakub Jelinek - - * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's - type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof. - (finish_struct): Break the loop if n_incomplete went to 0. - For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too. - -Wed Dec 5 07:41:13 2001 Douglas B. Rupp - - * config/alpha/alpha.c (alpha_va_start): Update VMS case. - -Wed Dec 5 07:27:42 2001 Richard Kenner - Douglas B. Rupp - - * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups. - * doc/invoke.texi: Add -gvms. - * doc/passes.texi: Add mention of vmsdbgout.c. - * doc/tm.texi: Document VMS debugging output. - -Wed Dec 5 06:26:27 2001 Richard Kenner - - * function.h (tree, rtx): Remove no-longer-needed definitions. - - * function.c (keep_stack_depressed): Refine check for register - clobbered over call. - - * expr.c (store_expr): When copying string constant into array, - use functions that update memrefs instead of computations on - addresses to better track MEMs. Also properly handle 32/64 pointers. - (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR. - (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp. - - * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl - underneath COMPONENT_REFs. - (set_mem_attributes): Also strip VIEW_CONVERT_EXPR. - -2001-12-05 Neil Booth - - * toplev.c (display_target_options): Don't print twice. - -Wed Dec 5 00:42:16 EST 2001 John Wehle (john@feith.com) - - * emit-rtl.c (set_unique_reg_note): Don't set - a REG_EQUAL or REG_EQUIV note if multiple sets - are present. - -2001-12-04 John David Anglin - - * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if - CASE_DROPS_THROUGH. - -2001-12-04 Andrew MacLeod - - * rtl.h (initialize_uninitialized_subregs): New prototype. - * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs - when optimization is on. - * flow.c (find_regno_partial): Find subregs within an expression. - (initialize_uninitialized_subregs): Initialize live on entry registers - which are used in subreg expressions. - -2001-12-04 Phil Edwards - - * Makefile.in: Add INSTALL_SCRIPT using INSTALL definition. - -2001-12-04 DJ Delorie - - * fixinc/fixincl.c (initialize): Avoid problemsome macro - parameter names (PR 3388). - -2001-12-05 Alan Modra - - * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo. - * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too. - -2001-12-04 Joseph S. Myers - - * c-common.def (COMPOUND_LITERAL_EXPR): New. - * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR. - (c_staticp): New function. - * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New. - (c_staticp): Declare. - * c-typeck.c (default_function_array_conversion, build_unary_op): - Don't handle CONSTRUCTOR specially. - (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR. - * c-decl.c (build_compound_literal): New function. - * c-tree.h (build_compound_literal): Declare. - * c-parse.in (primary): Use build_compound_literal. - * c-lang.c (LANG_HOOKS_STATICP): Define. - * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise. - * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR. - * doc/extend.texi: Update documentation of compound literals. - Fixes PR c/4787. - -2001-12-04 Joseph S. Myers - - * langhooks.h (struct lang_hooks): Add staticp. - * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New. - (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP. - * langhooks.c (lhd_staticp): New function. - * tree.c (staticp): Call lang_hooks.staticp for language-specific - tree codes. - -2001-12-04 Neil Booth - - * cppspec.c (lang_specific_driver): Set is_cpp_driver. - * gcc.c (process_command): Ensure the cpp driver sees - --help and --target-help, and that the help is printed - exactly once. - -2001-12-04 David Edelsohn - - * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned. - -2001-12-04 Hans-Peter Nilsson - - * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset - flag_strict_aliasing. Use separate assignment statements. - -2001-12-04 Zack Weinberg - - * build-make, cross-make: Delete file. - * configure.in: Set and substitute CROSS, ALL, - SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC, - HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on - whether build == host and host == target. Do not - AC_SUBST_FILE build_overrides or cross_overrides. Do not - AC_SUBST cross_defines or extra_c_flags. - * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New. - (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX, - HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set - partially or completely with autoconf-substituted @variable@ - notation. - (INSTALL_TARGET, @cross_defines@, @cross_overrides@, - @build_overrides@, @extra_c_flags@, all.build, install-build, - install-cross-rest, install-float-h-cross): Deleted. - (install-normal): Rename to install. Delete old "install" - indirection rule. - -2001-12-04 Andrew MacLeod - - * stmt.c (expand_return): Clear destination instead of clobbering it - when setting a return value via bitsets. - -2001-12-04 Alexandre Oliva - - * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if - it has DECL_SAVED_TREE. - - * c-decl.c (duplicate_decls): Revert rth's patch. If newdecl - is in a different binding level, get its abstract origin to be - olddecl. - * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity - check earlier. - * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if - DECL_INITIAL is NULL. - -2001-12-04 Jakub Jelinek - - * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized. - Return correct value if one of the subexpressions was optimized to - 0 resp. 1. Optimize (x | A) | x and (x & A) | x. - (and_reg_cond): Similarly. - -2001-12-04 Jakub Jelinek - - * function.c (assign_parms): Set last_named only for last named - argument. - -2001-12-04 Joseph S. Myers - - * doc/install.texi: Use the GFDL. Include years from old install - manual in copyright notice. Include copyright and GFDL notice on - HTML index page. Include usual footer on testing.html. - * doc/install.texi2html: Build gfdl.html. Use -I - $SOURCEDIR/include. - * doc/include/fdl.texi: Adapt for use in the install manual. - -2001-12-04 Joseph S. Myers - - * doc/install.texi: Document that installed native compiler for - building cross compilers should be GCC 2.95 or later. - -2001-12-03 Eric Christopher - - * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro. - * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split - patterns. - -2001-12-03 Janis Johnson - - * rtl.def (PREFETCH): New rtx code. - * doc/rtl.texi (PREFETCH): Add documentation. - * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx. - * rtlanal.c (reg_referenced_p): Ditto. - * sched-vis.c (print_exp): Ditto. - * ssa-dce.c (find_inherently_necessary): Ditto. - - * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define. - (PREFETCH_BLOCK): Define. - * config/ia64/ia64.md (itanium_class): Add lfetch. - (prefetch, prefetch_internal): New. - - * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New. - * builtins.def (BUILT_IN_PREFETCH): New. - * builtins.c (expand_builtin_expect): New. - (expand_builtin): Call it. - * doc/extend.texi: Document __builtin_prefetch. - - * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid - conflicts with new generic prefetch functionality. - * config/i386/i386.c (ix86_expand_builtin): Use new name for - prefetch_sse. - -2001-12-02 Ziemowit Laski - - * objc/Make-lang.in: Update copyright. - (OBJC_OBJS): Add objc-lang.o. - (objc-lang.o): New rule. - * objc/config-lang.in: Fix file description and update - copyright. - * objc/objc-act.c: Do not include langhooks.h and - langhooks-def.h - (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c. - (objc_post_options): Move to objc-lang.c. - (objc_init_options): Move to objc-lang.c. - (objc_init): Make non-static. - (objc_decode_option): Make non-static. - (HASHFUNCTION): Remove macro. - (hash_func): New function. - (hash_enter): Replace HASHFUNCTION with hash_func. - (hash_lookup): Replace HASHFUNCTION with hash_func. - (maybe_objc_tree_codes): New function. - (init_objc): Move ObjC tree code initialization to - maybe_objc_tree_codes(). - * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard. - (objc_init): New public prototype. - (objc_decode_option): New public prototype. - (maybe_add_objc_tree_codes): New public prototype. - * objc/objc-lang.c: New file. - (lang_hooks): Moved from objc-act.c. - (objc_post_options): Moved from objc-act.c. - (objc_init_options): Moved from objc-act.c. - -2001-12-03 Geoff Keating - - * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension - of array elements. - -2001-12-03 Neil Booth - - PR c/4988 - * gcc.c (process_command): Don't add a preprocessor option for - --help and --target-help; cc1 is enough. - -2001-12-03 Neil Booth - - * c-decl.c (grokdeclarator): Use ISO word. - * cppinit.c: Remove leading capital from diagnostic messages, as - per GNU coding standards. - * emit-rtl.c: Similarly. - * final.c: Similarly. - * gcc.c: Similarly. - * tradcpp.c: Similarly. - * config/arm/arm.c: Similarly. - * config/arm/arm.h: Similarly. - * config/avr/avr.c: Similarly. - * config/avr/avr.h: Similarly. - * config/c4x/c4x.c: Similarly. - * config/cris/cris.c: Similarly. - * config/cris/cris.h: Similarly. - * config/d30v/d30v.c: Similarly. - * config/dsp16xx/dsp16xx.c: Similarly. - * config/dsp16xx/dsp16xx.h: Similarly. - * config/h8300/h8300.c: Similarly. - * config/i386/i386.c: Similarly. - * config/i386/xm-djgpp.h: Similarly. - * config/i960/i960.h: Similarly. - * config/m32r/m32r.c: Similarly. - * config/m68hc11/m68hc11.c: Similarly. - * config/m88k/m88k.c: Similarly. - * config/m88k/m88k.h: Similarly. - * config/mcore/mcore.c: Similarly. - * config/mcore/mcore.h: Similarly. - * config/mips/mips.c: Similarly. - * config/mmix/mmix.c: Similarly. - * config/pa/pa.c: Similarly. - * config/rs6000/rs6000.c: Similarly. - * config/rs6000/sysv4.h: Similarly. - * config/s390/s390.c: Similarly. - * config/sparc/sparc.c: Similarly. - * config/v850/v850-c.c: Similarly. - * config/v850/v850.c: Similarly. - -2001-12-03 Zack Weinberg - - * rs6000.h (RETURN_IN_MEMORY): Cast result of - int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8. - -Mon Dec 3 09:18:34 2001 Jeffrey A Law (law@cygnus.com) - - * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for - bit twiddling constant. - -Mon Dec 3 16:16:37 CET 2001 Jan Hubicka - - * gcse.c (delete_null_pointer_checks_1): Do not use delete_list; - call purge_dead_edges after removing. - (delete_null_pointer_checks): Do not handle delete_list. - - * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ... - (count_basic_blocks): ... here. - (find_basic_blocks, find_bb_boundaries): Cleanup. - - * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid - overflow for types greater then 2 * HOST_WIDE_INT. - - * reload.c (find_reloads): Update the duplicates after swapingg. - -Mon Dec 3 13:52:19 CET 2001 Jan Hubicka - - * i386.md (movabsqi*): Use 'b' prefix instead of 'q'. - -2001-12-02 Zack Weinberg - - * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI, - MASK_LONG_DOUBLE_128): Delete. - (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET, - TARGET_AIX_STRUCT_RET): New flags. - (TARGET_SWITCHES): Remove entries for -mlong-double-128 and - -mlong-double-64. Add entries for -m(no-)aix-struct-return - and -m(no-)svr4-struct-return. - (TARGET_OPTIONS): Add entry for -mlong-double-. - (rs6000_long_double_size_string, rs6000_long_double_type_size, - rs6000_altivec_abi): Declare. - (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI, - LONG_DOUBLE_TYPE_SIZE): Change definitions to match. - (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return - structures of size <= 8 bytes in registers. - (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'. - - * config/rs6000/rs6000.c (rs6000_long_double_size_string, - rs6000_long_double_type_size, rs6000_altivec_abi): New - globals. - (rs6000_override_options): Set rs6000_long_double_type_size - from rs6000_long_double_size_string, if nonzero. Set the - MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if - not already set. - (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a - target_flags bit. - (rs6000_init_builtins): This hook now takes no arguments. - - * config/rs6000/netbsd.h, config/rs6000/linux.h: Define - DRAFT_V4_STRUCT_RET to 1. - -2001-12-03 Joseph S. Myers - - * c-typeck.c (really_start_incremental_init, push_init_level): - Avoid constructor_max_index being other than an INTEGER_CST. - -2001-12-02 David Edelsohn - - * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count - unsigned. - (ASM_GENERATE_INTERNAL_LABEL): Same. - (UNIQUE_SECTION): Fix typo. - -2001-12-02 Richard Henderson - - * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy. - -2001-12-02 Richard Henderson - - * rtl.h (mem_attrs): Rename decl to expr; adjust all users. - (MEM_EXPR): Rename from MEM_DECL; adjust all users. - * emit-rtl.c (set_mem_expr): Rename from set_mem_decl. - * expr.h, final.c, reload1.c: Adjust users. - - * alias.c (nonoverlapping_component_refs_p): New. - (decl_for_component_ref, adjust_offset_for_component_ref): New. - (nonoverlapping_memrefs_p): Use them. - * emit-rtl.c (component_ref_for_mem_expr): New. - (set_mem_attributes): Use it. - (set_mem_offset): New. - * expr.c (expand_assignment): Call set_mem_attributes for - inner references; adjust the memory offset as needed. - * print-rtl.c (print_mem_expr): New. - (print_rtx): Use it. - -Sun Dec 2 09:22:25 2001 Douglas B. Rupp - - * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default. - - * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro. - (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG. - (ASM_SPEC): Don't redefine. - (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define. - * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm. - * config/alpha/vms-dwarf2.asm: New file. - - * Makefile.in (OBJS): Add vmsdbgout.c and its rule. - * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG. - * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks. - (vmsdbgout_after_prologue): New declaration. - * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE. - * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address. - * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG. - (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG. - (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address. - (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO - * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG. - Test VMS_DEBUGGING_INFO. - (final_end_function): Test for VMS_AND_DWARF2_DEBUG. - (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG. - * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG. - * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and - VMS_AND_DWARF2_DEBUG. - (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG. - (decode_g_option): Add "vms" to debug_type_names. - (process_options): Set vmsdbg_debug_hooks if -gvms. - (lang_independent_init): Emit line number for VMS unless -g0. - * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG. - * vmsdbg.h, vmsdbgout.c: New files. - -Sun Dec 2 09:03:06 2001 Richard Kenner - - * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a - -2001-12-02 Kaveh R. Ghazi - - * cfgrtl.c (purge_all_dead_edges): Initialize variable. - * dwarf2out.c (is_cxx): Prototype. - * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true' - warning. - * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning. - -Sun Dec 2 07:12:30 2001 Richard Kenner - - * libgcc2.c (__bb_exit_func): Fix line wrap problems. - -2001-12-02 Geoff Keating - - * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify. - * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address - rather than simplify_subreg. Check for volatile-ness. Check that - we're not splitting one slow operation into two slow operations. - -2001-12-02 David Edelsohn - - * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT - before shifting. - -2001-12-02 Neil Booth - - * c-decl.c (duplicate_decls, push_parm_decl): Remove leading - capital from diagnostics. - * c-lex.c (cb_file_change): Similarly. - * c-parse.in : Similarly. - * cfgrtl.c (verify_flow_info): Similarly. - * collect2.c: Similarly. - * cppfiles.c (find_include_file): Similarly. - * cppinit.c (cpp_handle_option): Similarly. - * cpplex.c (cpp_spell_token): Similarly. - * cppmain.c (do_preprocessing): Similarly. - * gcc.c (translate_options, process_command, do_spec1, - main, pfatal_execute): Similarly. - * genattr.c (main): Similarly. - * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp, - write_test_expr, main): Similarly. - * gencodes.c (main): Similarly. - * genconfig.c (main): Similarly. - * genconstants.c (main): Similarly. - * genemit.c (main): Similarly. - * genextract.c (main): Similarly. - * genflags.c (main): Similarly. - * genopinit.c (main): Similarly. - * genoutput.c (process_template, main): Similarly. - * genpeep.c (main): Similarly. - * genrecog.c (main): Similarly. - * gensupport.c (is_predicable, identify_predicable_attribute, - alter_predicate_for_insn, init_md_reader_args, main): Similarly. - * ggc-page.c (alloc_anon): Similarly. - * mips-tfile.c (add_string, add_procedure, add_file, read_line, - parse_begin, parse_bend, parse_def, parse_end, parse_file, - parse_stabs_common, parse_stabs, write_varray, write_object, - read_seek, copy_object, main, error): Similarly. - * profile.c (compute_branch_probabilities): Similarly. - * reg-stack.c (check_asm_stack_operands): Similarly. - * reload.c (find_reloads): Similarly. - * reload1.c (spill_failure, failed_reload): Similarly. - * rtl-error.c (_fatal_insn_not_found): Similarly. - * toplev.c (read_integral_parameter, crash_signal, - decode_f_option, set_target_switch, parse_options_and_default_flags) - : Similarly. - * tradcif.y (parse_number, yylex): Similarly. - * tradcpp.c (main, fancy_abort): Similarly. - * tree.c (tree_check_failed): Similarly. - * varray.c (varray_check_failed): Similarly. - * xcoffout.c (xcoff_output_standard_types): Similarly. -objc: - * objc-act.c (get_object_ref, lookup_and_install_protocols, - build_objc_string_object, objc_declare_alias, build_ivar_chain, - finish_message_expr, build_protocol_expr, is_public, - start_class): Similarly. - -2001-12-01 Neil Booth - - * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove - trailing period from diagnostics. - * c-lex.c (cb_file_change): Similarly. - * cppmacro.c (check_trad_stringification): Similarly. - * gcc.c (do_spec_1): Similarly. - * genattr.c (main): Similarly. - * genattrtab.c (main, operate_exp, make_length_attrs): Similarly. - * gencodes.c (main): Similarly. - * genconfig.c (main): Similarly. - * genconstants.c (main): Similarly. - * genemit.c (main): Similarly. - * genextract.c (main): Similarly. - * genopinit.c (main): Similarly. - * genoutput.c (main): Similarly. - * genpeep.c (main): Similarly. - * genrecog.c (main): Similarly. - * mips-tfile.c (add_file, error): Similarly. - * profile.c (init_branch_prob): Similarly. - * reload1.c (spill_failure): Similarly. - * stmt.c (parse_output_constraint): Similarly. - * varasm.c (assemble_variable): Similarly. - -2001-12-01 Kaveh R. Ghazi - - * m68k.c (init_FPA_table): Provide static prototype. - * mips/abi64.h (mips_function_value): Move prototype to ... - * mips-protos.h (mips_function_value): ... here. - * mips.c: Include halfpic.h. - * output.h (rdata_section): Prototype. - - * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF. - * m88k.c (m88k_svr3_asm_out_constructor, - m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN && - !OBJECT_FORMAT_ELF. - * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF. - * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF. - * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF. - -2001-12-01 Geoff Keating - - * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex - LO_SUM addresses less than word size are not legitimate, - because they lead to invalid SUBREGs. - * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise. - -2001-12-01 Olivier Hainque - - * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL - while scanning for multiple back edges. - -2001-12-01 Franz Sirl - - * ginclude/ppc-asm.h (JUMP_TARGET): New macro. - * config/rs6000/tramp.asm: Use it. - -2001-12-01 Zack Weinberg - - * gencheck.c, gengenrtl.c: Don't define xmalloc. - * gensupport.c: Don't define xstrdup, xcalloc, xrealloc, - xmalloc. - -2001-11-30 John David Anglin - - * pa.c (output_ascii): Cast `p' to unsigned char. - -2001-11-30 Daniel Berlin - - * config/rs6000/rs6000.c (altivec_expand_builtin): add - ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf, - *_16qi,_8hi, rename existing V4SI ones to *_4si. - (altivec_init_builtins): Ditto. - (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file. - - * config/rs6000/rs6000.md: Add attribute types vecsimple, - veccomplex, vecfloat, and vecperm, for altivec instructions. - Modify altivec patterns to use appropriate attribute type. - Modify altivec patterns to match RTL operations where appropriate - (IE no unspec where we can avoid it). - Add vector unit scheduling for ppc7450. - Rename patterns to what they are where appropriate - (altivec_vaddfp->addv4sf3, etc) - - * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR. - Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used. - - * config/rs6000/sysv4.h: Add -mcpu=7450. - - * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed - _builtin_altivec_ld_interal function. - -2001-11-30 Kaveh R. Ghazi - - * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen, - strchr, strrchr, isascii, gettimeofday. - * config.in, configure: Regenerate. - -2001-11-30 Zoltan Hidvegi - - * unroll.c (unroll_loop): Correct special exit cases. - -2001-11-30 Stephane Carrez - - * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to - accept DFmode and DImode only. - -2001-11-30 Aldy Hernandez - - * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec. - (STACK_DYNAMIC_OFFSET): Same. - -2001-11-30 Richard Henderson - - * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE. - -2001-11-30 Aldy Hernandez - - * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New. - (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to - the values in call_used_registers. - -Fri Nov 30 12:48:26 2001 Jeffrey A Law (law@cygnus.com) - - * gthr-dce.h: If _DCE_THREADS is not defined, then just include - gthr-single. - -2001-11-30 Jason Merrill - - * dwarf2out.c (is_cxx): New fn. - (add_data_member_location_attribute): Check it. - * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++. - -Fri Nov 30 08:26:57 2001 Richard Kenner - - * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx. - -2001-11-30 Daniel Berlin - - * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and - MODE_VECTOR_FLOAT as allowed. - -2001-11-29 Zack Weinberg - - Purge cruft now we have build libiberty. - - * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR, - HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR, - USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT, - USE_HOST_STRSTR): Delete variables. - (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o, - hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o, - $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, - $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules. - (LIBIBERTY, BUILD_LIBIBERTY): New variables. - (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY). - (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY). - (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY). - (HOST_LIBS): Ditto. - (HOST_RTL): Remove hashtab.o safe-ctype.o. - (OBJS): Remove splay-tree.o. - (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a. - (distclean): No need to delete splay-tree.c obstack.c - hashtab.c safe-ctype.c. - (mostlyclean): Delete build copies of print-rtl.c bitmap.c - errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1). - * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR): - Delete. - * configure.in: Don't use them. - Set and substitute @FORBUILD@. - * config.in, configure: Regenerate. - * doprint.c: Move to libiberty/_doprnt.c. - * doc/configterms.texi: Document that libiberty is now built - up to three times. Fix typo. - -2001-11-30 Jason Merrill - - * dwarf2out.c (add_data_member_location_attribute): Do the - right thing for virtual bases. - * dbxout.c (dbxout_type): For a virtual base, print the offset - within the vtable. - -2001-11-29 Zoltan Hidvegi - - * doloop.c (doloop_valid_p): Check for LTU and GTU as well. - -2001-11-29 Aldy Hernandez - - * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments - go in memory. - Remove unused attribute for named. - -2001-11-29 Kaveh R. Ghazi - - * genattrtab.c (attr_rtx_1): New function containing the - majority of `attr_rtx'. Move variable declarations into the - scope where they are used. Eliminate unnecessary gotos. - (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN, - VA_FIXEDARG, and VA_CLOSE. - -2001-11-30 Hans-Peter Nilsson - - * config/cris/cris.c (cris_notice_update_cc): Check first - destination also against overlap with cc_status.value2 and second - destination against overlap with cc_status.value1. For overlaps, - clear overlapped value, don't just CC_STATUS_INIT. - - * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME. - Fix typo in comment. - (LINK_SPEC): Remove whitespace at end of line. - -2001-11-29 Jakub Jelinek - - * c-lex.c (init_c_lex): Canonicalize "-" filename to "". - -2001-11-29 Jakub Jelinek - - * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG - macros for the supported debugging types. - -2001-11-29 Craig Rodrigues - - PR other/4932 - * config/i386/i386.c (print_operand): Verify that the - argument to %c is a constant and not a conditional which - needs to be reversed. - -Thu Nov 29 11:12:59 2001 Geoffrey Keating (geoffk@redhat.com) - - * emit-rtl.c (gen_lowpart_common): Fix conversion of - REAL_VALUE_TYPEs to an array of target integers. Fix extraction - of low part of those arrays for 32bit and 64bit hosts. - -2001-11-29 Kaveh R. Ghazi - - * Makefile.in (insn-output.o): Depend on insn-codes.h. - -2001-11-29 Joseph S. Myers - - * configure.in (target_list): Add generated-manpages. - * configure: Regenerate. - * Makefile.in (generated-manpages): Depend on - lang.generated-manpages. - * objc/Make-lang.in (objc.generated-manpages): New dummy target. - -2001-11-29 Nick Clifton - - * config/arm/crti.asm (_init): Add .thumb_func if compiled - with -mthumb. - (_fini): Add .thumb_func if compiled with -mthumb. - -2001-11-28 Eric Christopher - - * config/mips/mips.c (override_options): Fix thinko in mips_tune - for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits. - -Thu Nov 29 00:24:15 EST 2001 John Wehle (john@feith.com) - - * alpha.md (tablejump): Use pic_offset_table_rtx - instead of gen_rtx_REG. - -Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com) - - * expr.c (store_expr): When copying a string constant into an - array, reset the known alignment of the MEM for the section to - be cleared to BITS_PER_UNIT. - -2001-11-28 Hans-Peter Nilsson - - * config/cris/cris.c: Remove whitespace at end of line. - -Wed Nov 28 14:51:23 2001 Douglas B. Rupp - - * config.gcc (i[34567]86-*-interix3*): New case. - * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h: - New files. - -2001-11-28 Richard Henderson - - * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use - symbolic_operand as the predicate. - -2001-11-28 Richard Henderson - - * doloop.c (doloop_modify_runtime): Properly select induction - variable; skip late entry test if biv initializer created by loop. - -Wed Nov 28 08:21:47 2001 Richard Kenner - - * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than - EXPR_WITH_FILE_LOCATION, so change checks and documentation. - - * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC. - - * tree.h: Add missing checks on some macros; make formatting more - consistent. - - * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top - level; only add to pending_sizes if find it. - - * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED. - - * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap): - Add casts to remove warnings. - - * Makefile.in (OBJS): Sort alphabetically. - - * print-rtl.c (print_rtx): If RTX code is bad, just say so. - Also minor cleanups. - -Wed Nov 28 06:52:27 2001 Arnaud Charlet - - * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX. - (FLAGS_TO_PASS): Add STAGE_PREFIX. - (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH - to STAGE_PREFIX. - -Wed Nov 28 10:42:19 CET 2001 Jan Hubicka - - * cse.c (true_dependence_in_rtx): New function. - (invalidate): Use it. - - * c-common.h (GOTO_FAKE_P): New macro. - * tree-inline.c (GOTO_FAKE_P): Set. - * c-tree.texi (GOTO_FAKE_P): Document. - - * varasm.c (assemble_variable): Set reloc to 3 for error_mark - containing pointers. - (output_addressed_constants): Check for local/external relocations. - * elfos.h (SELECT_SECTION): Classify data section. - * tm.texi (SELECT_SECTION): Update documentation. - - * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit. - (flow_dfs_compute_reverse_execute): Add only unvisited blocks. - -2001-11-27 Kaveh R. Ghazi - - * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, - UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have - OBJECT_FORMAT_ROSE. - -2001-11-28 Hans-Peter Nilsson - - * config/cris/cris.c: Tweak spacing for prototypes. - (LOSE_AND_RETURN): New macro. - (cris_operand_lossage): New function. - (cris_print_index, cris_print_base): Use cris_operand_lossage - rather than fatal_insn. - (cris_print_operand, cris_print_operand_address): Use - LOSE_AND_RETURN rather than fatal_insn and internal_error. - (cris_output_addr_const): Use LOSE_AND_RETURN and - output_operand_lossage rather than fatal_insn and internal_error - for valid but unexpected rtx expressions. - - * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg - for a SUBREG in src or dest, abort instead. - -2001-11-28 Bryce McKinlay - - * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining - doc. - -2001-11-27 Jakub Jelinek - - * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than - preprocessor define. If only DBX_DEBUGGING_INFO or only - DWARF2_DEBUGGING_INFO is supported for the target, provide - appropriate definitions. - -2001-11-27 Neil Booth - - * Makefile.in: Update, and add c-objc-common.o dependencies. - * c-lang.c: Remove unnecessary includes. - (c_init): Move bulk of code to c_objc_common_init, and call it. - (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits, - inline_forbidden_p, c_cannot_inline_tree_fn): Move to - c-objc-common.c. - * c-objc-common.c: New. Mostly pulled from c-lang.c. - * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn, - c_objc_common_init, c_missing_noreturn_ok_p): New. - * toplev.c: Update comment. - * doc/passes.texi: Update. -objc: - * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN, - LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS, - LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override. - (objc_init): Update to use c_objc_common_init. - -2001-11-27 Neil Booth - - * cpphash.c (_cpp_init_hashtable): Update. - * cpphash.h (struct spec_nodes): Remove n_L. - * cpplex.c (_cpp_lex_direct): Check for prefix L separately. - -2001-11-17 Richard Henderson - - * unroll.c (loop_iterations): Move last change ... - * doloop.c (doloop_modify_runtime): ... here. - -2001-11-17 Corey Minyard - Richard Henderson - - * unroll.c (loop_iterations): Detect one situation in which we - overestimate the number of iterations. - -2001-11-27 Rainer Orth - - * gcc.c (set_input): Export. - Move declaration ... - gcc.h (set_input): ... here. - -2001-11-27 Rainer Orth - - * gcc.c (set_collect_gcc_options): New function, split out from - main. - Ignore elided switches. - (do_spec): Invoke before executing command. - (do_spec_1): Likewise. - Fixes PR other/3968. - -2001-11-27 Hans-Peter Nilsson - - * config/cris/cris.h (INT_ASM_OP): Remove. - -2001-11-27 Rainer Orth - - * config/i386/sol2.h (WINT_TYPE): Redefine. - (WINT_TYPE_SIZE): Likewise. - -2001-11-27 Kaveh R. Ghazi - - * collect2.c: Check HAVE_DUP2 instead of NO_DUP2. - (dup2): Make static and add prototype. - * m68k/plexus.h: Don't define NO_DUP2. - * configure.in (AC_CHECK_FUNCS): Add dup2. - * config.in, configure: Regenerate. - - * ia64/aix.h (REG_SIZE): Don't #undef. - * sparc.h (REG_SIZE): Delete. - * flow.c (mark_used_regs): Don't use REG_SIZE. - * regs.h (REG_SIZE): Delete. - -2001-11-27 Andreas Schwab - - * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT -> - PREFERRED_DEBUGGING_TYPE. - -Tue Nov 27 08:21:47 2001 Richard Kenner - - * Makefile.in (c-lang.o): Depends on langhooks-def.h. - (expr.o, varasm.o): Depends on langhooks.h. - * c-common.c (c_safe_from_p): Always declare. - (c_expand_expr): Refine when declared. - * c-lang.c (c-common.h): Now include. - (LANG_HOOKS_SAFE_FROM_P): Define new hook. - (c_init): Don't set lang_safe_from_expr. - * expr.c (langhooks.h): Now include. - (lang_safe_from_p): No longer define. - (safe_from_p): Use lang hook. - (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too. - (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down. - * expr.h (lang_expand_constant, lang_safe_from_p): Delete. - * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls. - (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks. - * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions. - * langhooks.h (struct lang_hooks): New fields expand_constant - and safe_from_p. - * output.h (output_constant): Size arg is HOST_WIDE_INT. - * stmt.c (expand_decl_init): No longer need to expand constant - for CONST_DECL. - * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR. - * toplev.c (lang_expand_constant): Delete var. - * tree.c (save_expr): Don't put another SAVE_EXPR around simple - operations on SAVE_EXPR. - * varasm.c (langhooks.h): Now include. - (compare_constant_1): Use lang_hooks, not lang_expand_constant. - (record_constant_1, output_addressed_constants): Likewise. - (initializer_constant_valid_p, output_constant): Likewise. - (output_constant_def): Process no-defer of string constant. - (output_addressed_constants, case ADDR_EXPR): Use handled_component_p. - (output_constant): Strip more conversions. - Track our size and pad for the rest. - (array_size_for_constructor): Remove code for non-byte STRING_CST. - (output_constructor): SIZE now HOST_WIDE_INT. - -2001-11-27 Richard Henderson - - * ifcvt.c (noce_try_store_flag_constants): Test for overflow - in computing DIFF. - -2001-11-27 Zack Weinberg - - * cppfiles.c (read_include_file): Add comment. - -2001-11-26 Richard Henderson - - * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit. - -2001-11-26 Richard Henderson - - * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef. - * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove - commented out override. - -2001-11-26 Neil Booth - - * cppfiles.c (stack_include_file): Don't optimize zero-length - files. - (read_include_file): NUL-terminate read files. - * cpplex.c (handle_newline, skip_escaped_newlines, - get_effective_char, skip_whitespace, parse_identifier, - parse_identifier_slow, parse_number, parse_string, - _cpp_lex_direct): Optimize for the fact that buffers are guaranteed - NUL-terminated. - * cpplib.c (destringize_and_run, cpp_define, handle_assertion): - Be sure buffers are NUL terminated. - * cppmacro.c (warn_of_redefinition): Kill compile warning. - -2001-11-26 Neil Booth - - * c-common.c: Include tree-inline.h. - (c_language): Move separate definitions here. - (c_common_init_options, c_common_post_options): New. - (c_common_lang_init): Rename c_common_init. - * c-common.h (c_common_lang_init): Similarly. - (c_common_init_options, c_common_post_options): New. - * c-lang.c (c_post_options): Move body to c_common_post_options. - (c_init_options): Use c_common_init_options. - (c_init): Update. - * langhooks.def: Rearrange. - * langhooks.h: Rearrange, and improve comments. - * toplev.c (do_compile): New function. - (toplev_main): Use it. - (lang_independent_f_options, parse_options_and_default_flags, - process_options): Remove trailing periods. - * Makefile.in: Update. -objc: * objc-act.c (objc_post_options, objc_init_options): Use c-common.c - functions. - (ojbc_init): Update. - -2001-11-26 Richard Henderson - - * config/alpha/alpha.md (unop): Add 0 offset for some gas versions. - -2001-11-26 DJ Delorie - - * expr.c (store_constructor): Actually use the value computed - if WORD_REGISTER_OPERATIONS. - -2001-11-26 Richard Henderson - - * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY - for CONSTRUCTOR. - -2001-11-26 David Edelsohn - - * rs6000.c (output_mi_thunk): Handle minimal-toc and call - correct function on AIX. - -2001-11-26 Alexandre Oliva - - * toplev.c (process_options): Don't force - flag_optimize_sibling_calls to zero just because exceptions are - enabled. - -Mon Nov 26 12:37:05 2001 Jeffrey A Law (law@cygnus.com) - - * df.h (transfer_function_sbitmap): Use PARAMS around argument - list in function prototypes. - (transfer_function_bitmap): Likewise. - -2001-11-26 Loren J. Rittle - - * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS. - * config/i386/netbsd-elf.h: Likewise. - -2001-11-26 David Edelsohn - - * doc/trouble.texi: Remove outdated RS/6000 comments. - -Mon Nov 26 13:49:41 CET 2001 Jan Hubicka - - * final.c (walk_alter_subreg): Fix return value. - -Mon Nov 26 11:36:20 CET 2001 Jan Hubicka - - * sparc.c (sparc_absnegfloat_split_legitimate): Do not call - alter_subreg. - * sparc.md (post-reload splitters): Do not call alter_subreg. - * cfgrtl.c (purge_dead_edges): Fix typo in previous fix. - -2001-11-25 Aldy Hernandez - - * regclass.c (choose_hard_reg_mode): Handle vector arguments. - -2001-11-26 Alan Modra - - * final.c: (insn_lengths): Make it an int *, so that large jump - tables don't overflow. - -2001-11-25 Joseph S. Myers - - * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New. - (format_types): Use it for scanf. - (dollar_arguments_pointer_p): New. - (init_dollar_format_checking): Store details of which arguments - are pointers. - (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p. - (finish_dollar_format_checking): Take extra parameter - pointer_gap_ok. Treat unused arguments differently if - pointer_gap_ok and the unused arguments are pointers. - (check_format_info_main): Pass extra argument to - finish_dollar_format_checking. - * doc/invoke.texi (-Wno-format-extra-args): Document behavior when - unused arguments are present between used arguments with operand - numbers. - -2001-11-25 Daniel Berlin - - * df.c: Add prototypes for hybrid_search_bitmap and - hybrid_search_sbitmap. - (hybrid_search_bitmap): New function. - (hybrid_search_sbitmap): New function. - (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap. - (iterative_dataflow_bitmap): Ditto. - -2001-11-25 Stephane Carrez - - * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize - address computations. - -2001-11-25 Stephane Carrez - - * config/m68hc11/m68hc11.c (d_register_operand): Must accept - register b (low part of d). - -2001-11-25 Stephane Carrez - - * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name - passed to mcount. - -Sun Nov 25 06:22:09 2001 Douglas B. Rupp - - * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files. - * config/alpha/x-vms: New file, to compile the above. - * config.gcc (alpha*-dec-vms*): Add x-vms. - -2001-11-24 Hans-Peter Nilsson - - * genextract.c (main): Set ro_loc for peepholes. - -Sat Nov 24 17:04:10 2001 Douglas B. Rupp - - * fix-header.c (main): Move inf_buffer termination and inf_limit - calculation to after read. - - * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage. - (__UNIX_FOPEN): Define. - -Sat Nov 24 16:11:00 2001 Richard Kenner - - * function.c (assign_stack_temp_for_type): Clear alias set before - setting new one. - -2001-11-23 David Edelsohn - - * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX - format. - * rs6000.md (cmptf): Fix typo. - -2001-11-23 Richard Sandiford - - * final.c (output_addr_const): Output PC as '.' even if !flag_pic. - * varasm.c (output_constructor): Use assemble_integer rather - than ASM_OUTPUT_BYTE. - -2001-11-23 Andreas Jaeger - - * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign - extension. - -2001-11-23 Nick Clifton - - * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override - default definition. - (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition. - (MULTILIB_DEFAULTS): Remove previous definition. - -2001-11-23 Neil Booth - - * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic. - * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update. - -2001-11-22 Kaveh R. Ghazi - - * cris.h: Revert thinko in last patch. - -2001-11-23 Joseph S. Myers - - * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog, - FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c, - cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c, - dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h, - explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c, - sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors. - - * predict.c, reg-stack.c: Fix spelling errors. - -2001-10-09 Andrew Haley - - * calls.c (check_sibcall_argument_overlap): Use slot_offset for - start of stack slot. - -2001-11-22 Graham Stott - - * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit - replacement jump after original jump. - - (verify_flow_info): Remove redundent initialisation. - Handle reaching end of insn list before finding a BARRIER. - Only issue one missing barrier diagnostic. - -2001-11-22 Graham Stott - - * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM. - -Thu Nov 22 06:49:14 2001 Richard Kenner - - * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what - insn actually does. - -2001-11-22 Nick Clifton - - * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch. - Fix typo -mm32rx=> -m32rx. - - * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf - targets. - - * config.gcc (xscale-coff): Add necessary header files to - tm_file variable. - -2001-11-20 Zack Weinberg - - * rs6000.c (output_cbranch): Use $, not %$, in output template. - -2001-11-21 Bryce McKinlay - - * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h. - (lang_type_quals): Declare. - (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to - retrieve language-specific qualifiers for a type node, instead of - C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of - lang_dump_tree. - * tree-dump.h: Rename from c-dump.h. - * c-common.h (C_TYPE_QUALS): Removed. - Move declarations for tree-dump.c interface to... - * tree.h: ... here. Remove lang_dump_tree. - * langhooks.h (struct lang_hooks_for_tree_dump): New. - (struct lang_hooks): Add tree_dump hooks. - * langhooks.c (lhd_tree_dump_dump_tree): New function. - (lhd_tree_dump_type_quals): New function. - * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals): - Declare. - (LANG_HOOKS_INITIALIZER): Add tree_dump hooks. - * Makefile.in: Move tree-dump.o to language-independent back-end. - -2001-11-21 Kaveh R. Ghazi - - * 1750a.h (DBX_REGISTER_NUMBER): Don't define. - * alpha.h (DBX_REGISTER_NUMBER): Likewise. - * arc.h (DBX_REGISTER_NUMBER): Likewise. - * arm/aout.h (DBX_REGISTER_NUMBER): Likewise. - * avr.h (DBX_REGISTER_NUMBER): Likewise. - * c4x.h (DBX_REGISTER_NUMBER): Likewise. - * clipper.h (DBX_REGISTER_NUMBER): Likewise. - * convex.h (DBX_REGISTER_NUMBER): Likewise. - * cris.h (DBX_REGISTER_NUMBER): Likewise. - * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise. - * elxsi.h (DBX_REGISTER_NUMBER): Likewise. - * fr30.h (DBX_REGISTER_NUMBER): Likewise. - * h8300.h (DBX_REGISTER_NUMBER): Likewise. - * i370.h (DBX_REGISTER_NUMBER): Likewise. - * i860.h (DBX_REGISTER_NUMBER): Likewise. - * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise. - * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise. - * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise. - * m32r.h (DBX_REGISTER_NUMBER): Likewise. - * m68hc11.h (DBX_REGISTER_NUMBER): Likewise. - * m88k.h (DBX_REGISTER_NUMBER): Likewise. - * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise. - * mcore.h (DBX_REGISTER_NUMBER): Likewise. - * mn10200.h (DBX_REGISTER_NUMBER): Likewise. - * mn10300.h (DBX_REGISTER_NUMBER): Likewise. - * pdp11.h (DBX_REGISTER_NUMBER): Likewise. - * romp.h (DBX_REGISTER_NUMBER): Likewise. - * rs6000.h (DBX_REGISTER_NUMBER): Likewise. - * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise. - * s390/linux.h (DBX_REGISTER_NUMBER): Likewise. - * stormy16.h (DBX_REGISTER_NUMBER): Likewise. - * v850.h (DBX_REGISTER_NUMBER): Likewise. - * vax.h (DBX_REGISTER_NUMBER): Likewise. - * we32k.h (DBX_REGISTER_NUMBER): Likewise. - - * defaults.h (DBX_REGISTER_NUMBER): Provide a default. - * doc/tm.texi (DBX_REGISTER_NUMBER): Update. - -2001-11-21 H.J. Lu - - * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo. - -2001-11-21 Kaveh R. Ghazi - - * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to - emit_cmp_and_jump_insns. - - * stormy16.c (xstormy16_expand_builtin_va_arg, - xstormy16_expand_casesi): Likewise. - -Wed Nov 21 17:37:16 2001 Richard Kenner - - * function.c (keep_stack_depressed): Major rework. - (handle_epilogue_set, emit_equiv_load): New functions. - (thread_prologue_and_epilogue_insns): keep_stack_depressed now - has return value. - * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P. - * rtl.h (SET_IS_RETURN_P): New macro. - - * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly - and also support TREE_ADDRESSABLE. - * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE. - -2001-11-21 David Edelsohn - - * rs6000.md (cmptf_internal1): Replace %$ with $. - -Wed Nov 21 16:44:01 2001 Douglas B. Rupp - - * cppfiles.c (STAT_SIZE_TOO_BIG): Define. - (read_include_file): Use STAT_SIZE_TOO_BIG. - - * cppinit.c (INO_T_COPY): Define. - (INO_T_EQ): Uppercase parameters. - (append_include_chain): Use INO_T_COPY. - -2001-11-21 Richard Sandiford - - * cfg.c: Fix typos and formatting in the introductory comment. - -Wed Nov 21 12:38:37 CET 2001 Jan Hubicka - - * profile.c (compute_branch_probabilites): Compute probabilities - for entry/exit edges; estimate probabilities for zero counts. - -2001-11-21 Jakub Jelinek - - * explow.c (probe_stack_range): Use LCT_NORMAL as second argument - to emit_library_call. - * function.c (expand_main_function, expand_function_start, - expand_function_end): Likewise. - * profile.c (output_func_start_profiler): Likewise. - * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as - second argument to emit_library_call. - * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK - as second argument to emit_library_call. - * calls.c (emit_library_call): Update fn_type description. - -2001-11-21 Jakub Jelinek - - * c-decl.c (c_expand_deferred_function): Only call c_expand_body - if fndecl is still DECL_INLINE and has DECL_RESULT. - -2001-11-20 Kaveh R. Ghazi - - * clipper.c (clipper_movstr): Avoid uninitialized warning. - * i960.c (is_mask, legitimize_address): Likewise. - * m88k.c (m88k_expand_prologue): Likewise. - * m88k.md: Likewise. - * mcore.c (emit_new_cond_insn): Likewise. - * stormy16.c (xstormy16_emit_cbranch): Likewise. - -2001-11-20 Zack Weinberg - - * config.gcc: Delete powerpcle-*-solaris2* stanza. - * config/rs6000/eabi.asm, config/rs6000/rs6000.c, - config/rs6000/rs6000.h, config/rs6000/rs6000.md, - config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm, - config/rs6000/sysv4.h, config/rs6000/t-ppccomm, - config/rs6000/t-ppcos: Expunge all references to Solaris. - - * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete. - - * config/rs6000/rs6000.md: Replace '%$' with '$' in all - output templates. - * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0, - and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P. - -2001-11-20 Kaveh R. Ghazi - - * sh.md: Avoid uninitialized warnings. - * vax.c (vax_rtx_cost): Likewise. - -2001-11-15 Aldy Hernandez - - * rs6000.c (direct_return): Check if we are saving altivec - registers. - (first_altivec_reg_to_save): New. - Updated stack frame layout comments. - (rs6000_stack_info): Calculate altivec register save size. - Save link register if we saved some altivec registers. - (rs6000_stack_info): Align save size to 16 if altivec abi or - abi_darwin. - (rs6000_stack_info): Calculate altivec register offsets. - (rs6000_stack_info): Add altivec info to save_size. - (debug_stack_info): Add altivec debug info. - (rs6000_emit_prologue): Save altivec registers and vrsave. - (compute_vrsave_mask): New. - (altivec_expand_builtin): Remove unused variables. - (rs6000_parse_abi_options): Add static qualifier. - (rs6000_expand_builtin): Remove unused parameters. - (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning. - (altivec_init_builtins): Same. - (is_altivec_return_reg): New. - (vrsave_operation): New. - (ALTIVEC_REG_BIT): New. - (generate_set_vrsave): New. - - * rs6000.md (get_vrsave): New. - (set_vrsave): New. - (*set_vrsave_internal): New. - - * rs6000.h (rs6000_stack): Add first_altivec_reg_save, - altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size, - altivec_padding_size, vrsave_mask. - (TOTAL_ALTIVEC_REGS): New. - (EPILOGUE_USES): Add VRSAVE_REGNO. - -2001-11-20 Jeff Law - - * unroll.c (copy_loop_body): Update LABEL_NUSES for the - exit label as necessary. - -2001-11-20 Brad Kaiser - - * reload1.c (elimination_effects): Use function_invariant_p - instead of CONSTANT_P when considering register equivalences. - -2001-11-20 David O'Brien - - * config.gcc: Add FreeBSD/PowerPC target. - (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*, - powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*, - powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*, - powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*, - powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*, - powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add - freebsd-spec.h to tm_file. - (rs6000-*-lynxos*): Add lynx.h to tm_file. - * config/freebsd.h: Tidy up. - (USING_CONFIG_FREEBSD): Define. - (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG, - FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC, - FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h). - (TARGET_HAS_F_SETLKW): Define. - (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine. - * config/freebsd-spec.h: New file. - * config/rs6000/freebsd.h: New file. - * config/rs6000/rs6000.h (TARGET_VERSION): Do not define. - * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than - USING_SVR4_H to know when to turn on ELF support. - * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef, - define only if not already defined. - Add FreeBSD support. - * config/rs6000/aix.h (TARGET_VERSION): Define. - * config/rs6000/beos.h: Likewise. - * config/rs6000/darwin.h: Likewise. - * config/rs6000/mach.h: Likewise. - * config/rs6000/lynx.h (TARGET_VERSION): Likewise. - Don't include lynx.h directly. - -2001-11-20 Graham Stott - - * unwind-dw2-fde.c (__deregister_frame_info_bases): - Fix lossage in last change return OB. - -Tue Nov 20 11:56:12 2001 Douglas B. Rupp - - * config/alpha/xm-vms.h (_POSIX_EXIT): Define. - Remove unneeded exit related macros. - -2001-11-20 David Edelsohn - - * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm. - - * rs6000.c (rs6000_emit_move): Add TFmode case. - * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128, - LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, - LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here... - * rs6000.h: ... to here. - * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2, - trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2, - fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns. - -Tue Nov 20 06:41:38 2001 Richard Kenner - - * emit-rtl.c (get_mem_attrs): Fix typo. - -2001-11-20 Jakub Jelinek - - * c-lang.c (finish_file): Backout 2001-11-16 - changes, instead set DECL_DEFER_OUTPUT for static inline functions - before calling c_expand_deferred_function. - -2001-11-20 Jakub Jelinek - - * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame): - Don't register empty .eh_frame sections. - (__deregister_frame_info_bases, __deregister_frame): Don't - unregister them either. - -2001-11-19 Geoffrey Keating - - * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define. - (HAVE_AS_GSTABS_DEBUG_FLAG): Define. - * configure: Regenerate. - * config.in: Add dummy definitions of new flags. - * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to... - * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here. - * gcc.c (ASM_DEBUG_SPEC): New macro. - (asm_debug): New static variable. - (default_compilers): Add asm_debug when assembling from - user input. - (static_specs): Add asm_debug. - -2001-11-20 Loren J. Rittle - - * config.gcc (*-*-freebsd*): Remove configuration block. - -2001-11-19 Loren J. Rittle - - bootstrap/4422 - * configure.in: Setup ability to run ./stage[1234]/xgcc in - fixinc *as if* it were a proper lang subdirectory. - * configure: Rebuilt. - -2001-11-19 Loren J. Rittle - - * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again). - -2001-11-19 Kaveh R. Ghazi - - * 1750a.md: Don't use hex format for a const_int. - -2001-11-19 Geoffrey Keating - - * expmed.c (extract_bit_field): Don't create invalid SUBREGs. - -2001-11-19 Zack Weinberg - - * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is - defined (prevents link errors when gettext isn't in the system - library). - -2001-11-19 DJ Delorie - - * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these. - (validate_const_int): New. - (read_rtx): Validate constant integers. - * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants. - -2001-11-19 Jakub Jelinek - - * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table. - -Mon Nov 19 16:57:44 2001 Douglas B. Rupp - - * toplev.c (DUMPFILE_FORMAT): Define default. - (open_dump_file): Use DUMPFILE_FORMAT in sprintf. - (close_dump_file, compile_file): Likewise. - * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define. - * doc/hostconfig.texi (DUMPFILE_FORMAT): Document - -2001-11-19 Jeff Law - - * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create - a nop-jump. - -2000-11-19 Neil Booth - - * cppmacro.c (_cpp_backup_tokens): Revert previous check-in. - Don't fall off the base token run. - -2001-11-19 Jason Wilkins - - * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM. - -Mon Nov 19 15:13:43 2001 Richard Kenner - - * tree.def (VIEW_CONVERT_EXPR): New tree code. - * tree.h (handled_component_p): New declaration. - * alias.c (handled_component_p): Move function from here ... - * expr.c (handled_component_p): ... to here and non longer static. - (is_zeros_p, case VIEW_CONVERT_EXPR): New case. - (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call. - (get_inner_reference): Handle VIEW_CONVERT_EXPR. - (expand_expr, case VAR_DECL): Clean up handling of re-layout case. - (expand_expr, case VIEW_CONVERT_EXPR): New case. - (expand_expr, cse ADDR_EXPR): No need to copy if already - BIGGEST_ALIGNMENT. - * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case. - * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New. - (output_constant): Handle VIEW_CONVERT_EXPR. - * dwarf2out.c (loc-descriptor_from_tree, add_bound_info): - Add new case for VIEW_CONVERT_EXPR. - -2001-11-19 Kaveh R. Ghazi - - * a29k/unix.h (ASM_FILE_START): Const-ify. - * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon. - * i386/isc.h (ASM_FILE_START): Const-ify. - * i386/sun386.h (ASM_FILE_START): Likewise. - * m32r.md: Likewise. - * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets. - * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise. - * m68k/tower.h (REGISTER_NAMES): Remove semi-colon. - * mn10200.md: Initialize variable. - -Mon Nov 19 18:06:21 CET 2001 Jan Hubicka - - * gcse.c (try_replace_reg): Copy RTX before creating note. - - * df.h (df_ref_flags): New uenum. - (DF_REF_FLAGS): New macro. - (struct ref): Add field "flags". - * df.c (HANDLE_SUBREG): Remove. - (df_ref_create): Likewise; set flags field of ref. - (df_def_record_1): Strip down read_write subreg; remove - commented out code; set READ_WRITE flag. - (read_modify_subreg_p): New static function. - (df_uses_record): Cleanup SET handling; set READ_WRITE flag; - new argument "flags". - (df_insn_refs_record): Update call of df_uses_record. - (df_insn_modify): Avoid #if 0 around comment. - (df_dump): Dump the read/write flag. - - * predict.c (propagate_freq): Make cyclic_probability and frequency - volatile - - * i386.c (ix86_cc_mode): Accept USE. - - * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed - jump is turned into simplejump. - -2001-11-19 Joseph S. Myers - - * doc/fragments.texi, doc/trouble.texi: Remove links to old - installation chapter. - * doc/gcc.texi: Don't claim that this manual documents - installation. Mark Installation menu entry as being out of date. - -Mon Nov 19 07:21:35 2001 Douglas B. Rupp - - * config/alpha/xm-vms.h: Don't define macros that autoconf handles. - (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility. - * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h. - -2001-11-19 Jason Merrill - - * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing - cur_token, not after. - - * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h: - Lose ASM_OUTPUT_CONSTRUCTOR. - * system.h: Poison it and INT_ASM_OP. - * c-lang.c (finish_file): Don't check for it. - * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead. - -2001-11-18 Kaveh R. Ghazi - - * mmix.c (mmix_cc1_ignored_option): Const-ify. - (mmix_init_machine_status): Make static to match declaration. - (mmix_unique_section): Const-ify. - (mmix_output_quoted_string): Avoid automatic aggregate - initialization. - (mmix_output_register_setting): Likewise. - (mmix_output_shiftvalue_op_from_str): Likewise. - - * mmix.h (mmix_cc1_ignored_option): Const-ify. - (ASM_OUTPUT_BYTE): Fix format specifier warning. - (ASM_GENERATE_INTERNAL_LABEL): Likewise. - -2001-11-18 Craig Rodrigues - - PR c/4448 - * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable - name __objc_thread_exit_status so that it matches the - variable defined in objc/thr.h. - -2001-11-18 Craig Rodrigues - - PR bootstrap/4020 - * mklibgcc.in: Add missing semi-colons. - * Makefile.in: Same. - -Sun Nov 18 16:47:00 2001 Richard Kenner - - * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL - after re-laying out decl in incomplete case. - (expand_expr, case ADDR_EXPR): Fix typo in copy case. - -2001-11-18 Joseph S. Myers - - * doc/install-old.texi: Move some sections out to ... - * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi: - ... here. New files. Make into chapters rather than sections. - * doc/gcc.texi: Include the new files and add menu entries for - them. - * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies. - -Sun Nov 18 14:13:52 2001 Richard Kenner - - * tree.h (TYPE_ALIGN_OK): New flag. - * emit-rtl.c (set_mem_attributes): Handle it. - * expr.c (emit_single_push_insn): Only set to alias set 0 if - doing sibcall optimization. - (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case - when make temporary. - (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case. - (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy. - - * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL. - -2001-11-18 Joseph S. Myers - - * c-decl.c (c_decode_option): Give deprecation warning for - -traditional. - * doc/invoke.texi (-traditional): Note that this option is - deprecated. - -Sun Nov 18 07:40:07 2001 Douglas B. Rupp - - * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift - arg to HOST_WIDE_INT, not long. - - * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define. - (HAS_INIT_SECTION): Define. - (REAL_ARITHMETIC): Don't undefine. - -2001-11-18 Egor Duda - - * config/i386/cygwin.h: Strip leading '*' from name, if any. - -2001-11-18 Neil Booth - - * Makefile.in (c-parse.o, c-common.o): Update dependencies. - * c-common.c: Include diagnostic.h. - (c_common_finish): New. - * c-common.h (c_common_finish): New. - * c-lang.c (LANG_HOOKS_FINISH): Override. - * c-parse.in: Don't include diagnostic.h. - (finish_parse): Remove. - * langhooks.h: Update comments. - * toplev.c (lang_dependent_init): New prototype. - (finalize): New. - (compile_file): Split cleanup code out to finalize. - (lang_dependent_init): Stop if lang_hooks.init fails. - (toplev_main): Update. - * tree.h (finish_parse): Remove. -objc: - * objc-act.c (LANG_HOOKS_FINISH): Override. - -Sat Nov 17 23:30:44 2001 Douglas B. Rupp - - * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm. - * config/alpha/vms_tramp.asm: New file. - * config/alpha/vms-tramp.asm: Removed. - -2001-11-18 Joseph S. Myers - - * c-common.c (struct disabled_builtin, disabled_builtins, - disable_builtin_function, builtin_function_disabled_p): New. - (builtin_function_2): Check for disabled built-in functions. - * c-common.h (disable_builtin_function): Declare. - * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION. - * doc/invoke.texi: Document -fno-builtin-FUNCTION. - * doc/extend.texi: Mention -fno-builtin-FUNCTION. - -2001-11-17 Craig Rodrigues - - PR target/4606 - * config.gcc: Remove reference to va-clipper.h. - -2001-11-17 Stan Shebs - - * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the - AltiVec-related bitfields. - -Sat Nov 17 12:06:31 2001 Richard Kenner - - * except.c (enum eh_region_type): Add ERT_UNKNOWN. - (mark_eh_region, case ERT_UKNONW): New case. - -2001-11-17 Christopher Faylor - Corinna Vinschen - - * config/i386/cygwin.h: Search target specific include directory for - w32api stuff, if appropriate. - -Sat Nov 17 08:20:44 2001 Douglas Rupp - - * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine. - -2001-11-16 Aldy Hernandez - - * config/rs6000/rs6000.md: Change all ldvx to lvx. - -2001-11-16 Alexandre Oliva - - * gensupport.c (process_rtx): Don't assume filename is the first - argument of any rtl. - -2001-11-16 John David Anglin - - * vax-protos.h (reg_was_0_p): New prototype. - * vax.md (movsi, movhi, movqi): Use reg_was_0_p. - * vax.c (follows_p, reg_was_0_p): New functions. - -2001-11-16 John David Anglin - - * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat. - (casesi1): Likewise. Define new pattern which arises by simplification - when operand 1 is a constant int. Correct pattern which arises by - simplification when operand 1 is zero. - -2001-11-16 David O'Brien - - * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*, - arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*, - arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof, - arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout, - arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi, - arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe, - xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file. - * config/arm/aof.h: Don't include arm.h. - * config/arm/aout.h: Likewise. - * config/arm/coff.h: Don't include semi.h and aout.h. - * config/arm/elf.h: Don't include aout.h. - * config/arm/netbsd.h: Don't include netbsd.h and aout.h. - (TARGET_VERSION): Undef before defining. - (ARM_OS_NAME): Likewise - (TARGET_DEFAULT): Likewise - (TARGET_MEM_FUNCTIONS): Do not need to undefine now. - * config/arm/pe.h: Don't include arm/coff.h. - * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use - SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition. - * config/arm/riscix1-1.h: Likewise. - * config/arm/rix-gas.h: Don't include riscix.h. - (DBX_CONTIN_LENGTH): Undef before defining. - * config/arm/semi.h: Don't include aout.h. - * config/arm/semiaof.h: Don't include aof.h. - * config/arm/strongarm-coff.h: Don't include coff.h. - * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h. - * config/arm/vxarm.h: Don't include arm/coff.h. - * config/arm/xscale-coff.h: Don't include coff.h. - -Fri Nov 16 15:22:35 2001 Richard Kenner - - * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and - emit_cmp_insn. - -2001-11-16 Andreas Jaeger - - * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename - to .... - (fixup_fallthru_exit_predecessor): ... this. - Change callers and prototype. - -2001-11-16 Bernd Schmidt - - * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by - hand; don't use gen_setcc_2. - (ix86_expand_builtin): Fix pshufw. - * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special - case UNORDERED to emit the right assembler instruction. - (mmx_pshufw): Lose operand 2. - (cvtsi2ss): Fix representation. - From Graham Stott: - (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute. - -2001-11-16 Joseph S. Myers - - * doc/include/linux-and-gnu.texi: Remove. - * doc/gnu.texi: New. - * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi. - * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies. - -2001-11-16 Kazu Hirata - - * config/a29k/a29k.c: Fix comment formatting. - * config/a29k/a29k.h: Likewise. - * config/arc/arc.c: Likewise. - * config/arc/arc.h: Likewise. - * config/vax/vax.c: Likewise. - * config/vax/vax.h: Likewise. - * config/we32k/we32k.c: Likewise. - * config/we32k/we32k.h: Likewise. - -2001-11-16 Jeff Law - - * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after - creating a new jump insn. - -Fri Nov 13 09:06:25 2001 Richard Kenner - - * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to - copy misaligned data. - * varasm.c (assemble_variable): Set alignment into MEM when changed. - -2001-11-16 Graham Stott - - * optabs.c (prepare_cmp_insn): Correct lossage in last change fix - OPALIGN type. - -2001-11-16 Olivier Hainque - - * except.c: Support for catching a list of types with a single handler - (struct eh_region): Change type and filter to lists for catch regions. - (mark_eh_region): Mark the filter list for GC also. - (expand_start_catch): Always build a list if argument not NULL and - register each type of the list through add_type_for_runtime. - (duplicate_eh_region_1): Change type into type_list for catch regions. - (assign_filter_values): Assign a filter to each type associated with a - catch region. Assign filter for NULL types in a unique entry in the - filter list. - (build_post_landing_pads): Emit compare and jump for each filter of - the list associated with a catch region. - (reachable_next_level): When the type thrown is known, stop the search - as soon as one type within a catch list matches. Also, a handler is - potentially reachable only if at least one of the types it catches - has not been previously caught. - (collect_one_action_chain): Retrieve the filter for a NULL type list - from the first filter list entry. For non NULL type lists, add an - action record for every filter assigned. - * except.h: Reflect changes in comment before expand_start_catch. - -Fri Nov 16 07:12:51 2001 Richard Kenner - - * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if - BLKmode. - -Fri Nov 16 06:37:05 2001 Andreas Tobler - - * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn. - -2001-11-16 Jakub Jelinek - - * c-lang.c (finish_file): Don't emit static inline functions if - they weren't referenced. - -2001-11-15 Stan Shebs - - * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref. - -2001-11-16 Bryce McKinlay - - * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns - call. - * config/i386/i386.md: Likewise. - -Thu Nov 15 21:40:16 2001 Richard Kenner - - * timevar.c (rtl.h): Include so get fancy abort. - -2001-11-15 Dale Johannesen - - * config/darwin.h (SELECT_RTX_SECTION): Force address - initializers into 'const' section - * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of - if_then_else to match result, not operands - -Thu Nov 15 17:57:48 2001 Richard Kenner - - * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P. - * emit-rtl.c (change_address): Fix typo in default alignment. - (adjust_address_1): Use mode of NEW, not MODE, when setting size. - * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case. - * rtl.h (REGNO_PTR_FRAME_P): New macro. - - * expr.c (store_field): Pass tree instead of max size; callers changed. - Change handling of alignment. - Only copy to_rtx if is TARGET. - (expand_expr_unaligned): Delete; callers now use expand_expr. - (emit_cmp_insn): No longer take ALIGN parm; all callers changed. - (expand_assignment): Change handling of alignment. - Only copy to_rtx if was original. - (get_inner_reference): No longer return alginment; callers changed. - (expand_expr, case COMPONENT_REF): Change handling of alignment. - (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned. - (compare_from_rtx): Delete ALIGN parm; all callers changed. - (do_compare_rtx_and_jump): Likewise. - * expr.h: Reflect above changes. - * tree.h: Likewise. - * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter - to get_inner_reference. - * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns. - * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise. - * optabs.c: Likewise. - (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed. - (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed. - * expmed.c: Remove ALIGN arg from calls to compare_from_rtx, - compare_rtx_and_jump, and emit_cmp_jump_insns. - * fold-const.c: Remove PALIGN in calls to get_inner_reference. - * function.c (assign_stack_temp_for_type): No longer static. - * optabs.h (emit_cmp_insn): Remove ALIGN parm. - (prepare_cmp_insn): Delete declaration. - * rtl.h (assign_stack_temp_for_type): Add declaration. - * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes. - * config/clipper/clipper.c, config/h8300/h8300.c: Likewise. - * config/i386/i386.c,config/mips/mips.c: Likewise. - * config/i860/i860.c, config/ia64/ia64.c: Likewise. - * config/rs6000/rs6000.c, config/sh/sh.c: Likewise. - -2001-11-15 Stan Shebs - - * config/rs6000/rs6000.h: Fix a comment typo. - (RTX_COSTS): Sort processor versions better. - -2001-11-15 Kazu Hirata - - * config/h8300/h8300.md: Fix insn length of bit insns. - -2001-11-15 Jason Merrill - - * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan - DIEs if there were errors in the source. - - * config/alpha/alpha-interix.h, config/alpha/elf.h, - config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c, - config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h, - config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c, - config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h, - config/elfos.h, config/lynx.h, config/netware.h, - config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h, - config/s390/linux64.h: Remove definitions of INT_ASM_OP, change - uses to use ASM_LONG. - -2001-11-15 Alan Matsuoka - - * gensupport.c process_include : Change call to alloca to - xmalloc. - -2001-11-15 Aldy Hernandez - - * config/rs6000/rs6000.md: Use spaces instead of tabs in output - templates. - -Thu Nov 15 08:36:39 2001 Richard Kenner - - * final.c (alter_subreg): If simplify_subreg can't do anything, - handle REG ourselves and abort for others. - -2001-11-15 Richard Hodson - - * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt - routines. - -2001-11-15 Neil Booth - - * fix-header.c (read_scan_file): Update. - -Thu Nov 15 08:36:39 2001 Richard Kenner - - * toplev.c (toplev_main): Don't start timing until after - command-line options are parsed. - -2001-11-15 Andreas Schwab - - * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target - makefile frag, not host makefile frag. - (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file. - (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is - used. - (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd. - * config/m88k/t-dguxbcs: Remove definitions already in t-dgux. - * config/m88k/t-dgux (STMP_FIXPROTO): Define. - * config/i386/t-cygwin (STMP_FIXPROTO): Define. - * config/i386/t-dgux (STMP_FIXPROTO): Define. - * config/x-interix: Don't define STMP_FIXPROTO and - FIXPROTO_DEFINES. - * config/t-interix: New file, define STMP_FIXPROTO. - * config/i386/x-beos (STMP_FIXPROTO): Don't define here. - * config/i386/t-beos (STMP_FIXPROTO): Define here instead. - * config/t-svr4 (FIXPROTO_DEFINES): Define. - * config/arm/t-riscix (FIXPROTO_DEFINES): Define. - * config/i386/t-sco5 (FIXPROTO_DEFINES): Define. - * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define. - * config/m68k/t-hp3200: Renamed from x-hp3200. - * config/i370/t-oe: Renamed from x-oe. - * config/mips/t-iris: Renamed from x-iris. - * config/pa/t-bsd: Renamed from x-pa. - * config/pa/t-pa-hpux: Renamed from x-pa-hpux. - * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux, - config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix, - config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6, - config/rs6000/x-cygwin: Remove files. - - * configure.in: Check for target objdump and use that in eh_frame - optimization test. - * configure: Regenerated. - -2001-11-15 Jakub Jelinek - - * jump.c (squeeze_notes): Return true if no real insns were found. - * rtl.h (squeeze_notes): Adjust prototype. - * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If - squeeze_notes finds no real instructions, abort. - (merge_blocks_move_successor_nojumps): Likewise. - * loop.c (find_and_verify_loops): Likewise. - * stmt.c (expand_end_case): Likewise. - * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't - find any real instructions. - - * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs. - - * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized - conditional jump, request updating life into for the block - containing it. Fix a typo which prevented life info update. - Clear blocks bitmap before using it. - -2001-11-15 Neil Booth - - * c-common.c: Include c-lex.h. - (c_common_lang_init): Change prototype. Call init_c_lex and - init_pragma from here. - * c-common.h (c_common_lang_init): Change prototype. - * c-decl.c (init_decl_processing): Rename. Call c_parse_init. - * c-lang.c (c_init): Change prototype. Update. - (c_init_options): Update. - * c-lex.c (cpp_filename): Remove. - (init_c_lex): Update. Read the main file, and get the original - file name. - (yyparse): Finish the command line options. - * c-parse.in (c_parse_init): Call init_reswords here. - (init_parse): Remove. - * c-tree.h (c_init_decl_processing): New. - * cpphash.c (_cpp_init_hashtable): After initializing the hash - table, populate it. - * cppinit.c (read_original_filename, cpp_finish_options): New. - (cpp_create_reader): New prototype. Defer hash table initialization. - (cpp_start_read): Rename cpp_read_main_file. Initialize the - hash table. Get the original filename. - * cpplib.h (cpp_create_reader): Update. - (cpp_start_read): Remove. - (cpp_read_main_file, cpp_finish_options): New. - * cppmain.c (main, do_preprocessing): Update. - * langhooks.h (struct langhooks): Update init prototype. - * toplev.c (general_init, parse_options_and_default_flags, - process_options, lang_indpendent_init, lang_dependent_init, - init_asm_output): New; perform the bulk of initialization. - (compile_file): Move most of initialization to above functions. - (debug_hooks): Initialize statically. - (set_Wunused): Relocate. - (toplev_main): Move most of initialization to other init functions. - Have a clear logic flow. - * tree.h (init_parse, init_decl_processing): Remove. -objc: - * objc-act.c (objc_init): Update prototype, combine with old - init_parse. - (objc_init_options): Update. - - -2001-11-15 Andreas Jaeger - - * cfgrtl.c (purge_all_dead_edges): Use int as argument for - portability. - * basic-block.h: Adjust prototype. - -2001-11-15 Kazu Hirata - - * config/rs6000/aix31.h: Fix comment formatting. - * config/rs6000/beos.h: Likewise. - * config/rs6000/darwin.h: Likewise. - * config/rs6000/eabi.asm: Likewise. - * config/rs6000/linux.h: Likewise. - * config/rs6000/linux64.h: Likewise. - * config/rs6000/lynx.h: Likewise. - * config/rs6000/netbsd.h: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/rs6000/rs6000.h: Likewise. - * config/rs6000/rs6000.md: Likewise. - * config/rs6000/sol2.h: Likewise. - * config/rs6000/tramp.asm: Likewise. - * config/rs6000/xcoff.h: Likewise. - * config/rs6000/xm-beos.h: Likewise. - -2001-11-14 Alan Matsuoka - - * rtl.def (INCLUDE) : Define. - * gensupport.c (init_include_reader, process_include, - save_string) : New functions to implement an include facility - in .md files. - * gensupport.h : Add prototype for init_md_reader_args. - * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c - genextract.c genflags.c genopinit.c genoutput.c - genpeep.c genrecog.c: Change call to init_md_reader to - init_md_reader_args. - * md.texi: Document (include "path") and -I directives for RTL - generation tools. - -2001-11-14 DJ Delorie - - * integrate.c (get_hard_reg_initial_reg): New. - * integrate.h (get_hard_reg_initial_reg): Prototype. - * local-alloc.c (block_alloc): Don't tie pseudos that - represent call-saved hard regs' initial values. - -2001-11-14 Kaveh R. Ghazi - - * m68k/linux.h: Include not "linux.h" to avoid infinite - recursion. - -2001-11-14 Roger Sayle - - * fold-const.c (fold): Optimize strlen comparisons against zero. - -2001-11-14 David O'Brien - - * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*, - sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*, - sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*, - sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*, - sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*, - sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*, - sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*): - Include various CPU headers via tm_file. a.out based platforms now - properly include sparc/aout.h. sol2.h usage now implies including - elfos.h, svr4.h, and sparc/sysv4.h. - * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it. - Also define to '1'. - * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG, - SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, - DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): - Remove. They are a.out specific and belong in sparc/aout.h. - * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION, - ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, - DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from - sparc/sparc.h. - * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME, - TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define. - Moved here from sparc/sparc.h. - * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before - defining. - * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before - * config/sparc/lynx.h: Don't include lynx.h. - (SELECT_SECTION): Do not undef. - * config/sparc/openbsd.h: Don't include sparc/sparc.h. - * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h, - and sparc/sysv4.h. - * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h. - * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from - sparc/aout.h now. - * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO): - Don't undef, there is no need. - * config/sparc/splet.h (CPP_PREDEFINES): Define. - * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise. - * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise. - Don't include sparc/sparc.h. - * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE, - SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, - DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include - elfos.h and svr4.h. - (TARGET_VERSION): Define. - * config/sparc/vxsim.h (TARGET_VERSION): Define. - -Wed Nov 14 19:46:08 CET 2001 Jan Hubicka - - * cfglayout.c (fixup_fallthru_exit_predecesor): New static function. - (cfg_layout_finalize): Use it. - * bb-reorder.c (HAVE_epilogue): Remove. - (make_reorder_chain): Do not care special placement of - last basic block. - - * predict.c (expected_value_to_br_prob): Delete the note - once transformed. - - * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem; - measure integration time separately. - -Wed Nov 14 12:30:57 2001 Richard Kenner - - * function.c (struct temp_slot): ALIGN now unsigned. - -2001-11-14 Kazu Hirata - - * config/dsp16xx/dsp16xx.c: Fix comment formatting. - * config/dsp16xx/dsp16xx.h: Likewise. - * config/dsp16xx/dsp16xx.md: Likewise. - -2001-11-14 Kazu Hirata - - * config/h8300/h8300.c (get_shift_alg): Reorganize the code - that deals with 7-bit shifts in HImode. - -Wed Nov 14 14:17:05 CET 2001 Jan Hubicka - - * dbxout.c (dbxout_symbol_location): Update call of alter_subreg. - * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg. - (final_scan_insn): Update call of alter_subreg. - (cleanup_subreg_operands): Likewise. - (alter_subreg): Rewrite using simplify_subreg. - (output_address, output_operand): Update call of alter_subreg. - * output.h (alter_subreg): Update prototype. - * sdbout.c (sdbout_symbol): Update call of alter_subreg. - * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO. - * Makefile.in (final.o): Add dependency on expr.h - -Wed Nov 14 06:37:54 2001 Richard Kenner - - * c-lang.c (finish_file): Make I unsigned to eliminate warning. - -2001-11-13 Jeff Sturm - - * doc/install.texi (sparc-*-linux*): Mention requirements for - binutils and glibc. - -2001-11-14 Joseph S. Myers - - * Makefile.in (POD2MAN): Don't include --section=1. - (manext): Rename to man1ext. All users changed. - (man7ext): New. - (man7dir): New. - (generated-manpages): Also depend on $(docdir)/gfdl.7, - $(docdir)/gpl.7, and $(docdir)/fsf-funding.7. - ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include - --section=1 in calls to $(POD2MAN). - ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New. - (maintainer-clean, install, uninstall): Handle the new man pages. - ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi. - (installdirs): Create man7dir. - * doc/cpp.texi: Include GFDL in this manual. In the man page, - refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover - texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in - the SEE ALSO man page section. - * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7) - and fsf-funding(7) in the SEE ALSO man page section. - * doc/invoke.texi: Apply GFDL to man page. Include gpl(7), - gfdl(7) and fsf-funding(7) in the SEE ALSO man page section. - * doc/include/fdl.texi, doc/include/funding.texi, - doc/include/gpl.texi: Adjust for conversion by texi2pod.pl. - * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7. - -2001-11-13 Richard Henderson - - * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC - as appropriate for the artificial decl. - -2001-11-13 Richard Henderson - - * loop.c (combine_movables): Turn off combination until - move_movables validation bugs are fixed. - -2001-11-13 DJ Delorie - - * config.gcc (powerpc|rs6000): Set default cpp options based - on --with-cpu settings. - * config/rs6000/softfloat.h: New. - -2001-11-13 Kazu Hirata - - * config/h8300/h8300.c (shift_alg_si): Use special code for - 25-bit shifts on H8/S. - (get_shift_alg): Generate special code for 25-bit shifts on - H8/S. - -2001-11-13 Jakub Jelinek - - * emit-rtl.c (adjust_address_1): Add ADJUST argument. - (adjust_automodify_address_1): New. - * expr.h (adjust_address, adjust_address_nv): Adjust. - (adjust_automodify_address, adjust_automodify_address_nv): Define. - (adjust_address_1): Update prototype. - (adjust_automodify_address_1): Add prototype. - * expr.c (move_by_pieces_1): Use adjust_automodify_address. - (store_by_pieces_2): Likewise. - -Tue Nov 13 05:45:40 2001 Richard Kenner - - * Makefile.in (explow.o): Now depends on ggc.h. - * explow.c (ggc.h): Include. - (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root. - - * Makefile.in (expr.o): Depends on insn-attr.h. - * expr.c (insn-attr.h): New include. - (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG - of MEM. - (highest_pow2_factor, case INTEGER_CST): Handle negative values. - (expand_expr): Remove unneeded mark_temp_addr_taken calls and - clean up related usage in ADDR_EXPR. - (expand_expr_unaligned): Likewise. - - * emit-rtl.c (change_address): Fix typo in alias setting. - -2001-11-13 Kaveh R. Ghazi - - * Makefile.in (cfgcleanup.o): Depend on insn-config.h - -2001-11-12 Craig Rodrigues - - PR bootstrap/3451 - * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to - GCC_BAD, GCC_BAD2, GCC_BAD_ACTION. - -2001-11-12 David O'Brien - - * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*, - sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*, - sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*, - sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*, - sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*, - sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*, - sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, - sparc64-*-linux*): Include various CPU headers via tm_file. - * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it. - (SELECT_SECTION): Likewise. - (SELECT_RTX_SECTION): Likewise. - * config/sparc/sparc_bi.h: New file. - * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h. - * config/sparc/linux-aout.h: Likewise. - * config/sparc/linux.h: Don't include sparc/sysv4.h. - * config/sparc/linux64.h: Likewise. - (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead. - * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h. - * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h, - and dbxcoff.h - (ASM_OUTPUT_IDENT): Do not #undef. - (SELECT_SECTION): Likewise. - (SELECT_RTX_SECTION): Likewise. - * config/sparc/liteelf.h: Don't include gofast.h. - * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h. - * config/sparc/lynx.h: Don't include sparc/sparc.h. - * config/sparc/pbd.h: Likewise. - * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h. - * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h. - * config/sparc/rtemself.h: Don't include rtems.h. - * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h. - * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include - sparc_bi.h instead. - * config/sparc/sol2-sld.h: Don't include sparc/sol2.h. - * config/sparc/sol2.h: Include sparc/sparc.h directly. - * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h. - * config/sparc/sp64-elf.h: Don't include sparc/sol2.h. - * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h. - * config/sparc/sp86x-elf.h: Don't include gofast.h. - * config/sparc/splet.h: Don't include sparc/aout.h. - * config/sparc/sun4o3.h: Don't include sparc/sparc.h. - * config/sparc/sysv4.h: Don't include sparc/sparc.h directly. - * config/sparc/vxsim.h: Don't include sparc/sysv4.h. - * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h. - * config/sparc/vxsparc64.h: Don't include gofast.h. - (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead. - -2001-11-12 Joseph S. Myers - - * doc/standards.texi: Mention C99 TC1. - -2001-11-12 Kaveh R. Ghazi - - * mips-protos.h (mips_output_conditional_branch): Const-ify. - * mips.c (mips_output_conditional_branch): Likewise. - -2001-11-12 Kazu Hirata - - * config/h8300/h8300.c (shift_alg_si): Use special code for - 15-bit logical shifts and 31-bit logical shifts. - (get_shift_alg): Generate special code for 15-bit and 31-bit - logical shifts. - -2001-11-12 Kazu Hirata - - * config/h8300/h8300.c (shift_alg_qi): Use rotations when - doing 6-bit logical shifts on H8/S. - (shift_alg_qi): Use special code for 21-bit shifts on H8/S. - (get_shift_alg): Generate special code for 21-bit shifts on - H8/S. - -2001-11-12 Kazu Hirata - - * config/h8300/h8300.c (get_shift_alg): Remove a redundant - label. - -Mon Nov 12 11:58:26 2001 Richard Kenner - - * alias.c (nonoverlapping_memrefs_p): Only update size from memref - if both size and offset known. - -2001-11-12 David O'Brien - - * config/ia64/freebsd.h: Fix misspelling. - -2001-11-12 Joseph S. Myers - - * doc/gcc.texi: Move several chapters out to ... - * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi, - doc/include/linux-and-gnu.texi, doc/interface.texi, - doc/makefile.texi, doc/passes.texi, doc/portability.texi: - ... here. New files. - * doc/gcc.texi, doc/contrib.texi: Move section headings into - contrib.texi. - * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies. - -2001-11-12 Kazu Hirata - - * config/alpha/alpha-interix.h: Fix comment formatting. - * config/alpha/alpha.c: Likewise. - * config/alpha/alpha.h: Likewise. - * config/alpha/alpha32.h: Likewise. - * config/alpha/freebsd.h: Likewise. - * config/alpha/unicosmk.h: Likewise. - * config/alpha/vms.h: Likewise. - -2001-11-12 Kazu Hirata - - * config/h8300/h8300.c (get_shift_alg): Remove redundant code. - -2001-11-12 Jakub Jelinek - - * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register - numbers. - -Mon Nov 12 05:18:42 2001 Richard Kenner - - * emit-rtl.c (set_mem_attributes): If making object, can set alignment - from type. - (replace_equiv_address): Call update_temp_slot_address. - - * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case. - - * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT. - -2001-11-12 Kazu Hirata - - * config/h8300/h8300.c (shift_alg_qi): New. - (shift_alg_hi): Likewise. - (shift_alg_si): Likewise. - (get_shift_alg): Change the type of count to unsigned int. - Use the tables. - -2001-11-11 Alexandre Oliva - - * Makefile.in (c-lang.o): Depend on $(VARRAY_H). - * c-decl.c (c_expand_body): Take argument can_defer_p. Use it - to decide whether to defer a function. - (finish_function): Adjust. - (c_expand_deferred_function): New function. - * c-lang.c (deferred_fns): New variable. - (c_init): Initialize it, and mark it as a root. - (defer_fn): New function. - (finish_file): Expand all deferred functions. - * c-tree.h (defer_fn): Declare. - (c_expand_deferred_function): Likewise. - * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H). - * objc-act.c (deferred_fns): New variable. - (objc_init): Initialize it, and mark it as a root. - (defer_fn): New function. - (finish_file): Expand all deferred functions. - -2001-11-11 Kaveh R. Ghazi - - * alpha.c (unicosmk_special_name): Prototype. - (unicosmk_ssib_name): Delete unused variable. - * alpha/unicosmk.h (common_section, ssib_section): Prototype. - * alpha/vms.h (PREFIX): Undef before defining. - * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise. - * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro - controlling usage. Const-ify. - (alias_number): Delete unused variable. - * m32r/m32r.c (m32r_sched_init): Add missing argument. - (m32r_expand_block_move): Fix uninitialized warnings. - * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is - always true' warnings. - * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine. - * sh/sh.c: Include "integrate.h". - (output_far_jump): Fix uninitialized warning. - * final.c (shorten_branches): Avoid automatic aggregate - initialization. - * integrate.c (subst_constants): Likewise. - -2001-11-11 Kazu Hirata - - * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX. - (get_shift_alg): Remove redundant code. - -2001-11-11 Kazu Hirata - - * config/pa/milli64.S: Fix comment formatting. - * config/pa/pa-64.h: Likewise. - * config/pa/pa-linux.h: Likewise. - * config/pa/pa-protos.h: Likewise. - * config/pa/pa.c: Likewise. - * config/pa/pa.h: Likewise. - * config/pa/pa32-linux.h: Likewise. - * config/pa/pa32-regs.h: Likewise. - * config/pa/pa64-hpux.h: Likewise. - * config/pa/pa64-regs.h: Likewise. - * config/pa/som.h: Likewise. - -2001-11-11 Joseph S. Myers - - * doc/gcc.texi: Move several chapters out to ... - * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi, - doc/service.texi, doc/standards.texi, doc/trouble.texi, - doc/vms.texi: ... here. New files. - * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies. - -2001-11-11 Joseph S. Myers - - * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog, - cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, - collect2.c, combine.c, config.in, configure, configure.in, - conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c, - genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c, - reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix - spelling errors. - -Sun Nov 11 05:56:01 2001 Richard Kenner - - * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq): - Adjust operand number in CONST_DOUBLE. - - * expmed.c (extract_bit_field): No longer pass in alignment. - (extract_fixed_bit_field, extract_split_bit_field): Likewise. - (store_bit_field, store_fixed_bit_field, store_split_bit_field): - Likewise. - * expr.c (store_constructor, store_constructor_field): Likewise. - (store_field, emit_group_load, emit_group_store): Likewise. - * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm. - (store_bit_field, extract_bit_field): Likewise. - * calls.c, expr.c, function.c: Change calls to above functions. - * ifcvt.c, stmt.c: Likewise. - - * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is - constant and one is on frame. - If know memref offset, adjust size from decl. - -2001-11-11 Kaveh R. Ghazi - - * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix - format specifier warning. - * convex.h (ASM_OUTPUT_BYTE): Likewise. - * elfos.h (ALIGN_ASM_OP): Undef before defining. - * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier - warning. - * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * i386-interix.h (gen_stdcall_suffix): Prototype. - * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning. - * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE, - ASM_OUTPUT_LONG_DOUBLE): Likewise. - * i386/interix.c (gen_stdcall_suffix): Const-ify. - * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, - ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format - specifier warnings. - * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE, - ASM_OUTPUT_LONG_DOUBLE): Likewise. - * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, - ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise. - * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise. - * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL): - Likewise. - * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL): - Likewise. - * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise. - * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, - ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND): - Likewise. - * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE): - Likewise. - * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE): - Likewise. - * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable. - * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning. - * m68k/news.h (PRINT_OPERAND): Likewise. - * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, - ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise. - * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise. - * m68k/plexus.h (ASM_SPEC): Insert space between macro name and - definition. - * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, - ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND, - ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings. - * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise. - * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE, - ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, - PRINT_OPERAND): Likewise. - * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE): - Likewise. - * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise. - * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise. - * mips/iris5gas.h (PUT_SDB_SIZE): Likewise. - * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise. - * mips.c (mips_output_external_libcall): Mark parameter with - ATTRIBUTE_UNUSED. - (mips_asm_file_start): Move variable into the scope where it's - used. - * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise. - * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise. - * mips/sni-gas.h (PUT_SDB_SIZE): Likewise. - * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * ns32k.c (print_operand): Likewise. - * pa.c (print_operand, output_div_insn): Likewise. - * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL, - ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise. - * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify. - * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format - specifier warnings. - * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef. - * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format - specifier warnings. - * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. - - * sdbout.c (sdbout_end_epilogue): Mark parameter with - ATTRIBUTE_UNUSED. - * varasm.c (assemble_global): Likewise. - -2001-11-11 H.J. Lu - - * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips. - -Sun Nov 11 01:26:00 CET 2001 Jan Hubicka - - * final.c (*_MAX_SKIP): Use *_max_skip variables. - * flags.h (align_loops_max_skip, align_jumps_max_skip, - align_labels_max_skip): New global variables. - * toplev.c (align_loops_max_skip, align_jumps_max_skip, - align_labels_max_skip): New global variables. - (toplev_main): Set new variables. - * i386.c (override_options): Set max_skip values. - -2001-11-10 Geoffrey Keating - - * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF. - * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF. - * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C', - don't print an @fptr for labels either. - (xstormy16_output_addr_vec): Don't print @fptr here. - * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro. - -Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com) - - * ssa-ccp.c (examine_flow_edges): Use old-style definition, not - an ANSI/ISO definitino. - (ssa_const_prop): Likewise. - -2001-11-10 Aldy Hernandez - - * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or - altivec registers. - -2001-11-09 Kaveh R. Ghazi - - * cppexp.c (parse_number): Use ISXDIGIT/hex_value. - * cpplex.c (hex_digit_value): Use hex_p/hex_value. - * cppmain.c (general_init): Call hex_init. - * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p. - - * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'. - - * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions - of dgux.c:output_file_start(). - - * i386/dgux.c: Delete file. - -2001-11-09 Richard Henderson - - * config/alpha/alpha.c (decl_in_text_section): New. - (current_file_function_operand): Use it. - (alpha_encode_section_info, alpha_end_function): Likewise. - -2001-11-07 David O'Brien - - * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers. - * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove, - they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES, - so OS specific files and use CPP_PREDEFINES for their needs. - * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of - target headers to tm_file. - * config/ia64/aix.h (TARGET_VERSION): Likewise. - * config/ia64/hpux.h (TARGET_VERSION): Likewise. - * config/ia64/linux.h (TARGET_VERSION): Likewise. - (FUNCTION_PROFILER): Remove. - * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the - version in config/ia64/linux.h. - * config/ia64/freebsd.h: New file. - * config/freebsd.h: Tidy up. - (_USING_CONFIG_FREEBSD): Define. - (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__. - (FBSD_CPP_SPEC): Define generic FreeBSD spec. - (FBSD_STARTFILE_SPEC): Likewise. - (FBSD_ENDFILE_SPEC): Likewise. - (FBSD_LIB_SPEC): Likewise. - (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed. - (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers - set an ELF-improper one. - -2001-11-09 John David Anglin - - * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a - constant can be loaded in a single instruction to a register. When - loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use - depdi for insertion of most significant 32-bits on 64-bit hosts. - * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built - with ldil/ldo/depdi instruction sequence on 64-bit hosts. - * pa.md: New addmove pattern for adding constant_int to HImode - register and moving result to HImode register. Remove HImode HIGH - and LO_SUM patterns. - -2001-11-09 Neil Booth - - * Makefile.in: Update. - * c-decl.c (print_lang_decl, print_lang_type): Remove. - (print_lang_identifier): Rename c_print_identifier. - * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New. - (print_lang_statistics, lang_print_xnode): Remove. - * c-parse.in (set_yydebug): Rename c_set_yydebug. - * c-tree.h (c_set_yydebug, c_print_identifier): New. - * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New. - LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE, - LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE, - LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New. - (LANG_HOOKS_INITIALIZER): Update. - * langhooks.h (struct lang_hooks): New members. - (lang_print_tree_hook): New. - * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New. - * print-tree.c: Include langhooks.h. - (print_node): Update. - * toplev.c (decode_d_option): Update. - * tree.c: Include langhooks.h. - (dump_tree_statistics): Update. - * tree.h (print_lang_statistics, print_lang_decl, print_lang_type, - print_lang_identifier, set_yydebug, lang_print_xnode): Remove. -objc: - * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER, - LANG_HOOKS_SET_YYDEBUG): Override. - (lang_print_xnode, print_lang_statistics): Remove. - -2001-11-09 Richard Henderson - - * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING - on the symbol string. - -2001-11-09 Kaveh R. Ghazi - - * pa/elf.h (ASM_DECLARE_FUNCTION_NAME, - ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining. - * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause. - - * clipper.h (ASM_OUTPUT_REG_POP): Fix typo. - - * tlink.c (recompile_files): Copy strings passed to `putenv'. - -2001-11-09 Geoffrey Keating - - * tree.h (TYPE_VOLATILE): Trap use not on TYPEs. - (TYPE_READONLY): Likewise. - - * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time. - - * config/stormy16/stormy16.h (ASM_SPEC): Revert last change, - don't pass --gdwarf2 to the assembler if the compiler will also - provide debug info. - - * config/stormy16/stormy16.c (xstormy16_expand_casesi): - Don't change INDEX. - -Fri Nov 9 17:51:09 2001 Richard Kenner - - * alias.c (nonoverlapping_memrefs_p): New function. - (true_dependence, canon_true_depenence, write_dependence_p): Call it. - - * emit-rtl.c (set_mem_attributes): Get alignments for constants. - -2001-11-09 Aldy Hernandez - - * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS. - (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless - generating altivec code. - (FIXED_REGISTERS): VRSAVE is fixed. - (CALL_USED_REGISTERS): VRSAVE is call used. - -2001-11-09 Jason Eckhardt - - * config/mips/mips.c (mips_output_conditional_branch): Do not hard - code the branch target as ".+16/.+12", but rather use labels. - -Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com) - - * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0 - to work around limitations of certain versions of GAS. - - * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues. - (muldi3): Update due to SUBREG_BYTE changes. - (casesi): Similarly. - -2001-11-09 Zack Weinberg - - * doc/invoke.texi: Remove comment referring to -xf77-version. - -2001-11-09 Kazu Hirata - - * config/convex/convex.c: Fix comment formatting. - * config/convex/convex.h: Likewise. - -2001-11-08 Zack Weinberg - - * Makefile.in (.po.pox): Look both in srcdir and builddir - for $(PACKAGE).pot. - (po/$(PACKAGE).pot): Don't move-if-change the new potfile over - to the source directory. - -2001-11-09 Ben Elliston - Michael Meissner - Andrew MacLeod - Richard Henderson - Nick Clifton - Catherine Moore - - * m32r.c: Add support for m32rx processor. - * m32r.h: Ditto. - * m32r.md: Ditto. - * t-m32r: Ditto. - * m32r-protos.h: Add prototypes for m32rx functions. - * doc/invoke.texi: Document -m32rx option. - -2001-11-09 Jakub Jelinek - - * config/sparc/sparc.md (movdf): Avoid calling validize_mem during - or after reload. - -2001-11-09 Gerald Pfeifer - - * doc/install.texi2html: Use $MAKEINFO --no-split. - -2001-11-09 Andreas Schwab - - * Makefile.in ($(HOST_PREFIX_1)rtl.o, - $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o, - $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, - $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o, - $(HOST_PREFIX_1)ggc-none.o): Update dependencies. - -2001-11-09 H.J. Lu - - * config/mips/mips.c (mips_output_function_prologues): Cast - `tsize' to long for output. - -2001-11-09 Neil Booth - - * c-lang.c (LANG_HOOKS_NAME): New. - (lang_hooks): Constify. - (c_init_options): Update. - (lang_identify): Remove. - * c-parse.in (language_string): Remove. - * dbxout.c: Include langhooks.h. - (dbxout_symbol_location): Update. - * dwarf2out.c: Include langhooks.h. - (gen_compile_unit_die): Update. - * dwarfout.c: Include langhooks.h. - (prototyped_attribute, output_compile_unit_die): Update. - * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New. - (LANG_HOOKS_INITIALIZER): Update. - * langhooks.h (struct lang_hooks): New members. Constify. - * stringpool.c: Don't include toplev.h. - (set_identifier_size): Remove. - * toplev.c (toplev_main): Initialize identifier size. - (print_version): Update. - * tree.h (language_string, init_lex, lang_identify, - set_identifier_size): Remove. - * Makefile.in: Update dependencies. - * config/darwin.c: Include langhooks.h. - (func_name_maybe_scoped): Update. - * config/darwin.h (ASM_END_FILE): Update. - * config/nextstep.h (ASM_END_FILE): Update. - * config/nextstep21.h (ASM_END_FILE): Update. - * config/i386/sun386.h (ASM_END_FILE): Update. - * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h. - (rs6000_output_function_epilogue): Update. -objc: - * objc-act.c (LANG_HOOKS_NAME): Override. - (struct lang_hooks): Constify. - (objc_init_options): Update. - (lang_identify): Remove. - -Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com) - - * fold-const.c (lshift_double): Honor PREC. - (rshift_double): Likewise. - -2001-11-08 Kazu Hirata - - * config/1750a/1750a.c: Fix comment formatting. - * config/1750a/1750a.h: Likewise. - -2001-11-08 Phil Edwards - - * configure.in (--enable-languages): Be more permissive about - syntax. Check for empty lists better. Warn about $LANGUAGES. - * configure: Regenerated. - -2001-11-08 Richard Henderson - - * dwarf2asm.c (dw2_force_const_mem): Fix typo. - -2001-11-08 Geoffrey Keating - - * config.gcc: Rename stormy16 to xstormy16. - * config/stormy16/stormy-abi: Likewise. - * config/stormy16/stormy16-protos.h: Likewise. - * config/stormy16/stormy16.c: Likewise. - * config/stormy16/stormy16.h: Likewise. - * config/stormy16/stormy16.md: Likewise. - -2001-11-06 Geoffrey Keating - - * tree.h (TYPE_VOLATILE): Add enable-checking code. - (TYPE_READONLY): Likewise. - -Thu Nov 8 18:00:55 2001 Richard Kenner - - * reload1.c (reload): Don't delete equiv insn if can throw. - - * expr.c (emit_block_move): If X is readonly emit CLOBBER for it. - (clear_storage): Likewise, for OBJECT. - -Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com) - - * pa.c (emit_move_sequence): Fix SUBREG expression to - use proper byte offset when extending a constant from - SImode to DImode. - -2001-11-09 Jakub Jelinek - - * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns - which cannot throw. - -Thu Nov 8 18:00:55 2001 Richard Kenner - - * explow.c (convert_memory_address, case SUBREG): Only return - inner object if SUBREG_PROMOTED_VAR_P or known to be pointer. - -2001-11-08 Richard Henderson - - * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include. - (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir. - (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise. - -2001-11-08 Aldy Hernandez - - * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec. - -2001-11-08 Jakub Jelinek - - * dwarf2out.c (debug_str_hash): New. - (struct indirect_string_node): New. - (struct dw_val_struct): Change type of val_str to it. - (DEBUG_STR_SECTION_FLAGS): Define. - (add_AT_string): Push string into hashtable, increment reference - counter. - (AT_string): Return string from ht_identifier. - (AT_string_form): New. - (free_AT): For dw_val_class_str, just decrement reference counter. - (size_of_string): Remove. - (size_of_die): Use AT_string_form to decide what size the string - occupies in DIE. - (size_of_pubnames): Use strlen instead of size_of_string. - (value_format): Use AT_string_form for dw_val_class_str. - (output_die): Output DW_FORM_strp strings using - dw2_asm_output_offset. - (indirect_string_alloc, output_indirect_string): New. - (dwarf2out_finish): Emit .debug_str strings if there are any. - -2001-11-08 Andreas Franck - - * configure.in: Add AC_ARG_PROGRAM to support program name - transformation with --program-prefix, --program-suffix and - --program-transform-name. - * configure: Regenerated. - * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME, - PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME, - GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME, - PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle - program_transform_name the way suggested by autoconf. - (GCC_TARGET_INSTALL_NAME): Define. - (install-driver): Use the transformed target alias name. - -2001-11-08 Richard Henderson - - * config/mips/mips.c (save_restore_insns): Remove GP from the - restore registers mask early instead of special casing it inside - the loop. - -2001-11-08 Neil Booth - - * cp/decl.c (shadow_warning): New function. - (pushdecl): Improve -Wshadow warnings. Don't give both a warning - and an error when a block scope decl shadows a parameter. - -2001-11-08 Richard Henderson - - * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST - case as well. - -2001-11-08 John David Anglin - - * pa.md (negdf2, negsf2): Use multiplication rather than subtraction - to implement floating negation on processors prior to PA 2.0. - -2001-11-08 Jakub Jelinek - - * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New. - (USE_LINKONCE_INDIRECT): Define. - (dw2_output_indirect_constant_1): Try to output indirect constants - into linkonce sections if possible. - (dw2_force_const_mem): Likewise. Register indirect_pool with GGC. - (dw2_output_indirect_constants): Likewise. - -2001-11-07 Aldy Hernandez - - * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave. - -2001-11-07 Neil Booth - - * c-decl.c (pushdecl): Remove file and line. - * c-typeck.c (pop_init_level): Remove size. - -2001-11-07 Aldy Hernandez - - * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec - for rs6000. - - * config/rs6000/rs6000.h (MASK_ALTIVEC): New. - (TARGET_ALTIVEC): New. - (TARGET_SWITCHES): Add altivec. - (FIRST_PSEUDO_REGISTER): Change to 109. - (CALL_USED_REGISTERS): Same. - (FIRST_ALTIVEC_REGNO): New. - (LAST_ALTIVEC_REGNO): New. - (ALTIVEC_REGNO_P): New. - (UNITS_PER_ALTIVEC_WORD): New. - (ALTIVEC_VECTOR_MODE): New. - (FIXED_REGISTERS): Add altivec registers. - (REG_ALLOC_ORDER): Same. - (HARD_REGNO_NREGS): Adjust for altivec registers. - (HARD_REGNO_MODE_OK): Same. - (MODES_TIEABLE_P): Same. - (REGISTER_MOVE_COST): Same. - (REGNO_REG_CLASS): Same. - (reg_class): Add ALTIVEC_REGS. - (REG_CLASS_NAMES): Same. - (REG_CLASS_CONTENTS): Same. - (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS. - (ALTIVEC_ARG_RETURN): New. - (FUNCTION_VALUE): Handle VECTOR_TYPE. - (LIBCALL_VALUE): Handle altivec vector modes. - (VECTOR_MODE_SUPPORTED_P): New. - (ALTIVEC_ARG_MIN_REG): New. - (ALTIVEC_ARG_MAX_REG): New. - (ALTIVEC_ARG_NUM_REG): New. - (FUNCTION_VALUE_REGNO_P): Return true for altivec return register. - (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers. - (REGISTER_NAMES): Add altivec regs. - (DEBUG_REGISTER_NAMES): Same. - (ADDITIONAL_REGISTER_NAMES): Same. - (rs6000_builtins): New. - (MD_EXPAND_BUILTIN): New. - (MD_INIT_BUILTINS): New. - (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid - for AltiVec instructions. - (LEGITIMATE_LO_SUM_ADDRESS_P): Same. - (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec - registers. - (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes. - (TARGET_SWITCHES): Add no-altivec. - (DATA_ALIGNMENT): Align vectors to 128 bits. - (TARGET_OPTIONS): Add abi= option. - Add rs6000_abi_string extern. - (LOCAL_ALIGNMENT): New. - (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec. - (MASK_ALTIVEC_ABI): New. - (TARGET_ALTIVEC_ABI): New. - (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to - call-saved. - (STACK_BOUNDARY): Adjust for altivec. - (BIGGEST_ALIGNMENT): Same. - (rs6000_args): Add vregno. - (USE_ALTIVEC_FOR_ARG_P): New. - (FIXED_REGISTERS): Add vrsave register. - (CALL_USED_REGISTERS): Same. - (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info. - (VRSAVE_REGNO): New. - (reg_class): Add VRSAVE_REGS. - (REG_CLASS_NAMES): Same. - (REG_CLASS_CONTENTS): Same. - (REGNO_REG_CLASS): Same. - - * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec. - (ABI_STACK_BOUNDARY): Same. - (BIGGEST_ALIGNMENT): Same. - (ADJUST_FIELD_ALIGN): Remove undef. Define anew. - (ROUND_TYPE_ALIGN): Same. - - * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT - to 64. - - * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT - to 64. - - * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT - to 64. - - * config/rs6000/rs6000.c (rs6000_expand_builtin): New. - (altivec_expand_builtin): New. - (altivec_init_builtins): New. - (TARGET_EXPAND_BUILTIN): New. - (TARGET_INIT_BUILTINS): New. - (rs6000_init_builtins): New. - (struct builtin_description): New. - (bdesc_2arg): New. - (rs6000_reg_names): Add altivec registers. - (alt_reg_names): Same. - (secondary_reload_class): Altivec regs can hold altivec regs and - memory. - (rs6000_emit_move): Force constants into memory for AltiVec moves. - (print_operand): Add 'y' case for printing altivec memory - operands. - (rs6000_legitimize_address): Legitimize vector addresses into - [REG+REG] or [REG]. - (altivec_expand_binop_builtin): New. - New string rs6000_current_abi. - (rs6000_override_options): Call rs6000_parse_abi_options. - (rs6000_parse_abi_options): New. - (function_arg_boundary): Vector arguments must be 16 - byte aligned. - (function_arg_advance): Handle vector arguments. - (function_arg_partial_nregs): Same. - (init_cumulative_args): Same. - (function_arg): Same. - - * config/rs6000/rs6000.md (altivec_lvx): New. - (type): Add altivec attribute. - (movv4si): New. - (*movv4si_internal): New. - (movv16qi): New. - (*movv16qi_internal): New. - (movv8hi): New. - (*movv8hi_internal1): New. - (movv4sf): New. - (*movv4sf_internal1): New. - (altivec_stvx): New. - (vaddubm): New. - (vadduhm): New. - (vadduwm): New. - (vaddfp): New. - (vaddcuw): New. - (vaddubs): New. - (vaddsbs): New. - (vadduhs): New. - (vaddshs): New. - (vadduws): New. - (vaddsws): New. - (vand): New. - (vandc): New. - (vavgub): New. - (vavgsb): New. - (vavguh): New. - (vavgsh): New. - (vavguw): New. - (vavgsw): New. - (vcmpbfp): New. - (vcmpequb): New. - (vcmpequh): New. - (vcmpequw): New. - (vcmpeqfp): New. - (vcmpgefp): New. - (vcmpgtub): New. - (vcmpgtsb): New. - (vcmpgtuh): New. - (vcmpgtsh): New. - (vcmpgtuw): New. - (vcmpgtsw): New. - (vcmpgtfp): New. - (vcmpgefp): New. - (vcmpgtub): New. - (vcmpgtsb): New. - (vcmpgtuh): New. - (vcmpgtsh): New. - (vcmpgtuw): New. - (vcmpgtsw): New. - (vcmpgtfp): New. - (vmaxub): New. - (vmaxsb): New. - (vmaxuh): New. - (vmaxsh): New. - (vmaxuw): New. - (vmaxsw): New. - (vmaxfp): New. - (vmrghb): New. - (vmrghh): New. - (vmrghw): New. - (vmrglb): New. - (vmrglh): New. - (vmrglw): New. - (vminub): New. - (vminsb): New. - (vminuh): New. - (vminsh): New. - (vminuw): New. - (vminsw): New. - (vminfp): New. - (vmuleub): New. - (vmulesb): New. - (vmuleuh): New. - (vmulesh): New. - (vmuloub): New. - (vmulosb): New. - (vmulouh): New. - (vmulosh): New. - (vnor): New. - (vor): New. - (vpkuhum): New. - (vpkuwum): New. - (vpkpx): New. - (vpkuhss): New. - (vpkshss): New. - (vpkuwss): New. - (vpkswss): New. - (vpkuhus): New. - (vpkshus): New. - (vpkuwus): New. - (vpkswus): New. - (vrlb): New. - (vrlh): New. - (vrlw): New. - (vslb): New. - (vslh): New. - (vslw): New. - (vsl): New. - (vslo): New. - (vsrb): New. - (vrsh): New. - (vrsw): New. - (vsrab): New. - (vsrah): New. - (vsraw): New. - (vsr): New. - (vsro): New. - (vsububm): New. - (vsubuhm): New. - (vsubuwm): New. - (vsubfp): New. - (vsubcuw): New. - (vsububs): New. - (vsubsbs): New. - (vsubuhs): New. - (vsubshs): New. - (vsubuws): New. - (vsubsws): New. - (vsum4ubs): New. - (vsum4sbs): New. - (vsum4shs): New. - (vsum2sws): New. - (vsumsws): New. - (vxor): New. - -2001-11-07 Daniel Berlin - - * Makefile.in (df.o): Add fibheap.h to dependencies. - - * df.h: Add prototypes for transfer functions, iterative_dataflow - functions. - (enum df_flow_dir): New enum. - (enum df_confluence_op): New enum. - (struct df): Add inverse_rts_map. - - * df.c: Add sbitmap.h to the list of includes. - (df_rd_global_compute): Removed. - (df_ru_global_compute): Removed. - (df_lr_global_compute): Removed. - (df_rd_transfer_function): New function. - (df_ru_transfer_function): New function. - (df_lr_transfer_function): New function. - (df_analyse_1): allocate/compute/free df->inverse_rts_map. - Use iterative_dataflow_bitmap instead of df_*_global_compute. - (iterative_dataflow_sbitmap): New function. - (iterative_dataflow_bitmap): New function. - -2001-11-07 Joseph S. Myers - - * doc/gcc.texi: Move terminology and spelling conventions to - htdocs/codingconventions.html. - -2001-11-07 Graham Stott - - * cse.c (cse_insn): Emit BARRIER after unconditional jump. - -Wed Nov 7 13:33:34 CET 2001 Jan Hubicka - - * expmed.c (expand_mult): Force operand to register before computing - cost. - * i386.c (x86_decompose_lea): New global vairable. - * i386.h (x86_decompose_lea): Declare. - (TARGET_DECOMPOSE_LEA): New macro. - (RTX_COST): Handle leas properly. - -2001-11-06 Richard Henderson - - * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not - defined for a CONSTRUCTOR; don't check it. - -2001-11-06 Danny Smith - - * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to - test for absolute pathnames. - -2001-11-06 Olivier Hainque - - * unwind-dw2.c (execute_cfa_program): Evaluate call frame - instructions up to the target pc inclusive. - -2001-11-06 Steve Christiansen - - * loop.c (loop_regs_scan): Don't invalidate PIC register. - -2001-11-06 Eric Christopher - - * config/mips/mips.md(movdf_internal2): Add constraints for float - to general register move. - * config/mips/elf64.h: Add default ABI. - -2001-11-06 Neil Booth - - * alias.c:: Include langhooks.h. - * emit-rtl.c: Similarly. - * toplev.c: Similarly. - * tree-inline.c: Similarly. - * langhooks-def.h: New, the old langhooks.h. Give the default - hooks a common prefix. - * langhooks.h: Contents extracted from toplev.h. - * toplev.h: Move langhook stuff to langhooks.h. - * langhooks.c: Give default hooks a common prefix. - - * c-lang.c: Include langhooks-def.h. - * objc/objc-act.c: Similarly. - * Makefile.in: Update. - * objc/Make-lang.in: Update. - -2001-11-06 Joseph S. Myers - - * doc/install.texi: Document that configure options not listed in - this file are unsupported. Document --with-system-zlib. - -Tue Nov 6 09:21:34 2001 Richard Kenner - - * rtl.h (mem_for_const_double): New declaration. - * varasm.c (mem_for_const_double): New function. - * config/convex/convex.md (movdf): Use it. - * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise. - * config/m68k/linux.h, config/m68k/m68k.h: Likewise. - * config/m68k/m68kv4.h: Likewise. - - * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition - of new GP reg classes. - - * expr.c (store_field): When making temp object for unaligned - component, set it to alias set 0. - -2001-11-06 Joseph S. Myers - - * c-common.c (c_expand_expr_stmt): Apply default conversions to - non-lvalue arrays if C99. - * c-typeck.c (default_conversion): Split out code handling - array-to-pointer and function-to-pointer conversions into a - separate default_function_array_conversion function. - (default_function_array_conversion): New function. Keep track of - whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue - arrays unchanged outside C99 mode instead of giving an error for - them. - (build_component_ref): Use pedantic_non_lvalue when handling - COMPOUND_EXPR. Don't handle COND_EXPR specially. - (convert_arguments): Use default_function_array_conversion. - (build_unary_op): For ADDR_EXPR, take a flag indicating whether - non-lvalues are OK. - (unary_complex_lvalue): Likewise. - (internal_build_compound_expr): Use - default_function_array_conversion. Apply default conversions to - function in compound expression. - (build_c_cast, build_modify_expr, digest_init, build_asm_stmt): - Use default_function_array_conversion. - * doc/extend.texi: Update documentation of subscripting non-lvalue - arrays. - Fixes PR c/461. - -2001-11-05 Zack Weinberg - - * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS. - (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files - corresponding to the complete set of .po and .gmo files in - the source directory's po subdir, modified by LINGUAS. Don't - look at ALL_LINGUAS. - * configure.in: Don't set ALL_LINGUAS. - * configure: Regenerate. - - * Makefile.in (.po.gmo): Don't move into source directory. - (.po.pox): Clarify comments. - (install-po): Look for .gmo files in both srcdir and objdir; - don't fail if a file is totally missing. - (distclean): rmdir ada subdirectory too. - -2001-11-05 Geoffrey Keating - - * config/rs6000/rs6000.c (rs6000_select_section): Handle - CONSTRUCTORs _correctly_. - -2001-11-05 Neil Booth - - * c-decl.c (delete_block): Remove. - * c-tree.h (delete_block): Remove. - -2001-11-05 Neil Booth - - * cppexp.c (lex, parse_defined): Update warning about defined. - -2001-11-05 Geoffrey Keating - - * config/rs6000/rs6000.c (rs6000_select_section): Handle - CONSTRUCTORs too. - -2001-11-05 Nick Clifton - - * config/arm/arm.c (arm_return_in_memory): Cope with - int_size_in_bytes returning -1. - - * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle - DECL being NULL. - -Mon Nov 5 16:15:25 CET 2001 Jan Hubicka - - * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h; - remove unneeded dependencies; - (cfglayout.o): New. - * cfglayout.c, cfglayout.h: New files; break out from ... - * bb-reorder.c: ... here; Remove unneeded includes; - -2001-11-04 Alan Modra - - * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used. - -2001-11-04 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit - mode as well. Do not explicitly create intermediate regs. - -2001-11-04 Kaveh R. Ghazi - - * arm/aof.h (aof_text_section, aof_data_section): Don't declare. - (common_section): Delete unused variable. - (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings. - (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning. - * arm-protos.h (arm_poke_function_name, aof_add_import, - aof_delete_import): Const-ify. - * arm.c (legitimize_pic_address): Wrap variables in the macro - controlling their usage. - (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED. - (arm_poke_function_name, pic_chain, import, aof_add_import, - aof_delete_import): Const-ify. - * i386.c (ix86_osf_output_function_prologue): Const-ify. - * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE, - ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings. - * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify. - * i860/sysv3.h: Add missing comment closure. - * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon. - * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call - to symbolic_operand. - - * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*. - (i960-*-*): Set tmake_file. - (sparc86x-*-elf*): Fix typo in header name. - - * sched-rgn.c (schedule_insns): Delete unused variable. - -2001-11-04 Neil Booth - - PR c/2820 - * c-typeck.c (lookup_field): Rework to return a chain down to - the looked-up field. - (build_component_ref): Use the new lookup_field to handle - nested anonymous entities correctly. - -Sun Nov 4 11:53:31 2001 Richard Kenner - - * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64): - Change parameters to gen_rtx_CONST_DOUBLE. - (GEN_INT64, sparc_emit_set_const64): Likewise. - * config/sparc/sparc.md (movdf split): Likewise. - -2001-11-03 Geoffrey Keating - - * unroll.c (calculate_giv_inc): Use find_last_value rather - than just hoping the last instruction is the right SET. - [Fixes 990604-1.c on stormy16.] - - * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss - library at all if -T is used. - - * config/stormy16/stormy16.c (stormy16_print_operand): Avoid - some uses of uninitialized variables in error cases. - - * config/stormy16/stormy16.c (stormy16_output_shift): Don't - look at 'temp' if we won't be using it. - - * config/stormy16/stormy16.h (CONST_COSTS): Define. - (RTX_COSTS): Define. - (ADDRESS_COST): Define. - (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost. - - * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler. - - * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call - stormy16_asm_output_mi_thunk. - * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New - function. - * config/stormy16/stormy16-protos.h - (stormy16_asm_output_mi_thunk): New prototype. - -2001-11-04 Joseph S. Myers - - * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog, - FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c, - caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c, - cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c, - sched-int.h, toplev.c, config/alpha/alpha.c, - config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h, - config/cris/cris.md, config/i370/i370.md, config/i386/i386.c, - config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h, - config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md, - config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h, - config/ns32k/ns32k.md, config/rs6000/rs6000.c, - config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors. - -2001-11-03 Kaveh R. Ghazi - - * Makefile.in (dbxout.o): Depend on function.h. - * collect2.c (is_in_list): Hide unused function. - * dbxout.c: Include function.h. - (source_label_number, dbxout_source_line, dbxout_source_file, - dbxout_function_end, dbxout_begin_function): Wrap/move inside - macros controlling usage. - * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining. - * output.h (exports_section): Prototype. - - * convex.c (convex_output_function_prologue): Fix format specifier - warning. - (asm_declare_function_name): Fix signed/unsigned warning. - (print_operand): Fix format specifier warning. - * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning. - * dsp16xx-protos.h (uns_comparison_operator, - num_1600_core_shifts): Prototype. - * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h. - (frame_size, frame_pointer_offset): Delete. - (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue): - Make static. Fix format specifier warnings. - * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning. - (EXTRA_SECTION_FUNCTIONS): Prototype const_section. - * dsp16xx.md: Add default case in switches. - * fr30.h (IN_RANGE): Delete. - * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings. - * mcore-protos.h (mcore_output_cmov): Const-ify. - * mcore.c (mcore_output_cmov): Likewise. - * mcore.h (switch_to_section): Make static and prototype. - * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix - unsigned>=0 warnings. - * mn10300.h (REGNO_IN_RANGE_P): Likewise. - * rs6000-protos.h (read_only_data_section, - read_only_private_data_section): Prototype. - * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning. - * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED. - * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning. - -2001-11-03 Kaveh R. Ghazi - - * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with - ATTRIBUTE_UNUSED. - * final.c (final_scan_insn): Add brackets around body of if-stmt. - * gcc.c (convert_filename): Add static prototype. Const-ify. - Wrap variable in macros controlling its use. - * output.h (sdata_section): Add prototype. - - * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype. - (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning. - * c4x.h (INIT_SECTION_FUNCTION): Add prototype. - (ASM_FILE_START): Const-ify. - (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format - specifier warning. - * c4x.md: Don't use the 'U' integer suffix. - * clipper.md (clipper_movstr): Delete declaration. - * d30v-protos.h (d30v_move_2words): Const-ify. - (debug_stack_info): Add prototype. - * d30v.c: Include "integrate.h". - (d30v_function_arg_boundary, d30v_function_arg, - d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid - signed/unsigned warnings. - (d30v_print_operand_memory_reference, d30v_move_2words): - Const-ify. - * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript. - * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype. - * fr30.md: Const-ify. - * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype. - * i370.c (i370_label_scan, mvs_get_label): Make definition static. - (mvs_get_label_page): Hide unused static function. - * i860.c (current_function_original_name): Const-ify. - * i860/sysv3.h (current_function_original_name): Likewise. - * i860/sysv4.h (current_function_original_name): Likewise. - * i960.md: Add default case in switches. Remove unused variable. - * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining. - * m32r.md: Const-ify. - * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify. - * m68hc11.c: Include "reload.h". - (static_chain_reg, print_options, m68hc11_asm_file_start): - Const-ify. - * m68hc11.md: Delete unused variable. Const-ify. Add parens - around & in comparison. - * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining. - * mn10200.c (shift_mode): Remove trailing comma. - * mn10300-protos.h (output_tst): Const-ify. - * mn10300.c (output_tst): Likewise. - * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier - warnings. - * pa-protos.h (output_ascii): Use regular char *, not unsigned. - * pa.c (output_ascii): Likewise. - * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype. - * pdp11.md (expand_unop): Delete declarations. - * pj-protos.h (pj_output_addsi3): Const-ify. - * pj.c (pj_output_push_int, pj_output_load, pj_output_inc, - pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond, - unique_src_operand): Add prototypes. - (pj_output_store_into_lval): Make definition static. - (pj_function_incoming_arg): Don't use unary plus. - (pj_output_addsi3): Const-ify. - * romp.md (get_symref): Delete declarations. - * v850-c.c (mark_current_function_as_interrupt): Don't return - value from void function. - * v850.c: Include "integrate.h". - * v850.h (ASM_OUTPUT_LABELREF): Const-ify. - * vax-protos.h (const_section): Add prototype. - -2001-11-03 Aldy Hernandez - - * machmode.def: Add documentation for the seventh argument in - vector modes. - -2001-11-04 Hans-Peter Nilsson - - * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder - consistently. - <-mno-toplevel-symbols>: Change @code{:} to @samp{:}. - <-melf>: Don't have markup for ELF acronym. - -2001-11-03 Hans-Peter Nilsson - - * config.gcc (mmix-*-*): New target. - * doc/invoke.texi: Document MMIX options. - * doc/contrib.texi: Add note about MMIX port to my entry. - * config/mmix/t-mmix: New file. - * config/mmix/mmix.h: New file. - * config/mmix/mmix-protos.h: New file. - * config/mmix/mmix.c: New file. - * config/mmix/mmix.md: New file. - * config/mmix/crti.asm: New file. - * config/mmix/crtn.asm: New file. - -2001-11-03 Kazu Hirata - - * config/sparc/linux-aout.h: Fix comment formatting. - * config/sparc/linux.h: Likewise. - * config/sparc/linux64.h: Likewise. - * config/sparc/lynx.h: Likewise. - * config/sparc/pbd.h: Likewise. - * config/sparc/sol2-sld-64.h: Likewise. - * config/sparc/sol2.h: Likewise. - * config/sparc/sparc.c: Likewise. - * config/sparc/sparc.h: Likewise. - * config/sparc/sparc.md: Likewise. - * config/sparc/sunos4.h: Likewise. - * config/sparc/vxsim.h: Likewise. - * config/sparc/vxsparc.h: Likewise. - * config/sparc/vxsparc64.h: Likewise. - -Sat Nov 3 10:37:56 2001 Richard Kenner - - * 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. - - * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call - force_const_mem. - - * reload.c (combine_reloads): Don't combine an output reload if there - are other reloads around for part of the output. - - * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a - constant expression. - (set_mem_decl): New function. - * expr.h (set_mem_decl): New declaration. - * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo. - (output_asm_operand_names): Add tab. - * reload1.c (alter_reg): Set decl of MEM from REG_DECL. - - * builtins.c (get_memory_rtx): Properly set MEM alias set and - attributes. - -2001-11-03 Joseph S. Myers - - * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi: - Use "invalid" instead of "illegal". Use @r in comments in - examples. - -2001-11-02 Neil Booth - - * c-decl.c (pushdecl): Move block inside if conditional to remove - possibility of a segfault. Lookup block-level extern - variables in enclosing scopes correctly. - - * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL. - -2001-11-02 Aldy Hernandez - - * expmed.c (store_bit_field): Use simplify_gen_subreg to make - SUBREG so we avoid SUBREGing memory. - - * expmed.c (store_bit_field): Same. - -2001-11-02 DJ Delorie - - * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that - using FP registers for DImode mem-mem moves is acceptable. - -2001-11-02 Aldy Hernandez - - * builtins.c (apply_args_size): Handle vector arguments. - (apply_result_size): Same. - - * machmode.def: Set WIDER mode field for all vector entries. - -2001-11-02 Graham Stott - - * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS. - -2001-11-01 Eric Christopher - - * config.gcc: Revert part of earlier patch. - * config/mips/linux.h: Ditto. - * df.c: Include tm_p.h to avoid warnings. - * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust - #if/#endif. - * config/mips/mips.c: Define mips_abi regardless. - (mips_output_function_prologues): Add long casts for .frame - output. - (override_options): Allow use of ABI_32. - -2001-11-01 Kazu Hirata - - * config/m68hc11/m68hc11.c: Fix comment formatting. - * config/m68hc11/m68hc11.h: Likewise. - * config/m68hc11/m68hc11.md: Likewise. - -2001-11-01 Neil Booth - - * c-typeck.c (default_conversion): Retain the original expression - codes. - * gcc.dg/Wparentheses.c: New tests. - -2001-11-01 David S. Miller - - * doc/install.texi (Specific, sparc-sun-solaris2*): Bring - 64-bit Sparc description more in line with reality. - -2001-11-01 Joseph S. Myers - - * Makefile.in (GCOV_OBJS): Add version.o. - * gcov.c: Include "version.h" and . - (gcov_version_string): Remove. - (print_usage): Take a parameter to determine whether this is a - call from --help or an error message. Give fuller output that - follows the GNU Coding Standards for --help. - (print_version): New function. - (options): New. - (process_args): Use getopt_long. Support long options. Follow - GNU Coding Standards for --help and --version. - * doc/gcov.texi: Document long options. - Addresses part of PR other/704. - -2001-11-01 John David Anglin - - * pa.c (output_move_double): Fix typo in double load. - -2001-11-01 Kazu Hirata - - * config/h8300/h8300.c (h8300_encode_label): Compute a string - before passing it to ggc_alloc_string. - -2001-11-01 Kazu Hirata - - * config/m68k/3b1.h: Fix comment formatting. - * config/m68k/3b1g.h: Likewise. - * config/m68k/a-ux.h: Likewise. - * config/m68k/amix.h: Likewise. - * config/m68k/apollo68.h: Likewise. - * config/m68k/atari.h: Likewise. - * config/m68k/aux-exit.c: Likewise. - * config/m68k/ccur-GAS.h: Likewise. - * config/m68k/crds.h: Likewise. - * config/m68k/dpx2.h: Likewise. - * config/m68k/dpx2g.h: Likewise. - * config/m68k/hp310.h: Likewise. - * config/m68k/hp320.h: Likewise. - * config/m68k/isi.h: Likewise. - * config/m68k/linux.h: Likewise. - * config/m68k/lynx.h: Likewise. - * config/m68k/m68k-psos.h: Likewise. - * config/m68k/m68k.c: Likewise. - * config/m68k/m68k.h: Likewise. - * config/m68k/m68k.md: Likewise. - * config/m68k/m68kelf.h: Likewise. - * config/m68k/m68kv4.h: Likewise. - * config/m68k/mot3300.h: Likewise. - * config/m68k/news.h: Likewise. - * config/m68k/next.h: Likewise. - * config/m68k/pbb.h: Likewise. - * config/m68k/plexus.h: Likewise. - * config/m68k/sgs.h: Likewise. - * config/m68k/sun3.h: Likewise. - * config/m68k/tower.h: Likewise. - * config/m68k/vxm68k.h: Likewise. - -2001-10-31 DJ Delorie - - * config/mips/mips.h (mips_cache_flush_func): Prototype. - (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func. - (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero. - * config/mips/mips.c (mips_cache_flush_func): New. - * doc/invoke.texi: Document the new options. - -2001-10-31 Hans-Peter Nilsson - - * config.gcc (cris-*-linux*, tm_file): Rearrange order. - * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine. - - * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting. - - * config/cris/cris.c: Include output.h after tree.h but before - target.h. - -2001-10-31 Zack Weinberg - - * Makefile.in (INTL_TARGETS, POSUB): Delete all references. - (INTL_SUBDIRS): Just intl. - (.SUFFIXES): Add .gmo .po .pox. - (native): Also depend on build-@POSUB@. - (intl.all, intl.install): Depend on config.h and things it includes. - (po-generated): New target; depend on c-parse.c and tradcif.c. - (install-normal): Also depend on install-@POSUB@. - (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables. - (build-, install-, build-po, update-po, install-po, - .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules. - - * aclocal.m4: Prefix each entry in CATALOGS with "po/" - * configure.in: Don't munge XGETTEXT. Don't generate - po/Makefile.in. - * configure: Regenerate. - - * exgettext: Delete. - * config/m68k/m68k.h: Add doc strings for -msky and -mnosky. - * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated. - -2001-10-31 Kazu Hirata - - * config/h8300/h8300.md (two anonymous patterns): New. - -2001-10-31 Aldy Hernandez - - * tree.h (tree_index): Add support for V16QI and V8HI. - (V8HI_type_node): New. - (V16QI_type_node): New. - - * tree.c (build_common_tree_nodes_2): Same. - - * c-common.c (type_for_mode): Same. - -2001-10-31 Kazu Hirata - - * config/i386/att.h: Fix comment formatting. - * config/i386/beos-elf.h: Likewise. - * config/i386/bsd.h: Likewise. - * config/i386/bsd386.h: Likewise. - * config/i386/crtdll.h: Likewise. - * config/i386/cygwin.asm: Likewise. - * config/i386/cygwin.h: Likewise. - * config/i386/djgpp.h: Likewise. - * config/i386/freebsd-aout.h: Likewise. - * config/i386/freebsd.h: Likewise. - * config/i386/gas.h: Likewise. - * config/i386/i386-interix.h: Likewise. - * config/i386/i386-protos.h: Likewise. - * config/i386/i386.c: Likewise. - * config/i386/i386.h: Likewise. - * config/i386/i386.md: Likewise. - * config/i386/i386elf.h: Likewise. - * config/i386/interix.c: Likewise. - * config/i386/isc.h: Likewise. - * config/i386/isccoff.h: Likewise. - * config/i386/iscdbx.h: Likewise. - * config/i386/linux.h: Likewise. - * config/i386/lynx.h: Likewise. - * config/i386/mingw32.h: Likewise. - * config/i386/netbsd-elf.h: Likewise. - * config/i386/next.h: Likewise. - * config/i386/osf1elf.h: Likewise. - * config/i386/osfrose.h: Likewise. - * config/i386/sco5.h: Likewise. - * config/i386/seq-gas.h: Likewise. - * config/i386/seq-sysv3.h: Likewise. - * config/i386/sequent.h: Likewise. - * config/i386/sol2.h: Likewise. - * config/i386/sun386.h: Likewise. - * config/i386/uwin.asm: Likewise. - * config/i386/uwin.h: Likewise. - * config/i386/vxi386.h: Likewise. - * config/i386/win32.h: Likewise. - * config/i386/winnt.c: Likewise. - * config/i386/xm-cygwin.h: Likewise. - * config/i386/xm-mingw32.h: Likewise. - -2001-10-31 Kazu Hirata - - * builtins.def: Fix comment typos. - * config/alpha.c: Likewise. - * config/arm/arm.c: Likewise. - * config/avr/avr.h: Likewise. - * config/d30v/d30v.c: Likewise. - * config/d30v/d30v.h: Likewise. - * config/d30v/d30v.md: Likewise. - * config/dsp16xx/dsp16xx.c: Likewise. - * config/fr30/fr30.c: Likewise. - * config/fr30/fr30.md: Likewise. - * config/i386/i386.c: Likewise. - * config/i860/i860.c: Likewise. - * config/i960/i960.c: Likewise. - * config/ia64/ia64.c: Likewise. - * config/mips/mips.c: Likewise. - * config/pa/pa.c: Likewise. - * config/rs6000/rs6000.c: Likewise. - * config/s390/s390.c: Likewise. - * config/sparc/sparc.c: Likewise. - -2001-10-30 Kazu Hirata - - * config/mips/elf.h: Fix comment formatting. - * config/mips/elf64.h: Likewise. - * config/mips/iris5.h: Likewise. - * config/mips/iris5gas.h: Likewise. - * config/mips/iris6.h: Likewise. - * config/mips/isa3264.h: Likewise. - * config/mips/linux.h: Likewise. - * config/mips/mips.c: Likewise. - * config/mips/mips.h: Likewise. - * config/mips/mips.md: Likewise. - * config/mips/mips16.S: Likewise. - * config/mips/netbsd.h: Likewise. - * config/mips/osfrose.h: Likewise. - * config/mips/r3900.h: Likewise. - * config/mips/sni-svr4.h: Likewise. - * config/mips/svr4-t.h: Likewise. - * config/mips/ultrix.h: Likewise. - -2001-10-30 Daniel Berlin - - * bitmap.c (bitmap_element_free): Don't forget to update head->indx - when we update head->current. - -2001-10-30 Neil Booth - - * tree.c (id_string_size): Remove. - (dump_tree_statistics): Update. - * toplev.c (compile_file): If dumping stats, dump tree stats too. - -Tue Oct 30 19:00:43 CET 2001 Jan Hubicka - - * sched-rgn.c (schedule_insns): Fix comment. - -2001-10-30 Zack Weinberg - - * configure.in: Correct previous change: don't assume that - gas's version number _isn't_ the last thing on the line, or - isn't the only number on the line, either. - * configure: Regenerate. - -2001-10-30 Kazu Hirata - - * cfgcleanup.c: Fix a comment typo. - -2001-10-30 Kazu Hirata - - * alias.c: Fix comment formatting. - * recog.c: Likewise. - * config/cris/cris.c: Likewise. - * config/cris/cris.h: Likewise. - * config/i960/i960.c: Likewise. - * config/i960/i960.h: Likewise. - -2001-10-30 Kazu Hirata - - * config/arm/arm.c: Fix a comment typo. - * config/arm/arm.h: Likewise. - * config/ia64/ia64.c: Likewise. - -2001-10-30 Jakub Jelinek - - * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or - REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any). - * rtl.h (set_unique_reg_note): Change return value. - * gcse.c (try_replace_reg): Use set_unique_reg_note. - * cse.c (cse_insn): Likewise. - * expr.c (emit_move_insn): Likewise. - * explow.c (force_reg): Likewise. - * local-alloc (update_equiv_regs): Likewise. - * loop.c (move_moveables, load_mems): Likewise. - * reload (find_reloads): Likewise. - -2001-10-30 Paolo Bonzini - - Localization fixes. - * c-decl.c (parmlist_tags_warning, start_struct, - check_for_loop_decls): Separate messages for struct, union and - enum cases to allow for languages in which they have different - genders. - * c-format.c (scanf_flag_specs): Separate short and long name of - the assignment suppression feature. - (check_format_types): Localize "pointer" and "different types" - strings. - * c-lex.c (lex_number): Localize "an unsigned long int" and - related strings. - (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on - warning message. - * c-typeck.c (build_unary_up): Separate messages for increment and - decrement cases to allow for languages in which they use different - articles. Localize the strings "increment" and "decrement" in one - case. - -Tue Oct 30 11:08:11 CET 2001 Jan Hubicka - - * lcm.c (optimize_mode_switching): Do not rebuild liveness information - when no changes has been made. - - * gcse.c (reg_set_bitmap): Turn into reg_set. - (modify_mem_list_set, canon_modify_mem_list_set) - (clear_modify_mem_tables, free_modify_mem_tables): New. - (gcse_main); Use free_modify_mem_tables. - (free_gcse_mem): Likewise; free the bitmaps. - (alloc_gcse_main): Initialize the bitmaps. - (canon_list_insert): Set canon_modify_mem_list_set. - (record_last_mem_set_info): Likewise; set modify_mem_list_set. - (compute_hash_table): Use clear_modify_mem_tables. - (reset_opr_set_tables): Likewise. - (oprs_not_set_p): reg_set_bitmap is regset. - (mark_set, mark_clobber): Likewise. - - * df.h (DF_EQUIV_NOTES): New constant. - (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes - when asked for. - - * sched-rgn.c (CHECK_DEAD_NOTES): New constant. - (init_regions, schedule_insns): Conditionalize the checking - code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info. - -Tue Oct 30 11:02:31 CET 2001 Jan Hubicka - - * i386.md (movti_rex64 splitter): Fix condition. - -2001-10-29 Zack Weinberg - - * configure.in: Do not assume that gas's version number is the - last thing on the first line of as --version output. - * configure: Regenerate. - - * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to - MT_WARNING, MT_ERROR, MT_FATAL. - (main): Call gcc_init_libintl. - (v_message): Call gettext on msgid and "warning: " - * tradcif.y: Include intl.h. - (yyerror): Make parameter definition consistent with - prototype. Call gettext on msgid argument. - -2001-10-29 Kaveh R. Ghazi - - * combine.c (num_sign_bit_copies): Avoid signed/unsigned - warnings. - - * sparc/sol2.h: Include when L_trampoline is defined. - -Mon Oct 29 19:22:07 2001 Richard Kenner - - * reload1.c (eliminate_regs): Test for reg_renumber being allocated - before referencing it. - -2001-10-26 DJ Delorie - - * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to - override -G, and force -G0. - -2001-10-29 Joseph S. Myers - - * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10, - FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c, - c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c, - timevar.h, tree.h, varasm.c: Fix spelling errors and typos. - - * loop.h (struct induction): Rename ext_dependant to - ext_dependent. - * loop.c: Change all uses. - (check_ext_dependant_givs): Rename to check_ext_dependent_givs. - All callers changed. - * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter. - -2001-10-29 Joseph S. Myers - - * c-parse.in (expr_no_commas, primary), c-typeck.c - (parser_build_binary_op): Use IS_EXPR_CODE_CLASS. - -2001-10-29 David Edelsohn - - Undo assemble_name change in earlier patch. - -Mon Oct 29 21:11:40 2001 Nicola Pero - - * objc/objc-act.c (finish_message_expr): For the GNU runtime: when - determining the type of the receiver, do not check that TREE_CODE - of receiver is CALL_EXPR before calling receiver_is_class_object(). - (receiver_is_class_object): For the GNU runtime: recognize - the case that the receiver is self in a class method context. - Check that TREE_CODE of receiver is CALL_EXPR when checking that - the receiver is a call to objc_get_class. - -2001-10-29 John David Anglin - - * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero. - -Mon Oct 29 07:23:33 2001 Richard Kenner - - * Makefile.in (OBJS): Put all files in alphabetical order. - - * dwarf2out.c (add_const_value_attribute): Fix error in last - change. - -Mon Oct 29 12:43:06 CET 2001 Jan Hubicka - - * basic-block.h (purge_all_dead_edges): Add update_life_p argument. - * cfgcleanup.c (merge_blocks): Update the life flag after merging; - fix warning. - * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness. - (life_analysis): call purge_all_dead_edges after deleting noops. - (delete_noop_move): Do not purge CFG. - * toplev.c (rest_of_compilation): Update purge_all_dead_edges call. - -2001-10-28 David Edelsohn - - * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name. - * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete. - (ASM_GLOBALIZE_LABEL): Use assemble_name. - (ASM_OUTPUT_COMMON): Likewise. - * config/rs6000/rs6000.c (print_operand): Use assemble_name. - (rs6000_output_function_epilogue): Likewise. - (output_mi_thunk): Fix typo. - (rs6000_output_symbol_ref): Use assemble_name. - (output_toc): Likewise. - * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete. - * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete; - assemble_name calls STRIP_NAME_ENCODING. - (ASM_OUTPUT_LABEL): Use assemble_name. - (ASM_GLOBALIZE_LABEL): Likewise. - (ASM_DECLARE_FUNCTION_NAME): Likewise. - (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name. - (ASM_OUTPUT_LOCAL): Likewise. - -Sun Oct 28 15:45:16 2001 Richard Kenner - - * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case. - (expand_builtin_apply, expand_builtin_return): Likewise. - (expand_builtin_va_arg, expand_builtin_va_copy): Likewise. - -2001-10-28 Joseph S. Myers - - * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4, - ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11, - c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc, - configure, configure.in, except.c, except.h, flow.c, function.c, - gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def, - predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c, - sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c, - unroll.c: Fix spelling errors. - - * doc/extend.texi, doc/invoke.texi: Fix spelling. - - * doc/gcc.texi: Document use of "dependent" and American spelling. - -Sun Oct 28 17:05:36 CET 2001 Jan Hubicka - - * expr.c (emit_group_load): Support CONCATs by storing them to memory - and reloading. - -Sun Oct 28 09:59:54 2001 Richard Kenner - - * expr.c (store_constructor_field): Only call adjust_address on MEM. - -Sun Oct 28 16:48:09 CET 2001 Jan Hubicka - - * genrecog.c (write_switch): Output if before switch for - DT_elt_zero_wide_safe. - -2001-10-28 Kaveh R. Ghazi - - * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h - * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma. - (FUNCTION_PROFILER): Const-ify. - * halfpic.c: Include "expr.h", "output.h" and "halfpic.h". - (eliminate_constant_term, assemble_name, output_addr_const): - Remove declarations. - (ptr_half_pic_address_p, half_pic_hash): Prototype. - (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare, - half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify. - * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype. - (half_pic_declare, half_pic_external): Const-ify. - * toplev.c: Include "halfpic.h". - -2001-10-28 Joseph S. Myers - - * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h, - config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe, - config/i386/i386.c, config/i386/i386-interix.h, - config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h, - config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c, - config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md, - config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c, - config/sparc/sparc.c, config/m68hc11/m68hc11.c, - config/cris/cris.c, config/cris/cris.h, config/s390/s390.c, - config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix - spelling errors. - - * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4, - ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS, - c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c, - collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h, - haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c, - regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c, - system.h, toplev.c: Fix spelling errors. - -Sat Oct 27 17:32:04 2001 Richard Kenner - - * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET. - - * dwarf2out.c (reg_number): Abort if pseudo. - (reg_loc_descriptor): Return 0 if pseudo. - (is_based_loc): Return 0 if pseudo. - (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from - recursive calls. - (concat_loc_descriptor): Return 0 if either part's descriptor is 0. - (loc_descriptor): Return 0 if can't find location and handle 0 - return from recursive calls. - (loc_descriptor_from_tree): Likewise. - Fix handling of indirect. - Also return 0 for PLACEHOLDER_EXPR. - Clean up COMPONENT_REF cases. - (add_AT_location_descriptor): Simplify, but handle 0 return from - loc_descriptor. - (add_const_value_attribute): Avoid shift count warning. - (add_bound_info): Remove test for PLACEHOLDER_EXPR here. - Set comp_unit_die as context if not in function. - - * config/mips/mips-protos.h: Break up long lines. - Remove needless #ifdef/#endif blocks. - Don't declare functions declared in file made by genpreds or recog.h. - * config/mips/mips.c (mips_output_function_prologue): TSIZE - is now HOST_WIDE_INT; delete unneeded casts. - * config/mips/mips.h: Don't use #elif. - - * expr.c (stor_constructor_field): Always call adjust_address. - Copy TARGET before changing its alias set. - (store_field): Likewise, for TO_RTX. - (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find - replacement. - (safe_from_p, case ADDR_EXPR): Properly check for conflict. - (find_placeholder): Return 0 if can't find object. - (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder - returns 0. - -Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka - - * ifcvt.c (if_convert): Call clear_aux_for_blocks. - -Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka - - * cfgcleanup.c (merge_blocks_move_predecessor_nojumps, - merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE. - (merge_blocks): Properly udpate life after making edge nonfallthru. - * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end. - -2001-10-26 Kazu Hirata - - * config/h8300/h8300.c (get_shift_alg): Remove redundant code. - -2001-10-26 Neil Booth - - * c-typeck.c (convert_arguments): When comparing for enumeral - type equality, use TYPE_MAIN_VARIANT. - * gcc.dg/Wconversion.c: New tests. - -2001-10-26 Kazu Hirata - - * s390/s390.c: Fix comment typos. - * s390/s390.h: Likewise. - * s390/s390.md: Likewise. - -2001-10-26 Alexandre Oliva - - * tree-inline.c (WALK_SUBTREE_TAIL): New macro. - (walk_tree): Use it for tail calls where appropriate. - -2001-10-26 Alexandre Oliva - - * cse.c (check_for_label_ref): Don't require REG_LABEL notes for - non-local label_refs. - -2001-10-26 Kazu Hirata - - * config/h8300/h8300.md (4 anonymous patterns): New. - -2001-10-26 Kazu Hirata - - * config/h8300/h8300.c (get_shift_alg): Clean up. Return the - algorithm through the shift_info structure. - (emit_a_shift): Update the use of get_shift_alg. - -2001-10-27 Daniel Berlin - - * sched-rgn.c: Remove bitset typedef. - Change bitset to sbitmap in prototypes / variable types. - Remove bbset_size. - Remove edgeset_bits. - Remove edgeset_size. - s/BITSET_ADD/SET_BIT/g - s/BITSET_INVERT/sbitmap_ones/g - s/BITSET_INTER/sbitmap_a_and_b/g - s/BITSET_UNION/sbitmap_a_or_b/g - s/BITSET_DIFFER/sbitmap_difference/g - s/bitset_member/TEST_BIT/g - (BITSET_*): Removed. - (bitset_member): Removed. - (extract_bitlst): Rewrite, now that we have sbitmaps, we can use - EXECUTE_IF_SET_IN_SBITMAP. - (split_edges): Rewrite, use sbitmap functions instead of bitset - operations. - (schedule_region): Allocate/free sbitmaps, rather than bitsets. - -2001-10-26 Andreas Schwab - - * reload1.c (emit_input_reload_insns): Fix parens in last - (undocumented) change that was supposed to change only whitespace. - -Fri Oct 26 07:18:08 2001 Richard Kenner - - * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning. - - * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for - ASM_OPERANDS. - -2001-10-26 Andreas Jaeger - - * flow.c (clear_log_links): Remove unused variable. - * cfgcleanup.c (cleanup_cfg): Likewise. - -2001-10-26 Alexandre Oliva - - * tree-inline.c (remap_decl): Don't copy size and size_unit here. - (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node. - -2001-10-26 Richard Henderson - - * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG; - rename PV_REG to R27_REG. - (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update. - (REG_CLASS_FROM_LETTER): Update. - (PREFERRED_RELOAD_CLASS): Don't widen a reg class. - * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27. - (udivsi3, modsi3, umodsi3): Likewise. - (divdi3, udivdi3, moddi3, umoddi3): Likewise. - -2001-10-26 Richard Henderson - - * cfg.c (clear_aux_for_blocks): Split out of ... - (free_aux_for_blocks): here. - (clear_aux_for_edges): Split from ... - (free_aux_for_edges): here. - * basic-block.h: Declare them. - * lcm.c (compute_antinout_edge): Use them. - (compute_laterin, compute_available, compute_nearerout): Likewise. - (optimize_mode_switching): Likewise. - -2001-10-26 Richard Henderson - - * Makefile.in (unstage*): Remove as, ld, collect-ld before - moving everything back to the main build directory. - -2001-10-26 Christopher Faylor - - * config/i386/cygwin.h: Search target specific include directory, if - appropriate. - -2001-10-25 Kaveh R. Ghazi - - * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside - of macro guards. Fix #endif comment. - - * output.h (default_exception_section, default_eh_frame_section): - Move prototypes outside of macro guard. - - * crtstuff.c: Fix #endif comment. - -Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com) - - * doc/md.texi (movMM): Clarify semantics of storing into a - non-paradoxical SUBREG. - -2001-10-25 Zack Weinberg - - * langhooks.c (lang_hook_default_clear_binding_stack): New. - (lang_hook_default_get_alias_set): Move next to other alias - hooks. - * langhooks.h: Prototype lang_hook_default_clear_binding_stack. - (LANG_HOOKS_CLEAR_BINDING_STACK): New macro. - (LANG_HOOKS_INITIALIZER): Add it. - * toplev.h (struct lang_hooks): Add clear_binding_stack. - * toplev.c (compile_file): Call lang_hooks.clear_binding_stack - instead of a loop calling poplevel. - -2001-10-25 Nick Clifton - - * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace - occurrences of #elif with #if...#endif. - -2001-10-25 Kaveh R. Ghazi - - * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning. - -Thu Oct 25 08:46:06 2001 Richard Kenner - - * alias.c (can_address_p): No longer static. - * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed. - Return 0 if all parameters are default values. - (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P. - (adjust_address_1): Try harder to compute a size. - * expr.c (expand_assignment, store_constructor): If can't address, - set MEM_KEEP_ALIAS_SET_P. - (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P. - (store_field): Likewise. - (store_constructor): Simplify call to store_constructor_field. - * expr.h (can_address_p): New declaration. - * gensupport.c (gen_rtx_CONST_INT): New function. - * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro. - (MEM_SIZE): Get size from mode, if not set and not BLKmode. - (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P. - - * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst. - -2001-10-24 Christopher Faylor - - * config/i386/cygwin.h: Use proper path for mingw crt files when - -mno-cygwin. - -Wed Oct 24 18:43:42 2001 Richard Kenner - - * dwarf2out.c (file_info_cmp): Always return consistent results. - -2001-10-24 Roger Sayle - - * stmt.c (expand_end_case): Index jumptables from zero for - suitably small values of minval. - -2001-10-24 Jakub Jelinek - - * stor-layout.c (place_union_field): If any field was aligned with - attribute aligned, set record type's TYPE_USER_ALIGN. - (place_field): Likewise. - (finalize_record_size): Don't clear TYPE_USER_ALIGN. - (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN. - -2001-10-24 Zack Weinberg - - * c-common.h (struct c_common_identifier): Remove rid_code field. - (C_RID_CODE): Use ->node.rid_code instead of ->rid_code. - - * c-typeck.c (constructor_designated): New local flag. - (struct constructor_stack): Add "designated" field to match. - (start_init): Clear it. - (really_start_incremental_init, push_init_level): Push and - clear it. - (pop_init_level): Pop it. - (set_designator): Set it. - - (pop_init_level): Suppress "missing initializer" warnings if - constructor_designated is true. - (process_init_element): Suppress warning about union - initialization under traditional C, if constructor_designated - is true. - -Wed Oct 24 15:35:38 2001 Richard Kenner - - * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last - change. - -Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com) - - * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition. - -2001-10-24 Dan Nicolaescu - - * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if - the node was already a set to a constant. - -Wed Oct 24 12:41:19 2001 Richard Kenner - - * emit-rtl.c (set_mem_attributes): Fix typo in last change. - * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL. - -2001-10-24 Kaveh R. Ghazi - - * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings. - (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning. - (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings. - * s390.c (s390_final_chunkify): Don't use string concatenation. - (s390_function_prologue, s390_function_epilogue): Const-ify. - * s390.h (FUNCTION_PROFILER): Remove unused variable. - -2001-10-24 Jakub Jelinek - - * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function - prototypes. - -2001-10-23 Stan Shebs - - * config/rs6000/x-darwin: Use -no-cpp-precomp instead of - -traditional-cpp in first-stage compilation. - -Tue Oct 23 21:45:40 2001 Richard Kenner - - * gensupport.c (target_flags): Add. - -Tue Oct 23 13:05:53 2001 Richard Kenner - - * darwin-protos.h (constructor_section, destructor_section, - mod_init_section, mod_term_section): Prototype. - * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs): - Const-ify. - * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME): - Likewise. - (SECTION_FUNCTION): Prototype `FUNCTION'. Delete - objc_section_init declaration. - (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init. - (objc_section_init, try_section_alias): Make static. - (alias_section): Make static and hide unused function. - (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning. - -Tue Oct 23 13:05:53 2001 Richard Kenner - - * alias.c (can_address_p): Compnonents are not addressable if - the containing type has alias set 0. - (get_alias_set): Rework to use STRIP_NOPS. - Only call front-end routine on object, type, or object with - NOPs stripped, not inner values. - Use language hook to call front-end routine. - * builtins.c (get_memory_rtx): Always call set_mem_attributes. - (expand_builtin_apply): Call set_mem_align on MEMs we make. - Don't pass alignment to emit_block_move. - (expand_builtin_memcpy, expand_builtin_va_copy): Likewise. - (expand_builtin_memset): Likewise, but for clear_storage. - * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set - and remove C++ specific parts. - * c-common.h (c_common_get_alias_set): Add declaration. - * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro. - * calls.c (emit_call_1): Fix typo in sibcall_pop case. - (save_fixed_argument_area): Call set_mem_align. - Remove alignment in call to emit_block_move. - (emit_library_call_value_1, store_one_arg): Likewise. - (target_for_arg): Remove; disabled long ago. - * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs - once and similar cleanups. - (offset_address): Use proper introductory comment. - * expr.c (emit_block_move): Use alignment from that of MEM args, not - from explicit operand; all callers changed. - (clear_storage): Likewise. - (expand_assignment): Don't call set_mem_alias_set on to_rtx. - (store_field): Remove kludge on alias set used for to_rtx. - (highest_pow2_factor, case *_DIV_EXPR): Never return 0. - (expand_expr_unaligned): Call set_mem_attributes instead of - set_mem_alias_set. - * expr.h (emit_block_move, clear_storage): Remove ALIGN argument. - * function.c (assign_stack_temp_for_type): Set MEM alignment. - (expand_function_end): Track MEM attributes of trampolines. - * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM. - * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory - attributes from original. - * langhooks.c (lang_hook_default_get_alias_set): New function. - (hook_get_alias_set_0): New function. - * langhooks.h (hook_get_alias_set_0): New declaration. - (lang_hook_default_get_alias_set): Likewise. - (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer. - * reload1.c (alter_reg): Use adjust_address_nv. - * rtl.c (get_mode_alignment): Moved to here. - * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and - change default if unknown from 1 to BITS_PER_UNIT. - * stor-layout.c (get_mode_alignment): Remove from here. - * toplev.h (struct lang_hoks): Add get_alias_set field. - * tree.h (lang_get_alias_set): Delete declaration. - * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment. - * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise. - (ix86_va_arg): Likewise. - * config/i960/i960.c (i960_setup_incoming_varargs): Likewise. - * config/pa/pa.c (hppa_builtin_saveregs): Likewise. - * config/sparc/sparc.c (sparc_va_arg): Likewise. - * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise. - (expand_block_move_mem): Remove dead code. - -2001-10-22 Neil Booth - - * c-common.c (warn_div_by_zero): New. - * c-common.h (warn_div_by_zero): New. - * c-decl.c (c_decode_option): Take it on the command line. - * c-typeck.c (build_binary_op): Warn about division by zero. - * doc/invoke.texi: Document the new command line option, fix - documentation of -Wmultichar. - * testsuite/gcc.dg/divbyzero.c: New tests. - * testsuite/gcc.dg/noncompile/20010524-1.c: Update. - -Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka - - * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op. - - * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE - to avoid update_life_info call. - * basic-block.h (CLEANUP_UPATE_LIFE): Define. - * cfgcleanup.c (bb_flags): New enum. - (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros. - (notice_new_block, update_forwarder_flag): New functions. - (try_simplify_condjump): Use FORWARDER_BLOCK_P. - (try_forward_edges): Likewise; update flags. - (merge_blocks): Likewise. - (outgoing_edges_match): Likewise. - (try_crossjump_to_edge): Likewise. - (try_optimize_cfg): Likewise; initialize and clear the flags; - recompute life info if needed. - (cleanup_cfg): No need to clear aux pointers. - -2001-10-23 Alexandre Oliva - - * config/i386/i386.c (override_options): Default to minimum - stack alignment when optimizing for code size. - * doc/invoke.texi (-mpreferred-stack-boundary): Document the - change. - - * config/i386/i386.c (override_options): Set upper limit of - -mpreferred-stack-boundary to 12. - -2001-10-22 Zack Weinberg - - * recog.c (peephole2_optimize): Add default case to switch. - -2001-10-23 Joseph S. Myers - - * doc/gcc.texi (Sending Patches): Remove. - -2001-10-22 Hans-Peter Nilsson - - * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin - fields when comparing. - -2001-10-22 Kaveh R. Ghazi - - * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses. - * arm.c (HOST_INT, HOST_UINT): Likewise. - -2001-10-22 Stan Shebs - - * config/darwin-protos.h (darwin_exception_section): Declare. - (darwin_eh_frame_section): Declare. - -Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka - - * i386.md (movti_rex64): Fix mode. - -2001-10-22 Stan Shebs - - * target.h (struct gcc_target): Add asm_out.exception_section, - asm_out.eh_frame_section. - * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro. - (TARGET_ASM_EH_FRAME_SECTION): New. - (TARGET_INITIALIZER): Update. - * output.h (default_exception_section): Declare. - (default_eh_frame_section): Declare. - * dwarf2out.c: Include target.h. - (output_call_frame_info): Call target hook for eh frames. - (default_eh_frame_section): New function. - * except.c: Include target.h. - (output_function_exception_table): Call target hook for exception - section. - * varasm.c (default_exception_section): Rename from - exception_section, remove EXCEPTION_SECTION macro. - - * config/darwin.h (darwin_eh_frame_section): New function. - (EXCEPTION_SECTION): Remove. - (TARGET_ASM_EXCEPTION_SECTION): Define. - * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove. - (nextstep_exception_section): New function. - (nextstep_eh_frame_section): New function. - (TARGET_ASM_EXCEPTION_SECTION): Define. - (TARGET_ASM_EH_FRAME_SECTION): Define. - - * config/pa/som.h (EXCEPTION_SECTION): Remove. - (TARGET_ASM_EXCEPTION_SECTION): Define. - * config/rs6000/sysv4.h, config/rs6000/xcoff.h - (EXCEPTION_SECTION): Remove. - (TARGET_ASM_EXCEPTION_SECTION): Define. - * config/stormy16/stormy16.h: Remove comments referencing - EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP. - - * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and - TARGET_ASM_EH_FRAME_SECTION. - -2001-10-22 Nick Clifton - - * config/mips/mips.md (mul_acc_si): Fix precedence of conditional - terms. - - * c-format.c: Fix spelling typo in comment. - - * sched-int.h: Fix typo in GCC preamble. - -2001-10-21 Craig Rodrigues - - PR debug/4252 - * doc/invoke.texi: Remove references to -fdump-translation-unit. - -2001-10-22 Richard Henderson - - * config/i386/i386.c (ix86_expand_clear): New. - * config/i386/i386-protos.h: Declare it. - * config/i386/i386.md (setcc peep2s): Use it. - (movsi_xor): Unexport. - -2001-10-22 Richard Henderson - - * flow.c (clear_log_links): Use free_INSN_LIST_list, not - free_EXPR_LIST_list for LOG_LINKS. - -2001-10-21 Robert Lipe - - * config/i386/i386.c (sco_asm_named_section): Delete. - (sco_asm_out_constructor): Delete. - * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h. - (ASM_OUTPUT_DOUBLE_INT): Likewise. - (TARGET_ASM_CONSTRUCTOR): Delete. Use default. - (TARGET_ASM_NAMED_SECTION): Use default for ELF. - (EXCEPTION_SECTION): Delete EH scn renaming hack. - -2001-10-21 Kaveh R. Ghazi - - * c-format.c (maybe_read_dollar_number): Use safe-ctype macros - and/or fold extra calls into fewer ones. - * collect2.c (dump_file): Likewise. - * cppexp.c (parse_number): Likewise. - * cpplex.c (_cpp_lex_direct): Likewise. - * final.c (output_asm_insn, asm_fprintf): Likewise. - * fix-header.c (inf_scan_ident, main): Likewise. - * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix): - Likewise. - * fold-const.c (real_hex_to_f): Likewise. - * gen-protos.c (parse_fn_proto): Likewise. - * genattrtab.c (check_attr_test, check_attr_value): Likewise. - * genrecog.c (change_state, write_action): Likewise. - * gensupport.c (shift_output_template): Likewise. - * local-alloc.c (requires_inout): Likewise. - * mips-tfile.c (IS_ASM_IDENT): Likewise. - * protoize.c (is_id_char, main): Likewise. - * real.c (asctoeg): Likewise. - * recog.c (asm_operand_ok): Likewise. - * reload.c (find_reloads): Likewise. - * scan.c (scan_identget_token): Likewise. - * sched-vis.c (print_value): Likewise. - * stringpool.c (ggc_alloc_string): Likewise. - * toplev.c (read_integral_parameter, decode_g_option): Likewise. - * tradcif.y (parse_number, yylex, parse_escape): Likewise. - * tradcpp.c (rescan): Likewise. - * tree.c (clean_symbol_name): Likewise. - * varasm.c (decode_reg_name): Likewise. - - * alpha.h (ASM_OUTPUT_ASCII): Likewise. - * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise. - * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise. - * m88k.c (output_ascii): Likewise. - * m88k.h (OVERRIDE_OPTIONS): Likewise. - * mcore.h (REG_CLASS_FROM_LETTER): Likewise. - * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise. - * sh.h (REG_CLASS_FROM_LETTER): Likewise. - -2001-10-21 Neil Booth - - * langhooks.c (lang_hook_default_do_nothing, - lang_hook_default_decode_option): New defaults. - * langhooks.h: Make hooks unconditional and non-NULL. - * toplev.c (compile_file, toplev_main): Update. - * toplev.h: Update comments. - * objc/objc-act.c (lang_hooks): Update to new paradigm. - -2001-10-21 Kaveh R. Ghazi - - * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE. - - * system.h (IN_RANGE): New macro. - -2001-10-21 Zack Weinberg - - * aclocal.m4 (AM_WITH_NLS): Also create and substitute - INTLDEPS variable, which does not include $LIBICONV. - * Makefile.in: Use INTLDEPS in LIBDEPS. - * configure: Regenerate. - -2001-10-21 Neil Booth - - * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char. - * cpplex.c (lex_percent, lex_dot): Remove. - (get_effective_char, skip_block_comment, skip_line_comment, - parse_identifier_slow, parse_number, parse_string, save_comment, - _cpp_lex_direct): Update to do lookback freely. - (IF_NEXT_IS, BACKUP): New macros. - * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char. - * cppmacro.c (paste_tokens): Update. - -2001-10-20 Nick Clifton - - * doc/invoke.texi (i386 and x86-64 Options): Fix typo. - -2001-10-20 Hans-Peter Nilsson - - * reload1.c (reload): Check CONSTANT_P before calling - LEGITIMATE_PIC_OPERAND_P. - * config/cris/cris.c (cris_legitimate_pic_operand): Revert - workaround of 2001-10-13. - -Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka - - * i386.c (split_di): Handle splitting of DFmode. - -Sat Oct 20 07:27:14 2001 Richard Kenner - - * emit-rtl.c (set_mem_attributes): Alignment is in bits. - (adjust_address_1, offset_address): Likewise. - - * final.c (output_asm_operand_names): New fcn, from output_asm_insn. - (output_asm_insn): Call it for each line output. - Don't record an operand more than once. - - * toplev.h (struct lang_hooks): HONOR_READONLY now bool. - * main.c: Include config.h and system.h, but not ansidecl.h. - * Makefile.in (main.o): Update accordingly. - -Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka - - * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64. - -Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka - - * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter. - * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies): - Break out from ... - (find_sub_basic_blocks): ... here; - (find_many_sub_basic_blocks): New. - * recog.c (split_all_insns): Update find_sub_basic_blocks call. - - * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4. - - * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.: - - * i386.c (split_di, split_ti): Revamp to use simplify_subreg. - - * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new. - * flow.c (update_life_info): Measure time. - * c-decl.c: Include timevar.h - (c_expand_body): Measure time. - * toplev.c (rest_of_compilation): Measure time of mode switching - separately. - * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency. - - * toplev.c (flag_asynchronous_unwind_tables): New global variable. - (lang_independent_options): Add asynchronous-unwind-tables - (toplev_main): flag_asynchronous_unwind_tables implies - flag_unwind_tables. - * flags.h (flag_asynchronous_unwind_tables): Declare. - * dwarf2out.c (dwarf2out_stack_adjust): Take into account - flag_asynchronous_unwind_tables. - (output_call_frame_info): Likewise. - * invoke.texi (-fasynchronous-unwind-tables): Document. - * i386.c (optimization_options): Enable - flag_asynchronous_unwind_tables. - - * i386.c (ix86_expand_setcc): Always expect target to be QImode. - * i386.md (s* expanders): Destination is QImode. - - * toplev.c (rest_of_compilation): Do not call clear_log_links. - * rtl.h (clear_log_links): Kill. - * flow.c (clear_log_links): Make static; accept blocks parameter; - do no clear life info. - (update_life_info): Call clear_log_links. - - * cfganal.c (forwarder_block_p): Avoid active_insn_p calls. - -2001-10-20 Neil Booth - - * cpplex.c (handle_newline, skip_escaped_newlines, - get_effective_char, skip_block_comment, skip_line_comment, - parse_identifier_slow, parse_number, parse_string, - _cpp_lex_direct): Update to do more stepping back. - (trigraph_ok): Similarly. Rename trigraph_p. - (SAVE_STATE, RESTORE_STATE): Remove. - (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check. - - * cpplib.c (destringize): Rename destringize_and_run, and - call run_directive directly. - (_cpp_do__Pragma): Simplify. - -2001-10-19 Kaveh R. Ghazi - - * pe.c (arm_pe_unique_section): Const-ify. - * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining. - (switch_to_section): Add static prototype. - - * output.h (drectve_section): Prototype. - -2001-10-19 Franz Sirl - - * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*, - fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*, - parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*, - i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware, - i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*, - i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*, - i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1, - i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*, - i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*, - i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, - i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*, - i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*, - ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf, - mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*, - powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*, - powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*, - powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*, - powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*, - powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*, - powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*, - rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*, - sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf, - v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf, - cris-*-none, cris-*-linux*: Update ${tmfile} list. - (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*, - i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*, - mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*, - powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*, - v850-*-*): Delete superflous ${cpu_type} setting. - * config/linux.h: Delete svr4.h include. - (SET_ASM_OP): Delete. - * config/netware.h (INT_ASM_OP): Undef before define. - * config/ptx4.h: Delete elfos.h include. - (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping. - * config/svr4.h: Delete elfos.h include. Update commentary. - * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h, - config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h, - config/mn10200/mn10300.h, config/stormy16/stormy16.h, - config/v850/v850.h: Delete svr4.h include. - * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h, - config/m68k/m68kv4.h, config/m88k/sysv4.h, - config/sparc/sysv4.h: Update includes. - * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h, - config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h, - config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h, - config/m88k/dguxbcs.h: Delete includes. - * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include. - (PREFERRED_DEBUGGING_TYPE): Undef before defining it. - * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining - it. - * config/m88k/dgux.h: Delete include. - (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before - defining it. - * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL, - ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it. - * config/sh/elf.h: Update include. - (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE, - DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes. - -2001-10-19 Catherine Moore - - * config/stormy16/stormy-abi: Updates to varargs descriptions. - * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse - base and count fields. - (stormy16_expand_builtin_va_start): last_reg_count changed to - size_of_reg_args. Use count + size in first comparison. - -Fri Oct 19 15:24:39 2001 Richard Kenner - - * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro. - * toplev.h (struct lang_hooks): New field HONOR_READONLY. - * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from - TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly. - Set alignment from type if INDIRECT_REF. - (adjust_address_1, offset_address): Simplify alignment compuitation. - * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P - here; done by set_mem_attributes. - -2001-10-19 Kaveh R. Ghazi - - * Makefile.in (rtlanal.o): Depend on $(TM_P_H). - * arm-protos.h (rdata_section, zero_init_section, common_section): - Prototype. - * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify. - * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid - traditional mode stringification. - * function.c (thread_prologue_and_epilogue_insns): Wrap variable - in macros controling its use. - * rtlanal.c: Include tm_p.h. - * varasm.c (asm_output_aligned_bss): Mark parameter with - ATTRIBUTE_UNUSED. - (assemble_constant_align, assemble_start_function, assemble_align, - assemble_variable, assemble_trampoline_template, - output_constant_def_contents): Wrap potentially empty if-stmt body - in brackets. - -2001-10-19 Kaveh R. Ghazi - - * a29k-protos.h (literal_section): Prototype. - * a29k.h (ASM_FILE_START): Don't discard pointer qualifier. - * a29k.md: Ensure function pointers are prototyped. - * genattrtab.c (write_eligible_delay): Mark parameter with - ATTRIBUTE_UNUSED. - -2001-10-19 Kaveh R. Ghazi - - * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED. - * 1750a.c (print_operand): Fix format specifier warning. - * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier. - * 1750a.md: Likewise. - * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC. - * genemit.c (output_add_clobbers): Mark parameter with - ATTRIBUTE_UNUSED. - * genrecog.c (write_subroutine): Likewise. - * integrate.c (expand_inline_function): Delete unused variable. - * varasm.c (remove_from_pending_weak_list): Wrap with - ASM_WEAKEN_LABEL. - -2001-10-19 Jakub Jelinek - - * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg - field is different to previous argument's neg field. - - * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT. - -Fri Oct 19 15:24:39 2001 Richard Kenner - - * final.c (get_decl_from_op): New function. - (output_asm_insn): Call it; write "*" when item with decl is address. - -2001-10-19 Janis Johnson - - * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation - about 64-bit support from the 3.0_branch version. - -2001-10-19 Zack Weinberg - - * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and - USE_INCLUDED_LIBINTL when appropriate. - * configure, config.in: Regenerate. - * Makefile.in (datadir): Set to @datadir@. - (intl.o): Also depend on $(CONFIG_H) and system.h. - - * intl.c: Factor out common gettext initialization sequence. - (gcc_init_libintl): New function. - * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL; - otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn - off NLS. Add multiple include guard. No need to #ifdef-guard - an #undef. Prototype gcc_init_libintl here. - - * collect2.c (main), cppmain.c (general_init), gcc.c (main), - gcov.c (main), protoize.c (main), toplev.c (toplev_main): - Use gcc_init_libintl. - -2001-10-19 Catherine Moore - - * config/stormy16/stormy16.h (ASM_COMMENT_START): Define. - - * config/stormy16/stormy16.c (stormy16_split_move): Make - sure that REG_INC notes are present for auto_inc operands. - -2001-10-19 Andreas Jaeger - - * configure: Regenerated. - * configure.in: Add x86_64 to switch statements. - -2001-10-18 Richard Henderson - - * config/alpha/alpha.md (sibcall_osf_1): Load destination - address into $27 explicitly. - (sibcall_value_osf_1): Likewise. - -Thu Oct 18 16:07:39 2001 Richard Kenner - - * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array. - (offset_address): New function. - (free_emit_status): Free regno_decl. - (init_emit): Pass proper number of elements to xcalloc. - Allocate regno_decl. - (mark_emit_status): Mark regno_decl values. - * expr.c (highest_pow2_factor): New function. - (expand_assigment): Use it and offset_address. - Properly handle ptr_mode vs. Pmode in offset calculation. - (store_constructor, expand_expr_unaligned): Likewise. - (expand_expr, case COMPONENT_EXPR): Likewise. - * expr.h (offset_address): New decl. - * function.h (struct emit_status): Add regno_decl. - (REGNO_DECL): New macro. - * final.c (output_asm_name): Move in file and don't conditionalize - on flag_print_asm_name. - (output_asm_insn): Only call output_asm_name if flag_print_asm_name. - Output names of operands, if known. - * function.c (assign_parms): Set REGNO_DECL. - * integrate.c (integrate_decl_tree): Likewise. - * stmt.c (expand_decl): Likewise. - * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies. - -2001-10-18 Alexandre Oliva - - * attribs.c (handle_noinline_attribute): New function. - (handle_used_attribute): Likewise. - (c_common_attribute_table): Added noinline and used. - * doc/extend.texi (Function Attributes): Document them. - * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE. - Warn when merging inline with attribute noinline. - (start_decl, start_function): Warn if inline and attribute - noinline appear in the same declaration. - -2001-10-17 Neil Booth - - * config.gcc: Update c4x and i370 for C front end-specific - dependencies. - * config/c4x/c4x-c.c: New. - * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove. - (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree): - New declarations. - * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h. - (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree): - Make extern. - (c4x_init_pragma): Remove. - (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION, - c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT, - c4x_pr_ignored): Move to c4x-c.c. - * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update. - * config/c4x/t-c4x: Update. - * config/i370/i370-c.c: New. - * config/i370/i370.c: Don't include c-lex.h or c-pragma.h. - (i370_pr_map): Move to i370-c.c. - * config/i370/t-i370: New. - - * doc/tm.texi: Update. - -2001-10-17 Stan Shebs - - * config/rs6000/rs6000.c: Make assorted mechanical formatting and - typo fixes throughout. - (machopic_output_stub): Remove some dead code. - -2001-10-17 Richard Earnshaw - - * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory - leak. - -Wed Oct 17 05:26:39 2001 Richard Kenner - - * Makefile.in (print-rtl.o): Depend on TREE_H. - * alias.c (get_alias_set): Make two passes over objects to first - see if inner object is access via restricted pointer. - Defer allocating alias set for restricted pointer until here. - Call find_placeholder with second arg nonzero. - Minor cleanups. - * c-common.c (c_apply_type_quals_to_decl): Defer getting alias - set for restricted pointer types. - * emit-rtl.c (set_mem_attributes): Set more attributes. - (set_mem_align, change_address, adjust_address_1): New functions. - (change_address_1): Now static. - (adjust_address, adjust_address_nv): Deleted. - (replace_equiv_address): Call change_address_1. - * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR. - (find_placeholder): Get starting point from PLIST arg. - (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg. - * expr.h (set_mem_align, change_address, adjust_address_1): New decls. - (adjust_address, adjust_address_nv): New macros. - * print-rtl.c (tree.h): New include. - (print_rtx, case MEM): Print all memory attributes. - -2001-10-17 Richard Henderson - - * config/alpha/alpha.c (direct_call_operand): Don't fall off end. - -2001-10-16 Matt Kraai - - * c-tree.texi: Eliminate duplicated word. - * cpp.texi: Likewise. - * install.texi: Likewise. - * invoke.texi: Likewise. - * tm.texi: Likewise. - -2001-10-17 Michael Collison - - * dsp16xx.c: Fix comment formatting to match GNU standards. - (dsp16xx_output_function_prologue): Change type of 'size' - parameter from 'int' to HOST_WIDE_INT. - (dsp16xx_output_function_epilogue): Change type of 'size' - parameter from 'int' to HOST_WIDE_INT. - -2001-10-16 Richard Henderson - - * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check. - * configure, config.in: Rebuild. - - * config/i386/i386.c (ix86_output_addr_vec_elt): New. - (ix86_output_addr_diff_elt): New. - * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them. - (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. - (JUMP_TABLES_IN_TEXT_SECTION): New. - * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA. - * config/i386/i386-protos.h: Update. - - * config/i386/386bsd.h, config/i386/beos-elf.h, - config/i386/freebsd-aout.h, config/i386/freebsd.h, - config/i386/i386-interix.h, config/i386/i386elf.h, - config/i386/linux.h, config/i386/netbsd-elf.h, - config/i386/netbsd.h, config/i386/openbsd.h, - config/i386/ptx4-i.h, config/i386/rtemself.h, - config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h - (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove. - -2001-10-16 Florian Weimer - - * stmt.c (expand_asm_operands): Update commentary. - -2001-10-16 Stan Shebs - - * config/darwin.h (GCC_NAME): Remove, no longer used. - (NO_MATH_LIBRARY): Ditto. - (MATH_LIBRARY): Define to emptiness. - (DWARF2_DEBUGGING_INFO): Define. - (PREFERRED_DEBUGGING_TYPE): Define. - (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section. - (EXCEPTION_SECTION): Define. - (ASM_PREFERRED_EH_DATA_FORMAT): Define. - * config/darwin.c (darwin_encode_section_info): Handle case of - DECL_INITIAL being error_mark_node. - -2001-10-16 Richard Henderson - - * alpha.c (current_file_function_operand): Don't fail for profiling. - (direct_call_operand): New. - * alpha-protos.h: Declare it. - * alpha.h (EXTRA_CONSTRAINT): Use it. - (PREDICATE_CODES): Add it. - (ASM_OUTPUT_MI_THUNK): Remove. - * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove. - * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative. - -2001-10-16 Krister Walfridsson - - * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define. - (JUMP_TABLES_IN_TEXT_SECTION): Define. - -Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka - - * cfg.c (free_edge): Break out from .... - (remove_edge): ... here. - (clear_edges): Use free_edge. - - * att.h (ASM_QUAD): Add comment. - * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define. - -Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka - - * i386.c (split_ti): New function. - (ix86_split_to_parts): Support TImodes. - * i386.h (VALID_INT_MODE_P): Add TImode. - * i386.md (movdi splitter): Fix. - (movti): Support 64bit integer registers. - (movti_rex64): New function and splitter. - - * i386.c (*_cost): Add movsx/movzx cost. - * i386.h (struct processor_costs): Add movsx/movzx fields. - (RTX_COSTS): Handle zero/sign extend + avoid believing that - 64bit operations require split on 64bit machine. - (CONST_COST): Make large 64bit constants expensive on 64bit compilation. - - * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS. - (ix86_expand_move): Avoid pushes of memory if size does not match; - move long constants to register. - (x86_initialize_trampoline): Fix mode. - * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): - Use ASM_QUAD on 64bit. - * i386.md (test pattern): Disallow impossible constants. - (tablejump PIC expander): Fix emitting of sum. - (movdicc_rex64): Rename to movdicc. - * linux64.h (LINK_SPEC): Add missing '%'. - -2001-10-16 Alexandre Oliva - - * tree-inline.c (inlinable_function_p): Leave it up to the - front-end to turn -finline-functions into DECL_INLINE set for all - functions. - -2001-10-16 Stan Shebs - - * config/rs6000/darwin.h (ASM_COMMENT_START): Define. - -2001-10-16 Alan Modra - - * recog.c: Formatting and comment typo fixes. - - * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas - version in single tree build. - * configure: Regenerate. - -2001-10-15 David Edelsohn - - * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and - MODE arguments to gen_rtx and compare operand with const0_rtx. - -2001-10-15 Neil Booth - - * system.h: Poison old unused target macros. - * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove. - * config/stormy16/stormy16.c: Update references to obsolete macros. - * config/stormy16/stormy16.h: Similarly. - * config/stormy16/stormy16.md: Similarly. - * config/cris/cris.h: Similarly. - -2001-10-15 Neil Booth - - * cpplib.c (struct pragma_entry): Store the name as a hashnode. - (lookup_pragma_entry, insert_pragma_entry, do_pragma, - cpp_register_pragma): Update accordingly. - -2001-10-14 Neil Booth - - * c-pragma.h (cpp_register_pragma_space): Remove. - * cpplib.h (cpp_register_pragma_space): Remove. - * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New. - (cpp_register_pragma_space): Remove. - (cpp_register_pragma): Simplify using lookup_pragma_entry, - add sanity checks. - (do_pragma): Similarly. - (_cpp_init_internal_pragmas): Don't register namespaces. - - * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): - Don't register namespaces. - * cp/lex.c (init_cp_pragma): Similarly. - * doc/tm.texi: Update. - -2001-10-10 Craig Rodrigues - - PR c/4157 - * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES - -2001-10-13 Michael Collison - - * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and - add scheduling support. - * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code. - * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code. - * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes. - - -2001-10-13 Hans-Peter Nilsson - - * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around - missing CONSTANT_P test in core GCC. - -2001-10-12 Neil Booth - - * cppmain.c (struct printer): New member source. - (scan_translation_unit): Fix spacing at start of lines. - (cb_line_change): Update. - - * gcc.dg/cpp/spacing2.c: New test. - -2001-10-12 Hans-Peter Nilsson - - * config/cris/arit.c: Use __builtin_labs, not abs. - - * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define. - - * config/cris/cris.c (cris_target_asm_function_epilogue): Move - misplaced sprintf and fprintf argument. - -2001-10-12 Zack Weinberg - - * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40. - * configure.in, Makefile.in: Take out obsolete check-po logic. - * configure, config.in: Regenerate. - -2001-10-12 Ziemowit Laski - - * objc/objc-act.c (finish_objc): Correct precondition for emitting - symtab declarations. - -2001-10-12 Stan Shebs - - * config/rs6000/rs6000.c: Remove uses of "register" specifier in - declarations of arguments and local variables. - -2001-10-12 Christopher Faylor - - * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and - ENDFILE_SPEC definition. - -2001-10-12 Kazu Hirata - - * gthr-dce.h: Fix comment formatting. - * gthr-posix.h: Likewise. - * gthr-single.h: Likewise. - * gthr-solaris.h: Likewise. - * gthr-vxworks.h: Likewise. - * gthr-win32.h: Likewise. - -2001-10-12 Jakub Jelinek - - * final.c (output_asm_insn): Make sure assembly dialects are - terminated, not nested. Output `|' and `}' characters if they - don't appear inside assembly dialect selection. - * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64, - rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi, - rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1, - strsetsi_rex_1): Add {} braces. - -2001-10-11 Zack Weinberg - - * toplev.c (compile_file): Ignore return value from yyparse. - Always pop any nested binding levels after yyparse returns. - -2001-10-11 Richard Henderson - - * doc/c-tree.texi (Expression trees): Add VTABLE_REF. - -2001-10-11 Richard Henderson - - * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT, - fall back to add_AT_long_long for large CONST_INT. - -2001-10-11 Richard Henderson - - * config/i386/i386.md (setcc splitters): Add four splitters to - simplify compound compares that simplify_comparison can't handle. - -2001-10-11 Zack Weinberg - - * cpplex.c (digraph_spellings, token_spellings): Make static. - -2001-10-11 Franz Sirl - - * unroll.c (loop_iterations): Fixup last patch. - -2001-10-11 Richard Henderson - - * rtl.h (REG_VTABLE_REF): New. - * rtl.c (reg_note_name): Add it. - * combine.c (distribute_notes): Handle it. - * final.c (final_scan_insn): Handle it. - * tree.def (VTABLE_REF): New. - * expr.c (expand_expr): Handle it. - * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New. - * output.h: Declare them. - -2001-10-11 Richard Henderson - - * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look - for a DECL_INITIAL. - -2001-10-11 David Edelsohn - - * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only - available in 64-bit mode. - -2001-10-11 Hans-Peter Nilsson - - * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none, - cris-*-linux* cases. - * config/cris/cris-protos.h: New file. - * config/cris/cris.c: New file. - * config/cris/cris.h: New file. - * config/cris/cris.md: New file. - * config/cris/linux.h: New file. - * config/cris/aout.h: New file. - * config/cris/arit.c: New file. - * config/cris/cris_abi_symbol.c: New file. - * config/cris/mulsi3.asm: New file. - * config/cris/t-aout: New file. - * config/cris/t-cris: New file. - * config/cris/t-elfmulti: New file. - * config/cris/t-linux: New file. - * doc/invoke.texi: Add CRIS options. - * doc/install.texi (Specific): Add blurb for CRIS. - -2001-10-10 Hartmut Schirmer - - * config/float-i128.h: Make sure __STDC__VERSION__ is defined - before using it. - * config/float/i32.h: Likewise. - * config/float-i386.h: Likewise. - * config/float-i64.h: Likewise. - * config/float-m68k.h: Likewise. - * config/float-sh.h: Likewise. - * config/float-sparc.h: Likewise. - -2001-10-11 Hans-Peter Nilsson - - * doc/contrib.texi: Add note about CRIS port to my entry. - -2001-10-11 Kazu Hirata - - * basic-block.h: Fix formatting. - * bitmap.h: Likewise. - * cpplib.h: Likewise. - * c-tree.h: Likewise. - * diagnostic.h: Likewise. - * flags.h: Likewise. - * ggc.h: Likewise. - * longlong.h: Likewise. - * real.h: Likewise. - * reload.h: Likewise. - * rtl.h: Likewise. - * tree.h: Likewise. - -2001-10-10 Richard Henderson - - * c-parse.in (asm_operand): Allow named operands. - * genconfig.c (max_recog_operands): Set to 29. - * local-alloc.c (requires_inout): Skip multiple digits. - * recog.c (asm_operand_ok): Likewise. - (preprocess_constraints): Use strtoul for matching constraints. - (constrain_operands): Likewise. - * regmove.c (find_matches): Likewise. - * reload.c (find_reloads): Likewise. - * stmt.c (parse_output_constraint): Don't reject in-out - constraint on operands > 9. Reject '[' in constraint. - (expand_asm_operands): Handle named operands. Use strtoul - for matching constraints. - (check_operand_nalternatives): Split out from expand_asm_operands. - (check_unique_operand_names): New. - (resolve_operand_names, resolve_operand_name_1): New. - - * doc/extend.texi (Extended Asm): Document named operands. - * doc/md.texi (Simple Constraints): Document matching constraints - on operands > 9. - -2001-10-10 Richard Henderson - - * combine.c (try_combine): Handle a SEQUENCE of one insn. - - * i386.c (test splitter): Narrow tests vs paradoxical subregs. - (jcc splitters): Add two splitters to simplify compound compares - that simplify_comparison can't handle. - -2001-10-10 Richard Henderson - - * langhooks.c: Include langhooks.h. - * Makefile.in (langhooks.o): Depend on it. - -Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com) - - * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note - should not be considered as a no-op. - * flow.c (delete_noop_moves): Handle REG_LIBCALL notes. - -2001-10-10 Stan Shebs - - * alias.c: Remove uses of "register" specifier in declarations - of arguments and local variables. - * c-common.c: Ditto. - * c-convert.c: Ditto. - * c-decl.c: Ditto. - * c-format.c: Ditto. - * c-semantics.c: Ditto. - * c-typeck.c: Ditto. - * caller-save.c: Ditto. - * calls.c: Ditto. - * cfg.c: Ditto. - * cfgbuild.c: Ditto. - * cfgrtl.c: Ditto. - * collect2.c: Ditto. - * combine.c: Ditto. - * convert.c: Ditto. - * cppexp.c: Ditto. - * cppfiles.c: Ditto. - * cse.c: Ditto. - * dbxout.c: Ditto. - * defaults.h: Ditto. - * df.c: Ditto. - * dwarf2out.c: Ditto. - * dwarfout.c: Ditto. - * emit-rtl.c: Ditto. - * explow.c: Ditto. - * expmed.c: Ditto. - * expr.c: Ditto. - * final.c: Ditto. - * fix-header.c: Ditto. - * floatlib.c: Ditto. - * flow.c: Ditto. - * fold-const.c: Ditto. - * function.c: Ditto. - * gcc.c: Ditto. - * gcse.c: Ditto. - * gen-protos.c: Ditto. - * genattrtab.c: Ditto. - * gencheck.c: Ditto. - * genconfig.c: Ditto. - * genemit.c: Ditto. - * genextract.c: Ditto. - * genflags.c: Ditto. - * gengenrtl.c: Ditto. - * genoutput.c: Ditto. - * genpeep.c: Ditto. - * genrecog.c: Ditto. - * gensupport.c: Ditto. - * global.c: Ditto. - * gmon.c: Ditto. - * graph.c: Ditto. - * haifa-sched.c: Ditto. - * hard-reg-set.h: Ditto. - * hash.c: Ditto. - * integrate.c: Ditto. - * jump.c: Ditto. - * lists.c: Ditto. - * local-alloc.c: Ditto. - * loop.c: Ditto. - * mips-tdump.c: Ditto. - * mips-tfile.c: Ditto. - * optabs.c: Ditto. - * prefix.c: Ditto. - * print-rtl.c: Ditto. - * read-rtl.c: Ditto. - * real.c: Ditto. - * recog.c: Ditto. - * reg-stack.c: Ditto. - * regclass.c: Ditto. - * regmove.c: Ditto. - * reload.c: Ditto. - * reload1.c: Ditto. - * reorg.c: Ditto. - * resource.c: Ditto. - * rtl.c: Ditto. - * rtlanal.c: Ditto. - * scan.c: Ditto. - * sched-deps.c: Ditto. - * sched-rgn.c: Ditto. - * sdbout.c: Ditto. - * simplify-rtx.c: Ditto. - * stmt.c: Ditto. - * stor-layout.c: Ditto. - * toplev.c: Ditto. - * tradcif.y: Ditto. - * tradcpp.c: Ditto. - * tree.c: Ditto. - * unroll.c: Ditto. - * varasm.c: Ditto. - * xcoffout.c: Ditto. - -2001-10-10 Richard Henderson - - * rtl.h (can_reverse_comparison_p): Remove. - -2001-10-10 Christopher Faylor - - * config/i386/cygwin.h: Avoid adding include files if -nostdinc is - used. - -2001-10-10 Danny Smith - - * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define. - (Thanks to Chris Faylor for suggesting macro name). - (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more - WIN32 defines. - (STANDARD_INCLUDE_DIR): Remove i386- from directory name. - (STANDARD_INCLUDE_COMPONENT): Change to MINGW. - (MATH_LIBRARY): Undef before definition. - (OUTPUT_QUOTED_STRING): Likewise. - * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS. - -2001-10-10 Richard Henderson - - * unwind-dw2-fde.c (fde_compare_t): Change return type to int. - (fde_unencoded_compare): Likewise. Don't use subtraction to get - a tristate comparison value. - (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise. - -2001-10-10 Franz Sirl - - PR c++/4512 - * unroll.c (loop_iterations): Ignore insns generated by loop - unrolling. - - * config.gcc (mips*-*-gnu*): Delete support. - * config/mips/gnu.h: Remove. - -2001-10-10 Kazu Hirata - - * calls.c: Fix formatting. - * c-decl.c: Likewise. - * cfgcleanup.c: Likewise. - * combine.c: Likewise. - * cppfiles.c: Likewise. - * cpplib.c: Likewise. - * cppmacro.c: Likewise. - * crtstuff.c: Likewise. - * cse.c: Likewise. - * dwarf2out.c: Likewise. - * expmed.c: Likewise. - * expr.c: Likewise. - * fold-const.c: Likewise. - * function.c: Likewise. - * gcse.c: Likewise. - * genattrtab.c: Likewise. - * ggc-page.c: Likewise. - * integrate.c: Likewise. - * libgcc2.c: Likewise. - * loop.c: Likewise. - * optabs.c: Likewise. - * profile.c: Likewise. - * protoize.c: Likewise. - * real.c: Likewise. - * recog.c: Likewise. - * reload1.c: Likewise. - * reload.c: Likewise. - * reorg.c: Likewise. - * resource.c: Likewise. - * sched-rgn.c: Likewise. - * sdbout.c: Likewise. - * stmt.c: Likewise. - * toplev.c: Likewise. - * varasm.c: Likewise. - -2001-10-10 Janis Johnson , Alexandre Oliva - - * langhooks.c: Include rtl.h, insn-config.h and integrate.h. - * Makefile.in (langhooks.o): Add dependencies. - -Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com) - - * rs6000.c (rs6000_emit_load_toc_table): Don't - strdup the toc label. - (create_TOC_reference): Likewise. - -2001-10-09 Danny Smith - - * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent - version default. - -2001-10-09 Danny Smith - - * config/i386/i386.c (ix86_attribute_table): Correct - min_len, max_len fields for dllimport, dllexport and shared. - -2001-10-10 Joseph S. Myers - - * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi, - doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: - Consistently use "nonzero" instead of "non-zero". - -2001-10-09 Kazu Hirata - - * acconfig.h: Fix comment formatting. - * c-dump.h: Likewise. - * c-tree.h: Likewise. - * conditions.h: Likewise. - * expr.h: Likewise. - * function.h: Likewise. - * gthr.h: Likewise. - * hwint.h: Likewise. - * integrate.h: Likewise. - * intl.h: Likewise. - * loop.h: Likewise. - * optabs.h: Likewise. - -2001-10-09 Kazu Hirata - - * c-common.h: Fix comment formatting. - * c-dump.c: Likewise. - * cfg.c: Likewise. - * diagnostic.h: Likewise. - * except.c: Likewise. - * gcc.h: Likewise. - * gcov-io.h: Likewise. - * genattrtab.c: Likewise. - * output.h: Likewise. - * predict.h: Likewise. - * reload1.c: Likewise. - * reload.h: Likewise. - * resource.h: Likewise. - * scan.h: Likewise. - * system.h: Likewise. - * tree.h: Likewise. - * tree-inline.c: Likewise. - * tsystem.h: Likewise. - * varasm.c: Likewise. - * xcoffout.h: Likewise. - -2001-10-09 Joseph S. Myers - - * doc/gcc.texi: Document preference for "nonzero" over "non-zero". - -2001-10-09 Joseph S. Myers - - * config/alpha/freebsd.h, config/alpha/lib1funcs.asm, - config/i386/i386elf.h, config/i386/netbsd-elf.h, - config/i386/netware.h, config/mcore/gfloat.h, - config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md, - config/netware.h, gccbug.in: Update FSF address. - -2001-10-09 Kazu Hirata - - * c-common.c: Fix comment typos. - * cfgrtl.c: Likewise. - * collect2.c: Likewise. - * cpplex.c: Likewise. - * doloop.c: Likewise. - * dwarf2out.c: Likewise. - * dwarfout.c: Likewise. - * expr.c: Likewise. - * fold-const.c: Likewise. - * gcc.c: Likewise. - * gcov.c: Likewise. - * gcse.c: Likewise. - * global.c: Likewise. - * ifcvt.c: Likewise. - * loop.c: Likewise. - * optabs.c: Likewise. - * protoize.c: Likewise. - * regclass.c: Likewise. - * reorg.c: Likewise. - * rtl.h: Likewise. - * stmt.c: Likewise. - * tree.h: Likewise. - * doc/cpp.texi: Likewise. - * doc/c-tree.texi: Likewise. - * doc/extend.texi: Likewise. - * doc/invoke.texi: Likewise. - * doc/objc.texi: Likewise. - * doc/tm.texi: Likewise. - -2001-10-08 Richard Henderson - - * varasm.c (set_named_section_flags): Initialize "declared". - -2001-10-08 Robert Lipe - - * varasm.c (struct in_named_entry): Add declared. - (named_section_first_declaration): New function. - (default_elf_asm_named_section): Use it. - * output.h (named_section_first_declaration): New. - -2001-10-08 Richard Henderson - - * i386.md (movsi_xor): Export. - (setcc peep2): Use it when available; add an alternative to - match zero_extendhisi2_and. - -2001-10-08 Kaveh R. Ghazi - - * romp-protos.h (romp_initialize_trampoline): New function. - * romp.c (romp_initialize_trampoline): Likewise. - * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of - romp_initialize_trampoline. - -2001-10-08 Kaveh R. Ghazi - - * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'. - * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise. - * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise. - * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise. - -2001-10-08 Franz Sirl - - * unroll.c (loop_iterations): Extend check for multiple back edges. - -2001-10-08 Alexandre Oliva - - * langhooks.h: New file. - * Makefile.in (OBJS): Added langhooks.o. - (c-lang.o): Depend on langhooks.h. - (c-common.o): Don't depend on tree-inline.h. - (tree-inline.o): Depend on toplev.h. - (langhooks.o): New rule. - * c-common.c: Don't include tree-inline.h. - (c_mark_lang_decl): Mark argument c as unused. - (c_common_lang_init): Don't initialize hooks here. - * c-lang.c: Include langhooks.h, then override some macros. - (lang_hooks): Initialize with macros in langhooks.h. - (c_init): Don't initialize hooks here. - * toplev.c (struct lang_hooks_for_tree_inlining): New struct. - (struct lang_hooks): Add tree_inlining. Refer to langhooks.h. - * tree-inline.c: Include toplev.h. Don't define hook variables. - * tree-inline.h: Don't define hook types nor declare hook - variables. Move macros to... - * langhooks.c: ... new file, as functions. Adjust all callers. - -2001-10-08 Jeffrey A Law - - * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call - purge_mem_unchanging_flag on all instructions, not just on those - before NOTE_INSN_FUNCTION_BEG. - -2001-10-08 Neil Booth - - * cppmacro.c (_cpp_create_definition): Leave comments off. - - * doc/cpp.texi: Update. - -2001-10-08 DJ Delorie - - * c-decl.c (grokfield): Make sure the only unnamed fields - we're allowing are either structs or unions. - * doc/extend.texi: Add documentation for the unnamed field - extension. - -2001-10-08 Zack Weinberg - - * aclocal.m4 (gcc_AC_PROG_GNAT): New. - * configure.in: Use it. - * configure: Regenerated. - * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64, - config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS. - -2001-10-08 Neil Booth - - * cppfiles.c (open_file): Don't mark zero-length files - never-reread here. Don't output diagnostics here either. - (stack_include_file): Mark them never-reread here. - (_cpp_read_file): Update. - -2001-10-08 Richard Henderson - - * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New. - -2001-10-08 Richard Henderson - - * expr.c (store_expr): When converting a CONST_INT for storage - in a SUBREG, convert it to both SUBREG modes before stripping - the SUBREG. - -2001-10-08 Richard Henderson - - * varasm.c (restore_varasm_status): New. - * function.h: Declare it. - * function.c (pop_function_context_from): Call it. - -2001-10-08 Richard Henderson - - * c-common.h (struct c_lang_decl): Add declared_inline. - * c-tree.h (DECL_DECLARED_INLINE_P): New. - * c-lang.c (c_disregard_inline_limits): Use it. - * c-decl.c (duplicate_decls): Likewise. - (pushdecl, redeclaration_error_message): Likewise. - (pushdecl): Allocate DECL_LANG_SPECIFIC if needed. - (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P. - Set DECL_INLINE if -finline-functions. - (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here. - -2001-10-08 Neil Booth - - * cppmacro.c (funlike_invocation_p): Move some logic to caller - in enter_macro_context. Create a padding token in its own context - if necessary when the search for '(' fails. - (enter_macro_context): Update. - -2001-10-07 Joseph S. Myers - - * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c, - genmultilib, toplev.c: Fix spelling errors of "separate" as - "seperate", and corresponding spelling errors of related words. - -2001-10-07 Kaveh R. Ghazi - - * builtins.c (expand_builtin_setjmp_receiver): Const-ify. - * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length): - Likewise. - * c-dump.c (dump_option_value_info): Likewise. - * c-format.c (format_length_info, format_char_info, - format_flag_spec, format_flag_pair, format_kind_info): Likewise. - * collect2.c (names): Likewise. - * cppdefault.h (default_include): Likewise. - * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise. - * flow.c (life_analysis): Likewise. - * gcc.c (dir_separator_str, modify_target, option_map, - target_option_translations, spec_list_1, extra_specs_1, - init_spec): Likewise. - * gcov.c (gcov_version_string): Likewise. - * genattr.c (write_units): Likewise. - * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise. - * gengenrtl.c (rtx_definition, defs): Likewise. - * genrecog.c (pred_table): Likewise. - * global.c (global_alloc): Likewise. - * lcm.c (optimize_mode_switching): Likewise. - * local-alloc.c (find_free_reg): Likewise. - * params.h (param_info): Likewise. - * predict.c (predictor_info): Likewise. - * protoize.c (unexpansion_struct): Likewise. - * real.c (bmask): Likewise. - * recog.h (insn_operand_data, insn_data): Likewise. - * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise. - * stmt.c (expand_nl_goto_receiver): Likewise. - * toplev.c (da, debug_args, lang_opt, documented_lang_options, - target_switches, target_options): Likewise. - * tradcif.y (token, tokentab2, yylex): Likewise. - * tree.h (attribute_spec): Likewise. - - * alpha.c (override_options, alpha_lookup_xfloating_lib_func): - Likewise. - * arc.c (arc_output_function_epilogue): Likewise. - * arm.c (processors, all_cores, all_architectures, - arm_override_options, isr_attribute_arg, isr_attribute_args, - arm_isr_value): Likewise. - * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc): - Likewise. - * c4x.c (c4x_int_reglist): Likewise. - * d30v.c (override_options): Likewise. - * h8300.c (shift_insn): Likewise. - * i386.c (size_cost, i386_cost, i486_cost, pentium_cost, - pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost, - ix86_expand_sse_comi, ix86_expand_sse_compare, override_options, - builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg, - ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise. - * i386.h (processor_costs, ix86_cost): Likewise. - * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise. - * m68hc11.h (processor_costs, m68hc11_cost): Likewise. - * m68k.c (codes_68881, codes_FPA): Likewise. - * m88k.c (mode_from_align, max_from_align, all_from_align, - best_from_align, m_options): Likewise. - * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise. - * mcore.c (mode_from_align): Likewise. - * mips/elf64.h (UNIQUE_SECTION): Likewise. - * mips/iris6gld.h (UNIQUE_SECTION): Likewise. - * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise. - * mips.h (mips_regno_to_class): Likewise. - * ns32k.c (scales): Likewise. - * pa.c (import_string, magic_milli): Likewise. - * rs6000.c (alt_reg_names, rs6000_override_options): Likewise. - * sparc.c (leaf_reg_remap, sparc_override_options, - reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders): - Likewise. - * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise. - -2001-10-07 Dale Johannesen - - * reload1.c (reload_reg_free_p): Teach register interference - checking that multiple output reloads are emitted in - reverse order. - reload1.c (reload_reg_reaches_end_p): Ditto. - reload1.c (reloads_conflict): Ditto. - -2001-10-07 Joseph S. Myers - - * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and - NULL_TREE inside @code. - -2001-10-07 Joseph S. Myers - - * doc/gcc.texi: Document consistent style of "32-bit", - "Objective-C", and "@code{NULL}". - -2001-10-06 Zack Weinberg - - * cpplex.c (enum spell_type): Add SPELL_NUMBER. - (cpp_token_len, cpp_spell_token, cpp_output_token, - _cpp_equiv_tokens): Handle it. - * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and - CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF. - * cppexp.c (_cpp_parse_expr): Use the correct operator code in - error messages. - -Sat Oct 6 07:42:39 2001 Richard Kenner - - * gcc.c (default_compilers): Remove .ada. - -2001-10-06 Neil Booth - - * doc/cppinternals.texi: Update. - -2001-10-06 Zack Weinberg - - * gcc.c (main): Set this_file_error if the appropriate - compiler for a language has not been installed. - -2001-10-06 Ulrich Weigand - - * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set. - -2001-10-05 Joseph S. Myers - - * gccbug.in (CATEGORIES): Add ada. - -2001-10-05 Catherine Moore - - * config/stormy16/stormy-abi: Document abi changes. - * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine. - (ICALL_REGS): New register class. - (NUM_ARGUMENT_REGISTERS): Now 6. - (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs - in registers. - (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS. - * config/stormy16.md (call_internal, call_value_internal, - indirect_jump): Use new 'z' constraint. - -2001-10-05 Neil Booth - - * doc/cppinternals.texi: Update. - -2001-10-05 Richard Henderson - - * dwarf2out.c (FRAME_BEGIN_LABEL): New. - (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and - the gas section-name-as-label feature. - -2001-10-05 Neil Booth - - * doc/cppinternals.texi: Update. - -Fri Oct 5 08:17:46 2001 Richard Kenner - - * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode - to ensure valid SImode constants. - -2001-10-05 Alexandre Oliva - - * Makefile.in (c-decl.o): Depend on tree-inline.h. - (c-lang.o): Likewise, as well as insn-config.h and integrate.h. - * c-decl.c: Include tree-inline.h. - (c_expand_body): Call optimize_inline_calls. Determine whether - a function is inlinable upfront, and only clear - DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't. - * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h. - (c_disregard_inline_limits): New function. - (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise. - (c_post_options): Enable tree inlining if inlining is enabled. - Don't inline trees when instrumenting functions. - (c_init): Initialize lang_disregard_inline_limits and - lang_cannot_inline_tree_fn. - * tree-inline.c (initialize_inlined_parameters): Handle calls - with fewer arguments than declared parameters, and fewer - parameters than passed arguments. Don't assume value is a - DECL. - (declare_return_variable): Convert return value back to the - original type, if it was promoted. - (tree_inlinable_function_p): New function. - (inlinable_function_p): Don't look at DECL_INLINE if we're - inlining all functions. Make it work with a NULL id. - Re-check DECL_UNINLINABLE after language-specific checks. - * tree-inline.h (tree_inlinable_function_p): Declare it. - * integrate.c (save_for_inline): Don't bother to prepare argvec - when not inlining. - * cse.c (check_for_label_ref): Don't check deleted labels. - - * Makefile.in (tree-inline.o): Depend on newly-included headers. - * tree-inline.c: Include headers needed for the functions moved in. - (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c. - (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise. - (copy_body, initialize_inlined_parameters): Likewise. - (declare_return_variable, inlinable_function_p): Likewise. - (expand_call_inline, expand_calls_inline): Likewise. - (optimize_inline_calls, clone_body): Likewise. - (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c. - (copy_tree_r, remap_save_expr): Likewise. - -2001-10-04 Alexandre Oliva - - * Makefile.in (OBJS): Added tree-inline.o. - (c-common.o): Depend on tree-inline.h. - (tree-inline.o): New target. - * c-common.c: Include tree-inline.h. - (c_mark_lang_decl): Don't mark saved_tree. - (c_common_lang_init): Set lang_anon_aggr_type_p. - * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h. - (struct c_lang_decl): Moved saved_tree to tree_decl. - * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs. - * integrate.h (function_attribute_inlinable_p): Declare it. - * integrate.c (function_attribute_inlinable_p): Export it. - * tree-inline.c: New file. Define variables declared in... - * tree-inline.h: New file. Declare functions to be moved to - tree-inline.c. Define macros and declare types and hooks for - language-specific tree inlining. - (flag_inline_trees): Moved definition from cp/decl2.c. - * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h. - (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h. - (struct tree_decl): Moved saved_tree from c_lang_decl and - inlined_fns from C++'s lang_decl. - -2001-10-04 Loren J. Rittle - - * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which - propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS. - -2001-10-04 Neil Booth - - * doc/cppinternals.texi: Update. - -2001-10-04 Eric Christopher - - * config/mips/mips.c (init_cumulative_args): Remember to set - cum->prototype. - * config.gcc: Redo linux configuration. Add target_cpu_default - of soft-float to all mipsisa32 combinations and tx39. - * config/mips/linux.h: Remove include of mips.h. - -2001-10-03 Loren J. Rittle - - * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS, - HOST_LDFLAGS and HOST_CPPFLAGS. - -2001-10-03 Ziemowit Laski - - * c-parse.in (objc_inherit_code, objc_pq_context, - objc_public_flag): Make static. - (objc_interface_context, objc_implementation_context, - objc_method_context, objc_ivar_chain, objc_ivar_context): Move to - global tree array in objc/objc-act.[ch]. - (methoddef): Remove unnecessary code. - - * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry): - Hoist struct definitions to objc-act.h. - (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count, - cat_count): Place declaration in objc-act.h. - (objc_tree_index): Move enumeration to objc-act.h. - (objc_global_trees): Place declaration and macro accessors in - objc-act.h. - (implementation_context): Remove duplicate; use - objc_implementation_context instead: - (method_context): Remove duplicate; use objc_method_context - instead. - (objc_ellipsis_node, objc_method_prototype_template, - implemented_classes, function_type): Move global vars to - objc_global_trees. - (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE. - (build_message_expr): Move actual construction of ObjC message - send nodes to finish_message_expr. - (finish_message_expr): New routine, contains code formerly in - build_message_expr. - * objc/objc-act.h (finish_message_expr): New prototype. - (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove - declarations; these vars are now part of objc_global_trees. - (objc_tree_index, objc_global_trees): Move definitions from - objc-act.c. - * objc/objc-tree.def: Update copyright info. - -Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com) - - * dwarf2asm.c (unaligned_integer_asm_op): Abort if - op is NULL. - * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use - only if TARGET_ARCH64. - -2001-10-02 Bernd Schmidt - - * doc/extend.texi: Fix some problems with previous checkin. - * doc/invoke.texi: Likewise. - -2001-10-02 Neil Booth - - * cpphash.h: Update comments. - (cpp_context): Update. - (spec_nodes): Remove n__Pragma. - * cppinit.c (cpp_create_reader): Update. - (builtin_array): Add _Pragma. - * cpplib.h: Update comments. - (NODE_DISABLED, BT_PRAGMA): New. - (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes. - * cppmacro.c (struct cpp_macro): Remove disabled. - (builtin_macro): Return int, handle _Pragma, push the new token - on the context stack. - (funlike_invocation_p): Unconstify, update. - (enter_macro_context): Handle builtins here. - (replace_args, push_token_context, push_ptoken_context): - Update for prototype changes. - (_cpp_pop_context): Update. - (cpp_get_token): Don't handle buitins, nor _Pragma here. - (cpp_sys_macro_p): Update. - (_cpp_free_definition): Clear disabled flag. - (_cpp_create_definition): Upate. - * cppmain.c: Update comments. - -Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen , - Andreas Jaeger , - Jan Hubicka - - * doc/invoke.texi (i386 Options): Document x86-64 options. - (i386 and x86-64 Options): Rename i386 options section. - - * config/i386/i386.h (TARGET_UNWIND_INFO): New. - (TARGET_SWITCHES): Add -munwind-info. - (MASK_NO_UNWIND_INFO): New. - (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for - biarch compilation. - (ASM_OUTPUT_DOUBLE_INT): New. - - * config/i386/linux64.h: New spec file for Linux x86-64 support. - * config.gcc: Fix tm_file settings for x86-64. - * config/i386/x86-64.h: New file with OS independent x86-64 - definitions. - * config/i386/biarch64.h: New file used to configure compiler - to biarch/64bit compilation. - - * config/i386/i386.c: (override_options): Set flags default - for 64bit compilation. - -Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka - - * i386.c (legitimize_pic_address): Add missing bits of 64bit support. - (ix86_expand_int_movcc): Optimize DImode conditional moves with - constants on x86_64. - (ix86_attr_length_immediate_default): Support MODE_DI. - * i386.md (fixdi splitter): Add missing "&& 1" in splitter - condition. - (indirect_jump, tablejump): Turn into expander. - -2001-10-02 Joseph S. Myers - - * c-common.c (c_format_attribute_table): Make format and - format_arg attributes apply to function types rather than to - decls. - (is_valid_printf_arglist): Construct an attribute list and pass - that to check_function_format rather than a name. - * c-common.h (check_function_format): Adjust prototype. - * c-decl.c (duplicate_decls): Preserve attributes from type of - built-in decl when allowing for harmless conflict in types. - * c-format.c (record_function_format, - record_international_format, function_format_list, - international_format_info, international_format_list): Remove. - (function_format_info): Remove next, name and assembler_name. - Make format_num and first_arg_num be unsigned HOST_WIDE_INT. - (decode_format_attr): New. - (handle_format_attribute): Handle receiving a type rather than a - decl. Call decode_format_attr. Store format information in a - function_format_info. - (handle_format_arg_attribute): Correct comment. Handle receiving - a type rather than a decl. Use unsigned HOST_WIDE_INT for - arg_num. - (check_format_info_recurse, check_format_info_main): Take argument - numbers as unsigned HOST_WIDE_INT. - (check_function_format): Take a list of attributes from the - function type rather than a name or assembler name. Check for - format attributes in that list and the attributes on the type of - the current function rather than looking through - function_format_list. - (check_format_info): Use unsigned HOST_WIDE_INT for argument - numbers. - (check_format_info_recurse): Take format_arg attributes from the - type of the function calls rather than using - international_format_list. Allow for multiple format_arg - attributes. - * c-typeck.c (build_function_call): Pass type attributes to - check_function_format rather than name or assembler name. Don't - require there to be a name or assembler name to check formats. - -2001-10-02 Joseph S. Myers - - * attribs.c (decl_attributes): Possibly call - insert_default_attributes to insert default attributes on - functions in a lazy manner. - * builtin-attrs.def: New file; define the default format and - format_arg attributes. - * c-common.c (c_format_attribute_table): Move to earlier in the - file. - (c_common_nodes_and_builtins): Initialize format_attribute_table. - (enum built_in_attribute, built_in_attributes, - c_attrs_initialized, c_init_attributes, - c_common_insert_default_attributes): New. - (c_common_lang_init): Don't initialize format_attribute_table. Do - call c_init_attributes. - * Makefile.in (c-common.o): Depend on builtin-attrs.def. - * c-common.h (init_function_format_info): Don't declare. - (c_common_insert_default_attributes): Declare. - * c-decl.c (implicitly_declare, builtin_function): Call - decl_attributes. - (init_decl_processing): Don't call init_function_format_info. - (insert_default_attributes): New. - * c-format.c (handle_format_attribute, - handle_format_arg_attribute): Be quiet about inappropriate - declaration when applying default attributes. - (init_function_format_info): Remove. - * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN. - (insert_default_attributes): Declare. - -2001-10-02 Joseph S. Myers - - * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94. - -2001-10-01 Jim Wilson - - * sched-deps.c (add_dependence): When elide conditional dependence, - check that insn doesn't modify cond2. - -2001-10-01 Dale Johannesen - - * config/rs6000/rs6000.h (enum processor_type): Add support - for 7400 (G4) and 7450. - (RTX_COSTS): Ditto. - * config/rs6000/rs6000.c (rs6000_override_options): Ditto. - (rs6000_issue_rate): Ditto. - (rs6000_adjust_cost): Fix cycle counts for compares. - (debug_stack_info): Fix an obvious typo. - * config/rs6000/rs6000.md: Add functional units for 7400 and 7450. - * doc/invoke.texi: Document. - * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable - for Darwin. - (PROCESSOR_DEFAULT): Ditto. - -2001-10-01 Loren J. Rittle - - * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC. - (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for - later recursive make invocation. - -2001-10-01 Hans Boehm - - * optabs.c (emit_libcall_block): When using non-call exceptions, - don't add REG_LIBCALL reg notes to trapping calls. - -2001-10-01 David Billinghurst - - * flow.c (propagate_block_delete_libcall): Remove unused first arg - (propagate_one_insn): Update for above change - -2001-10-01 David Billinghurst - - * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase, - _Unwind_GetTextRelBase): Argument is unused. - -Mon Oct 1 19:20:57 2001 Richard Kenner - - * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR. - Loop through NOPs, placeholders, and components. - Don't go through NOPs if change mode. - (record_alias_subset): Do nothing if SUBSET and SET are the same. - * emit-rtl.c (set_mem_alias_set): Enable check. - * expr.c (find_placeholder): New function. - (expand_expr, case PLACEHOLDER_EXPR): Use it. - (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need - to modify it and avoid unneeded copies. - * expr.h (expand_expr): Always define. - (find_placeholder): New declaration. - -2001-10-01 Stephane Carrez - - * config/m68hc11/m68hc11.md ("add-split"): Fix add split when - operand 2 is the stack pointer. - ("addr-peephole"): Fix address computation peephole when operand 2 - is the stack pointer. - -Mon Oct 1 09:26:41 2001 Richard Kenner - - * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set. - (ix86_setup_incoming_varargs): Likewise. - -2001-10-01 Jason Merrill - - * stor-layout.c (layout_type): Don't complain about too-large - array here. - -Mon Oct 1 06:43:41 2001 Richard Kenner - - * function.c (keep_stack_depressed): Don't use delete_insn. - - * expr.h (set_mem_alias_set): Move decl to here. - * rtl.h (mem_attrs): New typedef and struct. - (union rtunion_def): Add field for mem_attrs. - (X0MEMATTR, MEM_ATTRS): New macros. - (MEM_ALIAS_SET): Use MEM_ATTRS. - (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros. - (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS. - (set_mem_alias_set): Delete decl from here. - - * alias.c (set_mem_alias_set): Delete from here. - * emit-rtl.c (mem_attrs_htab): New variable. - (rtx_htab_mark, rtx_htab_mark_1): Deleted. - (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions. - (mem_attrs_mark, get_mem_attrs): Likewise. - (gen_rtx_MEM): Clear MEM_ATTRS. - (set_mem_attributes): Move to here. - (set_mem_alias_set): Likewise, and call get_mem_attrs. - (init_emit_once): const_int_htab now deletable htab. - Initialize mem_attrs_htab. - * explow.c (set_mem_attributes): Delete from here. - * function.c (put_var_into_stack): Clear MEM_ATTRS. - (gen_mem_addressof): Likewise; rework to use set_mem_attributes. - * ggc-common.c (ggc_mark_rtx_children, case MEM): New case. - * reload1.c (reload): Rework changing REG to MEM. - -2001-09-30 H.J. Lu - - * acconfig.h (PREFIX_INCLUDE_DIR): New variable. - * config.in: Rebuild. - -2001-09-30 Stephane Carrez - - * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints. - ("tsthi_1"): Avoid allocation in register y. - ("*movqi_68hc12"): Reorganize and fix constraints. - ("zero_extendqisi2"): Prefer d over x and y for operand 1. - ("addqi3"): Likewise. - ("addhi3"): Fix constraints. - ("*logicalhi3_zexthi"): Disparage soft registers. - -2001-09-30 Stephane Carrez - - * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp - to tmp reg. - -2001-09-30 Stephane Carrez - - * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so - that we use setjmp/longjmp exceptions. - -2001-09-30 Neil Booth - - * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, - POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk, - struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve, - _cpp_pool_alloc, _cpp_next_chunk): Remove. - (_cpp_extend_buff, BUFF_ROOM): Update. - (_cpp_append_extend_buff): New. - (struct cpp_reader): Remove macro_pool, add a_buff. - * cppinit.c (cpp_create_reader): Initialize a_buff, instead of - macro_pool. - (cpp_destroy): Free a_buff instead of macro_pool. - * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk, - new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve, - _cpp_pool_alloc, ): Remove. - (parse_number, parse_string): Update use of _cpp_extend_buff. - (_cpp_extend_buff): Update. - (_cpp_append_extend_buff, cpp_aligned_alloc): New. - * cpplib.c (glue_header_name, parse_answer): - Update use of _cpp_extend_buff. - (cpp_register_pragma, cpp_register_pragma_space): Use - _cpp_aligned_alloc. - (do_assert, do_unassert): Check for EOL, update. - * cppmacro.c (stringify_arg, collect_args): Update to use - _cpp_extend_buff and _cpp_append_extend_buff. - (save_parameter, parse_params, alloc_expansion_token, - _cpp_create_definition): Rework memory management. - -2001-09-29 Andris Pavenis - - * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't - update md_exec_prefix. - (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point - to string constant. - -2001-09-30 Ulrich Weigand - - * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode. - (SELECT_CC_MODE): Use s390_select_ccmode. - * config/s390/s390-protos.h (s390_select_ccmode): Add. - * config/s390/s390.c (s390_select_ccmode): New. - (s390_match_ccmode): Add CCLmode. - (s390_branch_condition_mask, s390_branch_condition_mnemonic): New. - (output_branch_condition, output_inverse_branch_condition): Removed. - (print_operand): Use s390_branch_condition_mnemonic. - * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2, - subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode. - (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New. - - * config/s390/s390.c (check_and_change_labels): Preserve CC mode - when converting conditional branches to far branches. - * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si, - cmpint_di): Use CCSmode instead of CCUmode. - - * config/s390/s390.c (legitimate_la_operand_p): New. - * config/s390/s390-protos.h (legitimate_la_operand_p): Add. - * config/s390/s390.md (movsi): Convert load address patterns to - arithmetic operations when necessary. - (addaddr_picR, addaddr_picL, addaddr_picN): Removed. - (do_la): Renamed to *do_la and use legitimate_la_operand_p. - (*do_la_reg_0): Don't use before reload. - - * config/s390/s390.c (legitimize_address): Make more efficient - use of two-register addressing mode. - - * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog - with -mno-backchain in some corner cases. - - * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute. - -2001-09-29 Alexandre Oliva - - * reload.c (find_reloads): Mark new USE insns with QImode. - (find_reloads_toplev, find_reloads_address, subst_reg_equivs, - find_reloads_subreg_address): Likewise. - * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are - encountered. - * reload1.c (reload_combine_note_use): Likewise, inside USEs and - CLOBBERs. - (reload): Make sure there are no USEs with mode other than - VOIDmode. At the end, remove those marked with QImode. - -2001-09-29 Per Bothner - - * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR. - * Makefile.in (includedir): Rename to local_includedir. - (includedir): Define as $(prefix)/include. - * config.in (PREFIX_INCLUDE_DIR): New variable. - * configure.in (PREFIX_INCLUDE_DIR): Test for new variable. - -2001-09-29 Bernd Schmidt - - * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and - storehps builtins. - * doc/extend.texi (Vector Extensions): New node. - * doc/invoke.texi (Machine Dependent Options): Add documentation for - i386 -mmmx, -msse, -m3dnow. - -Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka - - * doc/invoke.texi (Optimize Options): Revert an accidental checkin. - -2001-09-29 Hans-Peter Nilsson - - * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn. - - * doc/invoke.texi (Optimize Options): Delete spurious @table. - -2001-09-28 Richard Henderson - - * varasm.c (assemble_integer): Bound alignment check by - BIGGEST_ALIGNMENT. - - * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails. - -2001-09-28 Rainer Orth - - * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define. - -2001-09-25 Bernd Schmidt - - Mostly from Graham Stott - * c-common.c (type_for_mode): Add support for V2SFmode. - * tree.c (build_common_tree_nodes_2): Likewise. - * tree.h (enum tree_index, global_trees): Likewise. - * config/i386/i386.c (x86_3dnow_a): New variable. - (override_options): Support 3Dnow extensions. - (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of - Athlon's version of 3Dnow. - (ix86_init_mmx_sse_builtins): Create 3Dnow builtins. - (ix86_expand_builtin): Handle them. - (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow. - * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW, - TARGET_3DNOW_A): New macros. - (TARGET_SWITCHES): Add 3Dnow switches. - (VALID_MMX_REG_MODE_3DNOW): New macro. - (VECTOR_MODE_SUPPORTED_P): Use it. - (enum ix86_builtins): Add entries for 3Dnow builtins. - * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id, - pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3, - pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw, - pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2, - pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, - pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns. - (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart, - mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, - mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence, - sfence_insn, prefetch): Make these available if TARGET_SSE or - TARGET_3DNOW_A. - -Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka - - * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg, - ix86_va_start, ix86_build_va_list): Declare. - * i386.c (ix86_setup_incoming_varargs, ix86_va_arg, - ix86_va_start, ix86_build_va_list): New global functions. - * i386.md (sse_prologue_save_insn): New insn. - (sse_prologue_save): New expander. - * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START, - BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros. - -2001-09-28 Neil Booth - - * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff): - Use size_t everywhere, make definitions consistent with - prototypes. - -Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka - - * gcse.c (replace_store_insn): Use delete_insn. - * loop.c (move_movables): Likewise; avoid delete_insn - from clobbering notes moved elsewhere. - (check_dbra_loop): Use delete_insn. - * ssa.c (convert_from_ssa): Likewise. - * cse.c (cse_insn): Use delete_insn. - -2001-09-28 Neil Booth - - * cpphash.h (struct cpp_buff): Make unsigned. - (_cpp_get_buff): Take length of size_t. - (_cpp_unaligned_alloc): New. - (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New. - (struct cpp_reader): Remove ident_pool. Add u_buff. - * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool. - (cpp_destroy): Destroy u_buff, not ident_pool. - * cpplex.c (parse_number, parse_string, save_comment, - cpp_token_as_text): Update to use the unaligned buffer. - (new_buff): Make unsigned. - (_cpp_unaligned_alloc): New. - * cpplib.c (glue_header_name): Update to use the unaligned buffer. - * cppmacro.c (new_number_token, builtin_macro, stringify_arg): - Similarly. - (collect_args): Make unsigned. - -2001-09-27 Zack Weinberg - - * cpplex.c (cpp_output_token): Use a putc loop for - SPELL_OPERATOR, and fwrite for SPELL_IDENT. - - * configure.in: Detect fwrite_unlocked and fprintf_unlocked. - * configure, config.in: Regenerate. - * system.h: Replace fwrite and fprintf with their unlocked - variants if available. - -2001-09-27 Richard Henderson - - * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame - in favour of .eh_frame. - -2001-09-27 Aldy Hernandez - - * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3 - to macros. - (LIBCALL_VALUE): Likewise. - -2001-09-27 Neil Booth - - * cpphash.h: Update comment. - * cpplex.c: Update comments. - (_cpp_can_paste): Remove. - * cpplib.h (_cpp_can_paste): Remove. - * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the - lexer rather than _cpp_can_paste. - -2001-09-27 Neil Booth - - * doc/cppinternals.texi: Update. - -2001-09-26 Neil Booth - - * cpphash.h (struct cpp_pool): Remove locks and locked. - (struct cpp_context): Add member buff. - (struct cpp_reader): Remove member argument_pool. - (_cpp_lock_pool, _cpp_unlock_pool): Remove. - * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead. - * cpplex.c (chunk_suitable): Remove pool argument. - (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New. - (new_buff, _cpp_extend_buff): Update. - (_cpp_get_buff): Fix silly pointer bug. Be more selective about - which buffer is returned. - (_cpp_next_chunk, _cpp_init_pool): Pool locking removed. - (_cpp_lock_pool, _cpp_unlock_pool): Remove. - * cppmacro.c (lock_pools, unlock_pools): Remove. - (push_ptoken_context): Take a _cpp_buff. - (enter_macro_context): Pool locking removed. - (replace_args): Use a _cpp_buff for the replacement list with - arguments replaced. - (push_token_context): Clear buff. - (expand_arg): Use _cpp_pop_context. - (_cpp_pop_context): Free a context's buffer, if any. - -2001-09-26 DJ Delorie - - * c-typeck.c (digest_init): Check for sizeless arrays. - -2001-09-26 Richard Henderson - - * optabs.c (init_one_libfunc): Create a dummy function type - instead of using error_mark_node. - -2001-09-26 Neil Booth - - * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff, - _cpp_extend_buff, _cpp_free_buff): New. - (struct cpp_reader): New member free_buffs. - * cppinit.c (cpp_destroy): Free buffers. - * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff, - _cpp_extend_buff, _cpp_free_buff): New. - * cpplib.h (struct cpp_options): Remove unused member. - * cppmacro.c (collect_args): New. Combines the old parse_arg - and parse_args. Use _cpp_buff for memory allocation. - (funlike_invocation_p, replace_args): Update. - -Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka - - * final.c (final_scan_insn): Use delete_insn instead of delete_note. - -2001-09-25 Andrew Haley - - * except.c (sjlj_mark_call_sites): Change address inside sequence. - -2001-09-24 Andrew Haley - - * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with - glibc. - -2001-09-25 Janis Johnson - Jim Wilson - - * doc/install.texi (Specific, ia64-*-linux): Document. - -Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka - - * Makefile.in (cfgrtl.o): Add. - * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks, - free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges, - free_aux_for_edge): Declare. - * cfg.c - (HAVE_return): Undefine. - * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks, - free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges, - free_aux_for_edge): New global functions. - (first_delete_block): New static variable. - (init_flow): Clear first_delete_block. - (basic_block_for_insn, label_value_list, tail_recursion_label_list, - can_delete_note_p, can_delete_label_p, commit_one_edge_insertion, - try_redirect_by_replacing_jump, last_loop_beg_note, - back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect, - delete_insn, delete_insn_chain, create_basic_block_structure, - create_basic_block, flow_delete_block, compute_bb_for_insn, - free_bb_for_insn, update_bb_for_insn, set_block_for_insn, - set_block_for_new_insns, split_block, merge_blocks_nomove, - block_label, try_redirect_by_replacing_jump, last_loop_beg_note, - redirect_edge_and_branch, force_nonfallthru_and_redirect, - force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge, - tidy_fallthru_edges, split_edge, insert_insn_on_edge, - commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb, - debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges, - purge_all_dead_edges): Move to .... - * cfgrtl.c: New file; .... Here. - - * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block. - (reroder_basic_block): Use alloc_aux_for_blocks. - * predict.c (estimate_bb_frequencies): Likewise; use - alloc_aux_for_edges. - * profile.c (compute_branch_probabilities): Likewise. - (branch_prob): Likewise. - * reg-stack.c (reg_to_stack): Likewise. - - * emit-rtl.c (emit_insns_after): Never return NULL. - - * basic-block.h (set_block_for_new_insns): Delete. - * cfgrtl.c (set_block_for_new_insns): Delete. - - * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn - calls when crossjumping. - - * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call. - * unroll.c (copy_loop_body): Use delete_insn. - - * final.c (final, final_scan_insn): Use delete_insn/delete_note. - * function.c (fixup_var_refs_insn, fixup_var_refs_1, - keep_stack_depressed): Likewise. - * gcse.c (cprop_cc0_jump): Likewise. - * local-alloc.c (update_equiv_regs): Likewise. - * loop.c (scan_loop, loop_delete_insns): Likewise. - * regmove.c (try_auto_increment, fixup_match_1): Likewise. - * reload1.c (reload, calculate_needs_all_insns, reload_as_needed, - delete_output_reload, delete_address_reloads_1, - reload_cse_delete_noop_set, reload_combine, reload_cse_move2add): - Likewise. - * sibcall.c (replace_call_placeholder): Likewise. - * cse.c (cse_insn): Likewise. - -2001-09-25 Bernd Schmidt - - From Graham Stott - (def_builtin): Only define builtins appropriate for target_flags. All - callers changed. - (builtin_decsription): Add new field mask which is used to determine - when to define the builtin via the macro def_builtin. - - (bdesc_comi): Initialise new mask fields. - (bdesc_2srg): Likewise. - (bdesc_1arg): Likewise. - - * config/i386/i386.c (ix86_init_builtins): Correct return type - building v4hi_ftype_v4hi_int_int tree node. - (ix86_expand_sse_comi): Fix typo swapping operands. - Don't swap comparision condition, it is already swapped. - (ix86_expand_sse_compare): Before swapping operands - move operand 1 into new rtx and not the target rtx. - Don't swap comparison condition, it is already swapped. - Always check whether we need to create a new TARGET. - - * config/i386/i386.md: (sse_comi) Fix typos. - (sse_ucomi): Likewise. - (cvtss2si): Fix operand 0 contraint. - (cvttss2si): Likewise. - (sse_unpckhps): Fix mode for operand 2. - (sse_unpcklps): Likewise. - -2001-09-25 Graham Stott - - * sibcall.c (skip_copy_to_return_value): Tighten return value - copy check. - -2001-09-24 David Edelsohn - - * rs6000.c (lwa_operand): Address must be word aligned. - -Mon Sep 24 18:57:59 2001 Richard Kenner - - * tree.c (type_hash_marked_p): Consider as marked if debug symbol - number has been set. - (type_hash_mark): Mark type itself. - -2001-09-24 Neil Booth - - * c-lex.c (cb_def_pragma): Update. - (c_lex): Update, and skip padding. - * cppexp.c (lex, parse_defined): Update, remove unused variable. - * cpphash.h (struct toklist): Delete. - (union utoken): New. - (struct cpp_context): Update. - (struct cpp_reader): New members eof, avoid_paste. - (_cpp_temp_token): New. - * cppinit.c (cpp_create_reader): Update. - * cpplex.c (_cpp_temp_token): New. - (_cpp_lex_direct): Add PREV_WHITE when parsing args. - (cpp_output_token): Don't print leading whitespace. - (cpp_output_line): Update. - * cpplib.c (glue_header_name, parse_include, get__Pragma_string, - do_include_common, do_line, do_ident, do_pragma, - do_pragma_dependency, _cpp_do__Pragma, parse_answer, - parse_assertion): Update. - (get_token_no_padding): New. - * cpplib.h (CPP_PADDING): New. - (AVOID_LPASTE): Delete. - (struct cpp_token): New union member source. - (cpp_get_token): Update. - * cppmacro.c (macro_arg): Convert to use pointers to const tokens. - (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p, - replace_args, quote_string, stringify_arg, parse_arg, next_context, - enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput, - _cpp_backup_tokens, _cpp_create_definition): Update. - (push_arg_context): Delete. - (padding_token, push_token_context, push_ptoken_context): New. - (make_string_token, make_number_token): Update, rename. - (cpp_get_token): Update to handle tokens as pointers to const, - and insert padding appropriately. - * cppmain.c (struct printer): New member prev. - (check_multiline_token): Constify. - (do_preprocessing, cb_line_change): Update. - (scan_translation_unit): Update to handle spacing. - * scan-decls.c (get_a_token): New. - (skip_to_closing_brace, scan_decls): Update. - * fix-header.c (read_scan_file): Update. - - * doc/cpp.texi: Update. - -2001-09-24 Kaveh R. Ghazi - - * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid - leak by passing malloc'ed pointer to reconcat, not concat. - -2001-09-24 DJ Delorie - - * varasm.c (array_size_for_constructor): Handle STRING_CSTs also. - -2001-09-24 Ulrich Weigand : - - * flow.c (delete_dead_jumptables): Delete jumptable if the only - reference is from the literal pool. - -2001-09-24 Janis Johnson - - * doc/install.texi (Final install): Request additional information - in mail about successful builds. - -2001-09-24 John David Anglin - - * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use - initial value of return pointer register instead of value in frame-20. - Revise comments. - -2001-09-24 John David Anglin - - * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting. - (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for - the libcall if there isn't a referenced identifier for the symbol. - -2001-09-24 John David Anglin - - * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for - non 64-bit machines. Use these as a plabel for the trampoline. - (TRAMPOLINE_SIZE): Adjust size for new words. - (INITIALIZE_TRAMPOLINE): Initialize new words. - (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a - pointer to the plabel in the trampoline. - -2001-09-24 John David Anglin - - * pa.c (function_arg): Pass floating arguments in both general and - floating registers in indirect (dynamic) calls when generating code - for the 32 bit ABI and the HP assembler. - -2001-09-24 Rainer Orth - - * doc/install.texi: Markup fixes. - Use Solaris 2, SunOS 4 as appropriate. - (Specific, *-*-solaris2*): Explain this. - Unconditionally warn against /usr/ucb tools. - Remove Sun as warning, obsolete. - Move X11 header bug workaround here, update patches. - (Specific, sparc-sun-solaris2*): Detail Sun as fix status. - (Specific, sparc-sun-solaris2.7): Update patch 106950 status. - -2001-09-23 Zack Weinberg - - * errors.h (warning, error, fatal, internal_error): Don't mark - with ATTRIBUTE_PRINTF_n. - * toplev.h (internal_error, fatal_io_error, warning, error, - pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line, - error_with_file_and_line, sorry, error_for_asm, warning_for_asm): - Likewise. - -Sun Sep 23 18:19:48 2001 Richard Kenner - - * function.c (pop_function_context_from): var_refs_queue - and temp slots now in GC memory. - (mark_function_status, free_after_compilation): Likewise; - also struct function now in GC memory. - (assign_stack_temp_for_type): struct temp_slot now in GC memory. - (combine_temp_slots): Likewise. - (schedule_fixup_var_refs): var_refs_queue now in GC memory. - (prepare_function_start): Use GC memory for struct function. - (mark_temp_slot): Deleted. - (gcc_mark_struct_function): struct function now in GC memory. - - * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust - code for division, not modulus. - - * rtl.def (MEM): Remove obsolete part of comment. - -2001-09-22 Joseph S. Myers - - * c-format.c (init_function_format_info): Check __builtin_printf - and __builtin_fprintf even if -ffreestanding. Check C99 functions - in gnu89 mode. - -Sat Sep 22 09:09:32 2001 Richard Kenner - - * c-common.c (format_attribute_table): Remove decl. - * tree.h (format_attribute_table, lang_attribute_table): New decls. - (lang_attribute_common): Likewise. - - * function.c (fix_lexical_address): Use set_mem_alias_set. - (expand_function_start): Likewise. - * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise. - - * varasm.c (output_constant): Fix unused variable warning. - - * attribs.c: New file, from c-common.c. - (attribute_tables): Now four elements. - (format_attribute_table, lang_attribute_common): New variables. - (init_attributes): Reflect above changes. - (handle_mode_attribute): Delete check for wider than uintmax. - * c-common.c: Delete parts moved to attribs.c. - (enum attrs): Deleted; unused. - (c_format_attribute_table): New variable. - (c_common_lang_init): Initialize format_attribute_table with it. - * c-common.h (decl_attributes): Remove decl. - * tree.h (decl_attribute): Move it to here. - * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o. - (attribs.o): New rule. - -2001-09-22 Andreas Jaeger - - * builtins.c (c_getstr): Remove unused variable. - -2001-09-21 Richard Henderson - - * reload1.c (reload): Use delete_insn instead of splatting - NOTE_INSN_DELETED. - -2001-09-21 Richard Henderson - - * reload.c (push_secondary_reload): Don't check for "=" in output - constraint after ""->ALL_REGS check. - -2001-09-21 Richard Henderson - - * predict.c (expected_value_to_br_prob): Use pc_set. - - * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by - ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl. - -2001-09-21 Richard Henderson - - * rtl.h (LCT_RETURNS_TWICE): New. - * calls.c (emit_call_1): Set current_function_calls_setjmp for - ECF_RETURNS_TWICE. - (emit_library_call_value_1): Map LCT_RETURNS_TWICE - to ECF_RETURNS_TWICE. - * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for - call to setjmp. - - * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc. - - * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New. - (JMP_BUF_SIZE): New. - -2001-09-21 Richard Henderson - - * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd' - to R8_REGS. - -2001-09-21 Richard Henderson - - * tree.def (FDESC_EXPR): New. - * expr.c (expand_expr): Handle it. - * varasm.c (initializer_constant_valid_p): Likewise. - (output_constant): Likewise. - * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New. - * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New. - (ASM_OUTPUT_FDESC): New. - * doc/tm.texi: Document the new macros. - -21-09-2001 Richard Earnshaw (reanrsha@arm.com) - - * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave - ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block - once merging is complete. - -Fri Sep 21 11:20:12 2001 Richard Kenner - - * integrate.c (allocate_initial_values): Eliminate unused arg warning. - -21-09-2001 Richard Earnshaw (reanrsha@arm.com) - - * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes - that would be invalid after a merge. - -Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka - - * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill. - * cfg.c (delete_insn): Rename from ....; use remove_insn; do not - remove some labels. - (flow_delete_insn): This one. - (delete_insn_chain): Rename from ...; do not care labels. - (flow_delete_insn_chain): ... this one. - (flow_delete_block): Remove the insns one BB has been expunged. - (merge_blocks_nomove): Likewise. - (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care - updating BB boundaries. - (tidy_fallthru_edge): Likewise. - (commit_one_edge_insertion): Likewise. - * cfgbuild.c (find_basic_block): Likewise. - (find_basic_blocks_1): Likewise. - * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise. - (try_crossjump_to_edge): Likewise. - (try_optimize_cfg): Likewise. - * cse.c (delete_trivially_dead_insns): Likewise. - * df.c (df_insn_delete): Likewise. - * doloop.c (doloop_modify): Use delete_related_insns. - * emit-rtl.c (try_split): Likewise. - (remove_insn): Update BB boundaries. - * expect.c (connect_post_landing_pads): Use delete_related_insns. - * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care - updating BB boundaries. - (propagate_block_delete_insn): Likewise. - (propagate_block_delete_libcall): Likewise. - * function.c (delete_handlers): Use delete_related_insns. - (thread_prologue_and_epilogue_insns): Likewise. - * gcse.c (delete_null_pointer_checks): Use delete_related_insns. - * genpeep.c (gen_peephole): Use delete_related_insns. - * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating - BB boundaries. - (find_cond_trap): Likewise. - * integrate.c (save_for_inline): Use delete_related_insns. - (copy_insn_list): Likewise. - * jump.c (pruge_linie_number_notes): Likewise. - (duplicate_loop_exit_test): Likewise. - (delete_computation): Likewise. - (delete_related_insn): Rename from ...; use delete_insn - (delete_insn): ... this one. - (redirect_jump): Use delete_related_insns. - * loop.c (scan_loop): Likewise. - (move_movables): Likewise. - (find_and_verify_loops): Likewise. - (check_dbra_loop): Likewise. - * recog.c (peephole2_optimize): Likewise. - * reg-stack.c (delete_insn_for_stacker): Remove. - (move_for_stack_reg): Use delete_insn. - * regmove.c (combine_stack_adjustments_for_block): Likewise. - * reload1.c (delete_address_reloads): Use delete_related_insns. - (fixup_abnormal_edges): Use delete_insn. - * recog.c (emit_delay_sequence): Use delete_related_insns. - (delete_from-delay_slot): Likewise. - (delete_scheduled_jump): likewise. - (optimize_skip): Likewise. - (try_merge_delay_insns): Likewise. - (full_simple_delay_slots): Likewise. - (fill_slots_from_thread): Likewise. - (relax_delay_slots): Likewise. - (make_return_insns): Likewise. - (dbr_schedule): Likewise. - * rtl.h (delete_insn): Rename to delete_related_insns. - (delete_insn, delete_insn_chain): New prototypes. - * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done - by df_insn_delete already. - * ssa-dce.c (delete_insn_bb): Use delete_insn. - * ssa.c (convert_from_ssa): Use delete_related_insns. - * unroll.c (unroll_loop): Likewise. - (calculate_giv_inc): Likewise. - (copy_loop_body): Likewise. - - * i386-protos.h (ix86_libcall_value, ix86_function_value, - ix86_function_arg_regno_p, ix86_function_arg_boundary, - ix86_return_in_memory, ix86_function_value): Declare. - * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers): - new static valurables. - (x86_64_reg_class): New enum - (x86_64_reg_class_name): New array. - (classify_argument, examine_argument, construct_container, - merge_classes): New static functions. - (optimization_options): Enable flag_omit_frame_pointer and disable - flag_pcc_struct_return on 64bit. - (ix86_libcall_value, ix86_function_value, - ix86_function_arg_regno_p, ix86_function_arg_boundary, - ix86_return_in_memory, ix86_function_value): New global functions. - (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg. - (function_arg_advance): Handle x86_64 passing conventions. - (function_arg): Likewise. - * i386.h (FUNCTION_ARG_BOUNDARY): New macro. - (RETURN_IN_MEMORY): Move offline. - (FUNCTION_VALUE, LIBCALL_VALUE): Likewise. - (FUNCTION_VALUE_REGNO_P): New macro. - (FUNCTION_ARG_REGNO_P): Move offline. - (struct ix86_args): Add maybe_vaarg. - * next.h (FUNCTION_VALUE_REGNO_P): Delete. - * unix.h (FUNCTION_VALUE_REGNO_P): Delete. - -2001-09-21 Hartmut Penner - - * s390.md: Changed attributes for scheduling. - * s390.c: (s390_adjust_cost, s390_adjust_priority) - Changed scheduling - -2001-09-21 Joseph S. Myers - - Table-driven attributes. - * c-decl.c, config/alpha/alpha.c, config/arc/arc.c, - config/arm/arm.c, config/arm/pe.c, config/avr/avr.c, - config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h, - config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c, - config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c, - config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi, - doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c, - tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES. - * tree.h (struct tree_decl): Change machine_attributes to - attributes. - * doc/c-tree.texi: Document that all attributes are now attached - to decls and types. - * c-common.c (add_attribute, attrtab, attrtab_idx, - default_valid_lang_attribute, valid_lang_attribute): Remove. - (attribute_tables, attributes_initialized, - c_common_attribute_table, default_lang_attribute_table): New - variables. - (handle_packed_attribute, handle_nocommon_attribute, - handle_common_attribute, handle_noreturn_attribute, - handle_unused_attribute, handle_const_attribute, - handle_transparent_union_attribute, handle_constructor_attribute, - handle_destructor_attribute, handle_mode_attribute, - handle_section_attribute, handle_aligned_attribute, - handle_weak_attribute, handle_alias_attribute, - handle_no_instrument_function_attribute, - handle_no_check_memory_usage_attribute, handle_malloc_attribute, - handle_no_limit_stack_attribute, handle_pure_attribute): New - functions. - (init_attributes, decl_attributes): Rewrite to implement - table-driven attributes. - * c-common.h (enum attribute_flags): Move to tree.h. - * c-format.c (decl_handle_format_attribute, - decl_handle_format_arg_attribute): Rename to - handle_format_attribute and handle_format_arg_attribute. Update - for table-driven attributes. - * c-common.h (decl_handle_format_attribute, - decl_handle_format_arg_attribute): Remove prototypes. - (handle_format_attribute, handle_format_arg_attribute): Add - prototypes. - * c-decl.c (grokdeclarator): Handle attributes nested inside - declarators. - * c-parse.in (setattrs, maybe_setattrs): Remove. - (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs. - Update to handle nested attributes properly. - (maybe_resetattrs, after_type_declarator, - parm_declarator_nostarttypename, notype_declarator, absdcl1_noea, - absdcl1_ea, direct_absdcl1): Update to handle nested attributes - properly. - (make_pointer_declarator): Update to handle nested attributes - properly. - * doc/extend.texi: Update documentation of limits of attributes - syntax. Warn about problems with attribute semantics in C++. - * target.h (struct target): Remove valid_decl_attribute and - valid_type_attribute. Add attribute_table and - function_attribute_inlinable_p. - * target-def.h (TARGET_VALID_DECL_ATTRIBUTE, - TARGET_VALID_TYPE_ATTRIBUTE): Remove. - (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): - Add. - (TARGET_INITIALIZER): Update. - * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default - definition. - (function_attribute_inlinable_p): New function. Check for the - presence of any machine attributes before using - targetm.function_attribute_inlinable_p. - (function_cannot_inline_p): Update. - * Makefile.in (integrate.o): Update dependencies. - * doc/tm.texi: Update documentation of target attributes and - example definition of TARGET_VALID_TYPE_ATTRIBUTE. - * tree.c (default_valid_attribute_p, valid_machine_attribute): - Remove. - (default_target_attribute_table, - default_function_attribute_inlinable_p): New. - (lookup_attribute): Update comment to clarify handling of multiple - attributes with the same name. - (merge_attributes, attribute_list_contained): Allow multiple - attributes with the same name but different arguments to appear in - the same attribute list. - * tree.h (default_valid_attribute_p): Remove prototype. - (struct attribute_spec): New. - (default_target_attribute_table): Declare. - (enum attribute_flags): Move from c-common.h. Add - ATTR_FLAG_TYPE_IN_PLACE. - (default_function_attribute_inlinable_p): Declare. - * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove. - (TARGET_VALID_DECL_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (vms_attribute_table): New. - * config/arc/arc.c (arc_valid_decl_attribute): Remove. - (TARGET_VALID_DECL_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (arc_attribute_table, arc_handle_interrupt_attribute): New. - * config/arm/arm.c (arm_valid_type_attribute_p, - arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p): - Remove. - (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't - define. - (TARGET_ATTRIBUTE_TABLE): Define. - (arm_attribute_table, arm_handle_fndecl_attribute, - arm_handle_isr_attribute): New. - * config/avr/avr.c (avr_valid_type_attribute, - avr_valid_decl_attribute): Remove. - (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't - define. - (TARGET_ATTRIBUTE_TABLE): Define. - (avr_attribute_table, avr_handle_progmem_attribute, - avr_handle_fndecl_attribute): New. - * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove. - (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (c4x_attribute_table, c4x_handle_fntype_attribute): New. - * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove. - (TARGET_VALID_DECL_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (h8300_attribute_table, h8300_handle_fndecl_attribute, - h8300_handle_eightbit_data_attribute, - h8300_handle_tiny_data_attribute): New. - * config/i386/i386-protos.h (ix86_valid_type_attribute_p, - i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p): - Remove prototypes. - (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New - declarations. - * config/i386/i386.c (ix86_valid_type_attribute_p: Remove. - (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't - define. - (TARGET_ATTRIBUTE_TABLE): Define. - (ix86_attribute_table, ix86_handle_cdecl_attribute, - ix86_handle_regparm_attribute): New. - * config/i386/winnt.c (i386_pe_valid_decl_attribute_p, - i386_pe_valid_type_attribute_p): Remove. - (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New. - * config/ia64/ia64.c (ia64_valid_type_attribute): Remove. - (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (ia64_attribute_table): New. - * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1, - interrupt_ident2, model_ident1, model_ident2): Remove. - (TARGET_VALID_DECL_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (init_idents): Update. - (m32r_attribute_table, m32r_handle_model_attribute): New. - * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p): - Remove. - (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New. - * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove. - (TARGET_VALID_DECL_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (mcore_attribute_table, mcore_handle_naked_attribute): New. - * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove. - (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (ns32k_attribute_table, ns32k_handle_fntype_attribute): New. - * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove. - (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (rs6000_attribute_table, rs6000_handle_longcall_attribute): New. - * config/sh/sh.c (sh_valid_decl_attribute): Remove. - (TARGET_VALID_DECL_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (sh_attribute_table, sh_handle_interrupt_handler_attribute, - sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute): - New. - * config/stormy16/stormy16.c (stormy16_valid_type_attribute): - Remove. - (TARGET_VALID_TYPE_ATTRIBUTE): Don't define - (TARGET_ATTRIBUTE_TABLE): Define. - (stormy16_attribute_table, stormy16_handle_interrupt_attribute): - New. - * config/v850/v850.c (v850_valid_decl_attribute): Remove. - (TARGET_VALID_DECL_ATTRIBUTE): Don't define. - (TARGET_ATTRIBUTE_TABLE): Define. - (v850_attribute_table, v850_handle_interrupt_attribute, - v850_handle_data_area_attribute): New. - * config/v850/v850-c.c (mark_current_function_as_interrupt): - Return void. Call decl_attributes instead of - valid_machine_attribute. - -Fri Sep 21 01:49:41 2001 J"orn Rennecke - - * sh-protos.h (sh_pr_n_sets): Declare. - * sh.c (calc_live_regs): If the initial value for PR has been copied, - look at the copy to determine if PR needs to be saved. - sh_pr_n_sets: New function. - * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val. - (ALLOCATE_INITIAL_VALUE): Define. - - * sh.c (initial_elimination_offset): - Fix RETURN_ADDRESS_POINTER_REGNUM case. - -Fri Sep 21 01:13:56 2001 J"orn Rennecke - - * integrate.c (allocate_initial_values): New function. - * integrate.h (allocate_initial_values): Declare. - * local-alloc.c (local_alloc): Move call to allocate_reg_info from - here... - * reload1.c (reload): And initialization of reg_equiv_memory_loc - from here... - * toplev.c (rest_of_compilation): To here. - Call allocate_initial_values. - * tm.texi: add description for ALLOCATE_INITIAL_VALUE. - -Thu Sep 20 09:00:27 2001 Richard Kenner - - * ggc-page.c (ggc_marked_p): Properly convert return to boolean. - -2001-09-20 DJ Delorie - - * c-typeck.c (really_start_incremental_init): Discriminate - between zero-length arrays and flexible arrays. - (push_init_level): Detect zero-length arrays and handle them - like fixed-sized arrays. - * expr.c (store_constructor): Handle zero-length arrays and - flexible arrays correctly. - * doc/extend.texi: Update zero-length array notes. - -2001-09-20 Jim Wilson - - * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle. - (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking - for issue port conflicts. - (cycle_end_fill_slots): TYPE_L instructions take two slots. - -2001-09-20 Andrew MacLeod - - * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3 - on ia64. - -Thu Sep 20 09:00:27 2001 Richard Kenner - - * fold-const.c (hashtab.h): Include. - (int_const_binop): Remove FORSIZE arg and compute from type; all - callers changed. - Call size_int_type_wide for all single-word constants. - (size_htab_hash, size_htab_eq): New functions. - (size_int_type_wide): Rework to use hash table. - * ggc-common.c (hashtab.h): Include. - (struct d_htab_root): New struct. - (d_htab_roots): New variable. - (ggc_add_deletable_htab, ggc_htab_delete): New functions - (ggc_mark_roots): Handle deletable htabs. - * ggc-page.c (ggc_marked_p): New function. - * ggc-simple.c (ggc_marked_p): Likewise. - * ggc.h: Reformatting throughout. - (ggc_marked_p, ggc_add_deletable_htab): New declarations. - * tree.c (init_obstacks): Make type_hash_table a deletable root. - (type_hash_add): Allocate struct type_hash from GC memory. - (mark_hash_entry, mark_type_hash): Deleted. - (type_hash_marked_p, type_hash_mark): New functions. - * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h. - -Thu Sep 20 12:49:34 2001 J"orn Rennecke - - * sh.c (shiftcosts): Don't use shiftcosts array for modes wider - than SImode. - -Thu Sep 20 09:00:27 2001 Richard Kenner - - * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable - array-too-large test for signed sizetype. - -Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka - - * i386.md (indirect_jump): Allow Pmode operand. - (tablejump): LIkewise; perform expansion to 64bit mode. - * i386.c (symbolic_operand): Allow 64bit PIC references. - (pic_symbolic_operand): Likewise. - (ix86_find_base_term): Strip the 64bit PIC references. - (legitimate_pic_address_disp_p): Handle 64bit PIC. - (legitimize_pic_address): Likewise. - (i386_simplify_dwarf_addr): Strip down the 64bit PIC references. - * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation. - -2001-09-19 Alexandre Petit-Bianco - - * stringpool.c (get_identifier_with_length): New function. - * tree.h (get_identifier_with_length): New prototype. - -2001-09-19 Alan Modra - David Edelsohn - - Revert: - * config/rs6000/rs6000.c (logical_operand): CONST_INTs are - already sign-extended. - - * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers. - * config/rs6000/rs6000.c (logical_operand): Always compare op as - HOST_WIDE_INT. - (rs6000_emit_set_long_const): Avoid unnecessary shift. - (output_profile_hook): Declare label_name const. - * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates - to match constraints. - -2001-09-19 Stan Shebs - - * alias.c: Fix typos in comments. - * sched-rgn.c (init_ready_list): Ditto. - * unwind-dw2.c (uw_frame_state_for): Ditto. - * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto. - * unwind.inc (_Unwind_RaiseException_Phase2): Ditto. - * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto. - -2001-09-19 Richard Henderson - - * cfg.c (force_nonfallthru_and_redirect): Handle redirecting - to the exit block. - * Makefile.in (cfg.o): Depend on TM_P_H. - -2001-09-19 Richard Henderson - - * config/alpha/alpha.c (local_symbol_p): Split out from ... - (local_symbolic_operand): ... here. - (small_symbolic_operand): Check mode. - (global_symbolic_operand): New. - (input_operand): Reject symbolics if explicit relocs. - (call_operand): Tidy. - (alpha_legitimize_address): Use movdi_er_high_g. - (alpha_expand_mov): Likewise. - * config/alpha/alpha-protos.h: Update. - * config/alpha/alpha.h (PREDICATE_CODES): Update. - * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New. - (UNSPEC_LDGP2, UNSPECV_PLDGP2): New. - (UNSPECV_LDGP2): Remove. - (all call patterns): Use 's' not 'i' for symbolic constraint. - (call_osf call_value_osf): Use call_operand. - (all osf call patterns): Use $gp. New peepholes for explicit relocs. - (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative. - (prologue_ldgp_1_er): Remove. - (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New. - (builtin_setjmp_receiver_er patterns): Use them. - (exception_receiver_er): Likewise. - -2001-09-19 Richard Henderson - - * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw. - - * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN - and NON_LOCAL_GOTO notes. - * recog.c (peephole2_optimize): Likewise. Handle EH_REGION; - copy over CALL_INSN_FUNCTION_USAGE. - -2001-09-18 Catherine Moore - - * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN): - Define as 0. - -2001-09-18 Ulrich Weigand : - - * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to - new-style tm_file specification. Specify correct tm_p_file, - md_file, and out_file for s390x. - - * config/s390/linux.h, linux64.h: Don't include other target - macro header files. Now handled via tm_file. - - * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT, - TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they - are defined before use. - -Tue Sep 18 09:51:11 2001 Eric Christopher - - * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf - code generation only for Gnu assembler. - -2001-09-18 Catherine Moore - - * config/stormy16 (LIB_SPEC): Remove -lnosys. - -2001-09-18 Richard Sandiford - - * config/mips/mips.c (mips_frame_set): New. - (mips_emit_frame_related_store): When storing two 32-bit FPRs, use - a parallel frame-related expression with a set for each register. - -2001-09-18 Philip Blundell - - * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel - header files. - -2001-09-17 Dale Johannesen - - * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2. - * config/rs6000/aix.h (FIXED_R2): Define. - * config/rs6000/darwin.h (FIXED_R2): Define. - * config/rs6000/sysv4.h (FIXED_R2): Define. - -2001-09-17 Jeff Sturm - - * except.c (dw2_build_landing_pads): New local - clobbers_hard_regs. Emit an ASM_INPUT as a scheduling - barrier after clobbers. Fixes c++/4012. - -2001-09-17 Kaveh R. Ghazi - - * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat. - -2001-09-17 Joseph S. Myers - - * dostage2, dostage3, listing, make-l2.com, makefile.vms, - patch-apollo-includes, vmsconfig.com: Remove obsolete files. - -2001-09-17 Kaveh R. Ghazi - - * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of - alloca/strcpy. - -2001-09-17 Neil Booth - - * cpphash.h (_cpp_lex_direct): New. - * cpplex.c (_cpp_lex_token): Update. - (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token, - and increment that pointer. - * cppmacro.c (alloc_expansion_token): New. - (lex_expansion_token): Lex macro expansion directly into - macro storage. - -2001-09-16 Brad Lucier - - * Makefile.in: Make rtl-error.o depend on $(CONFIG_H). - -Sun Sep 16 21:59:46 CEST 2001 Jan hubicka - - * basic-block.h (free_bb_for_insn): Declare. - * bb-reorder.c (label_for_bb): Use block_label. - (emit_jump_to_block_after): Remove. - (insert_intra_1): Do not update block_for_insn. - (insert_inter_bb_scope_notes): Likewise; update bb->end - * cfg.c (free_bb_for_insn): New. - (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call. - (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries. - (commit_one_edge_insertion): Likewise. - (commit_one_edge_insertion): Do not update BB boundary. - (commit_edge_insertions): Do not call compute_bb_for_insn. - * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn. - * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb. - (merge_blocks_move_successor_nojumps): Likewise. - (try_crossjump_to_edge): Do not update block_for_insn. - * combine.c (combine_instructions): Remove compute_bb_for_insn call. - * df.c (df_pattern_emit_later): Do not update BB boundary. - (df_jump_pattern_emit_after): Likewise. - (df_insn_move_before): Use emit_insn_before. - * emit-rtl.c (try_split): Emit after trial to get bb boundary updated - properly. - (add_insn_after, add_insn_before, emit_insns_after): Update BB - boundaries and basic_block_for_insn. - (reorder_insns_nobb): Rename from reorder_insns. - (reorder_insns): New. - (emit_block_insn_before, emit_block_insn_after): Kill. - * flow.c (check_function_return_warnings): Do not call - compute_bb_for_insn; Do not free basic_block_for_insn. - (attempt_auto_inc): Do not update basic_block_for_insn. - * function.c (emit_return_into_block): Likewise; - do not update BB boundaries. - * gcse.c (handle_avail_expr): Do not update basic_block_for_insn. - (insert_insn_end_bb): Use emit_insn_before; Likewise. - (pre_insert_copy_insn): Likewise. - (update_ld_motion_notes): Likewise. - (insert_insn_start_bb): Likewise. - (replace_store_insn): Likewise. - * ifcvt.c (noce_process_if_block): Likewise. - (if_convert): Do not call compute_bb_for_insn. - * lcm.c (optimize_mode_switching): Do not update BB boundaries. - Use emit_insn_before and emit_insn_after. - * recog.c (split_all_insns): Do not update BB boundaries; - Do not call compute_bb_for_insn. - (peephole2_optimize): Do not update BB boundaries. - * reg-stack.c (emit_pop_insn): Use emit_insn_after and - emit_insn_before. - (emit_swap_insn): Likewise. - (convert_regs_1): Likewise. - * reload1.c (reload): Call compute_bb_for_insn. - * rtl.h (reorder_insns_nobb): Declare. - * ssa.c (rename_equivalent_regs): Use emit_insn_before. - * toplev.c (rest_of_compilation): Call free_bb_for_insn - at places CFG is invalidated; do not call compute_bb_for_insn. - - * cfg.c (expunge_block): Invalidate BB structure. - - * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN - array. - - * cfg.c (verify_flow_info): Verify the basic_block_for_insn array. - -2001-09-16 Neil Booth - - * cpphash.h (_cpp_lex_token): Update prototype. - * cpplex.c (_cpp_lex_token): New prototype. - * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive, - lex_macro_node, read_flag, do_pragma_poison): Update. - * cppmacro.c (cpp_get_token, parse_params, - lex_expansion_token): Update. - -2001-09-16 Neil Booth - - * cppmain.c (scan_translation_unit): Don't worry about - putting a space after hashes. - * cpplib.c (directive_diagnostics): New. - (_cpp_handle_directive): Update to use directive_diagnostics. - (run_directive): Don't toggle prevent_expansion. - (do_line): Backup in case of the line extension. - * cpplib.h (cpp_lexer_pos): Remove. - * cppmacro.c (_cpp_create_definition): Precede a leading # - with whitespace. - -2001-09-15 Richard Henderson - - * c-typeck.c (comptypes): Handle zero-length arrays properly. - -2001-09-15 Roman Lechtchinsky - - * c-common.c (c_promoting_integer_type_p): Handle ?Imode types. - -2001-09-15 Neil Booth - - PR preprocessor/3571 - * tradcpp.c (handle_directive): Skip non-vertical space. - -2001-09-15 Neil Booth - - * cppmain.c (setup_callbacks): Set line callback only - if outputting preprocessed source. - -2001-09-15 Kaveh R. Ghazi - - * collect2.c (main): Const-ification. - * gcc.c (translate_options, process_command): Use xstrdup in - lieu of xmalloc/strcpy. - (main): Use concat in lieu of xmalloc/strcpy/strcat. - -2001-09-14 Roman Lechtchinsky - - * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix - example. - -2001-09-15 Neil Booth - - * scan-decls.c (scan_decls): Fix typo. - -2001-09-15 Neil Booth - - * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos. - Split mlstring_pos into mls_line and mls_col. - * cppinit.c (cpp_create_reader): Initialize line to 1. - (cpp_destroy): Free tokenruns. - (push_include): Don't update lexer_pos. - * cpplex.c (unterminated, parse_string): Update. - (lex_token): Don't update lexer_pos, update. - * cpplib.c (if_stack): Save line instead of line + col. - (start_directive, _cpp_do__Pragma, do_else, do_elif, - push_conditional, _cpp_pop_buffer): Update. - * cppmacro.c (funlike_invocation_p): Don't save lexer_pos. - (_cpp_create_definition): Update. - -2001-09-15 Eric Christopher - - * config/mips/abi64.h: Add support for MEABI. - -2001-09-15 Eric Christopher - - * config/mips/mips.md: Add unspec #2. - (reload_indi): Use. - (reload_outdi): Ditto. - (reload_outsi): Ditto. - (HILO_delay): New. - -2001-09-15 Eric Christopher - Jason Eckhardt - - * config.gcc: Add mipsisa32 target and mipsisa32-linux target. - * config/mips/isa32-linux.h: New file. - * config/mips/isa3264.h: Ditto. - * config/mips/mips-protos.h: Add mips_hard_regno_nregs. - * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h. - (output_block_mode): Support MEABI. - (function_arg): Ditto. Fix floating point arg passing. - (mips_va_start): Ditto. - (override_options): Add isas 32 and 64, meabi, mips32 and mips64 - processors. - (mips_asm_file_start): Add new section to pass abi to gdb. - (function_arg_pass_by_reference): Support MEABI. - (mips_parse_cpu): Support mips32 and mips64 processors. - * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC, - TARGET_MIPS5KC. Support isa32 and isa64. - (processor_type): Add r4kc, r5kc, r20kc. - (GENERATE_MULT3_SI): New. - (GENERATE_MULT3_DI): Ditto. - (GENERATE_MULT3): Remove. - (ISA_HAS_64BIT_REGS): Add isa == 64. - (ISA_HAS_8CC): Add mips_isa = 32 and 64. - (ISA_HAS_MADD_MSUB): New. - (ISA_HAS_CLZ_CLO): Ditto. - (ISA_HAS_DCLZ_DCLO): Ditto. - (ABI_GAS_ASM_SPEC): New. - (GAS_ASM_SPEC): Use. Add support for mips32, mips64. - (ASM_SPEC): Ditto. - (LINK_SPEC): Ditto. - (SUBTARGET_CC1_SPEC): Ditto. - (SUBTARGET_CPP_SIZE_SPEC): Ditto. - (PAD_VARARGS_DOWN): Support MEABI. - (HARD_REGNO_NREGS): Move to mips.c. - (ASM_OUTPUT_IDENT): Add #undef. - * config/mips/mips.md: Add r4kc, r5kc, r20kc. - (mulsi3): Use GENERATE_MULT3_SI. - (mulsi3_mult3): Ditto. Support mips32, mips64. - (mul_acc_si): Use ISA_HAS_MADD_MSUB. - (mul_sub_si): New pattern. - (unnamed splitters): New. - (muldi3): Use GENERATE_MULT3_DI. - (muldi3_internal2): Ditto. - (movdicc): Support mips32. - * config/mips/t-isa3264: New file. - -2001-09-15 Hans-Peter Nilsson - - * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT - || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT - || HAVE_POST_DECREMENT]: Call find_regno_note for REGs. - - * reorg.c (fill_slots_from_thread): After call to - steal_delay_list_from_target, update own_thread as new_thread may - have branched. - -2001-09-14 Neil Booth - - * cpperror.c (print_location): Take line and column, for - default positioning use the previously lexed token. - (_cpp_begin_message): Take line and column. - (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning, - cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update. - * cpphash.h (_cpp_begin_message): Update prototype. - * cppinit.c (push_include): Don't set output line. - * cpplex.c (_cpp_lex_token): Callback for start of new output lines. - * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update. - (do_pragma): Kludge for front ends. Don't expand macros at all. - * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove. - (struct cpp_token): Remove output_line. - (struct cpp_callbacks): New member line_change. - * cppmacro.c (builtin_macro, paste_all_tokens, replace_args, - cpp_get_token): Preserve BOL flag. - (cpp_get_line): Remove. - (_cpp_backup_tokens): Remove useless abort(). - * cppmain.c (cb_line_change): New. - (scan_translation_unit): Don't worry about starting new lines here. - * scan-decls.c (scan_decls): Update. - * c-lex.c (c_lex, init_c_lex): Update. - (cb_line_change, src_lineno): New. - -Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com) - - * tree.c (append_random_chars): Generate the random - characters in a reproducable fashion. - -2001-09-14 Richard Henderson - - * config/i386/i386.c (internal_label_prefix): New. - (internal_label_prefix_len): New. - (override_options): Set them. - (local_symbolic_operand): New. - (legitimate_pic_address_disp_p): Use it. - (legitimize_pic_address): Likewise. - -2001-09-14 Marc Espie - - * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT - correctly. - -2001-09-14 Roman Lechtchinsky - - * config/alpha/alpha.md (unaligned_extendhidi_be): Fix. - * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New. - -2001-09-14 Nick Clifton - - * rtlanal.c (subreg_regno_offset): Add semicolon to end of - invocation of SUBREG_REGNO_OFFSET. - - * haifa-sched.c: Fix typo in FSF copyright statement. - * sched-deps.c: Fix typo in FSF copyright statement. - * sched-ebb.c: Fix typo in FSF copyright statement. - * sched-rgn.c: Fix typo in FSF copyright statement. - * sched-vis.c: Fix typo in FSF copyright statement. - - * config.gcc: Move inclusion of arm elf specific header files - from the files themselves into the tm_file variable. Make - sure that elfos.h is included before target specific elf - headers. - * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not - already defined. - (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition. - * config/arm.arm.h (TARGET_MEM_FUNCTIONS, - ASM_OUTPUT_CASE_LABEL): Protect definition. - (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if - not already defined. - * config/arm/conix-elf.h: (USER_LABEL_PREFIX, - LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION): - Remove duplicate definition. - (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION, - (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP, - (RDATA_SECTION_FUNCTION): Remove redundant definition. - (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition. - Remove inclusion of arm/elf.h. - * config/arm/unknown-elf.h: as for conix-elf.h. - (STARTFILE_SPEC): Include crti.o and crtn.o. - * config/arm/linux-elf.h: as for conix-elf.h. - * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h. - * config/arm/strongarm-elf.h: Remove inclusion of - unknown-elf.h. - * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h. - * config/arm/unknown-elf-oabi.h: Remove inclusion of - unknown-elf.h and elf.h. - * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h. - * config/arm/linux-gas.h (DBX_DEBUGGING_INFO, - ASM_WEAKEN_LABEL): Remove redundant definition. - * config/arm/elf.h: Test for inclusion of elfos.h - (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT, - ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME, - SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION, - EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove - redundant definition. - (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME, - ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL, - ASM_OUTPUT_ALIGNED_COMMON): Protect definition. - * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o. - Add rules to build crti.o and crtn.o - * crti.asm: New file. - * crtn.asm: New file. - -2001-09-13 Neil Booth - - * c-parse.in (_yylex): Use _cpp_backup_tokens. - * cpphash.h (struct tokenrun): Add prev. - (struct lexer_state): Remove bol. - (struct cpp_reader): Remove old lookahead stuff, add lookaheads. - (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token) - : Remove. - * cppinit.c (cpp_create_reader): Don't set bol. - (cpp_destroy): Don't free lookaheads. - * cpplex.c (lex_directive): Remove. - (next_tokenrun): Update. - (_cpp_lex_token): Clean up logic. - (lex_token): Update to return a pointer to lexed token, since it - can move to the start of the buffer. Simpify newline handling. - * cpplib.c (SEEN_EOL): Update. - (skip_rest_of_line): Remove lookahead stuff. - (end_directive): Line numbers are already incremented. Revert - to start of lexed token buffer if we can. - (_cpp_handle_directive, do_pragma, do_pragma_dependency, - parse_answer): Use _cpp_backup_tokens. - (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags - instead. Don't check for EOL. - (do_include_common, do_line, do_pragma_system_header): Use - skip_rest_of_line. - * cpplib.h (BOL, _cpp_backup_tokens): New. - * cppmacro.c (save_lookahead_token, take_lookahead_token, - alloc_lookahead, free_lookahead, _cpp_free_lookaheads, - cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove. - (builtin_macro): Don't use cpp_get_line. - (cpp_get_line): Short term kludge. - (parse_arg): Handle directives in arguments here. Back up when - appropriate. Store EOF at end of argument list. - (funlike_invocation_p): Use _cpp_backup_tokens. - (push_arg_context): Account for EOF at end of list. - (cpp_get_token): Remove lookahead stuff. Update. - -2001-09-13 Kaveh R. Ghazi - - * c-parse.in (yyerror): Const-ification and/or static-ization. - * c-typeck.c (push_member_name): Likewise. - * collect2.c (main): Likewise. - * dbxout.c (dbxout_parms): Likewise. - * diagnostic.c (format_with_decl): Likewise. - * dwarf2out.c (output_ranges): Likewise. - * dwarfout.c (fundamental_type_code): Likewise. - * except.c (dw2_output_call_site_table): Likewise. - * gcc.c (do_spec_1): Likewise. - * genopinit.c (optabs): Likewise. - * objc/objc-act.c (synth_id_with_class_suffix, start_class, - gen_declaration_1, handle_impent): Likewise. - * protoize.c (default_include, in_system_include_dir, abspath): - Likewise. - * sched-vis.c (visualize_stall_cycles): Likewise. - * sdbout.c (plain_type_1, sdbout_end_function, - sdbout_end_epilogue): Likewise. - * varasm.c (decode_reg_name): Likewise. - - * 1750a.c (mod_regno_adjust): Likewise. - * alpha.c (alpha_write_one_linkage, - unicosmk_output_default_externs): Likewise. - * arm.c (arm_condition_codes): Likewise. - * arm.h (arm_condition_codes): Likewise. - * avr.c (output_movsisf, encode_section_info): Likewise. - * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL): - Likewise. - * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise. - * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise. - * m88k.c (output_function_profiler): Likewise. - * mips.c (mips_output_conditional_branch): Likewise. - * ns32k.c (ns32k_out_reg_names): Likewise. - * ns32k.h (ns32k_out_reg_names): Likewise. - * pj.c (pj_output_rval): Likewise. - * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise. - * sparc.c (sparc_flat_function_prologue, - sparc_flat_function_epilogue): Likewise. - -2001-09-13 Markus Werle - Gerald Pfeifer - - * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at - Aachen University of Technology". - -2001-09-13 Andreas Schwab - - * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for - C99. - -2001-09-13 Richard Henderson - - * config/alpha/alpha.c (small_symbolic_operand): New. - (override_options): Set MASK_SMALL_DATA based on pic/PIC. - (some_operand, input_operand): Don't handle HIGH. - (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp. - (alpha_expand_mov): Likewise. - (print_operand) [H]: Just print HIGH symbol. - (print_operand_address): Handle small data. - * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New. - (TARGET_SWITCHES): Add -msmall-data/large-data. - (PIC_OFFSET_TABLE_REGNUM): New. - (PREFERRED_RELOAD_CLASS): Don't handle HIGH. - (PREDICATE_COES): Update. - * config/alpha/alpha.md (adddi_er_high): New. - (adddi_er_low): Handle small data. - * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA, - prefer .sdata to .rodata. - (SELECT_RTX_SECTION): Likewise. - -2001-09-12 Josh Martin - - * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from - defining __size_t and leaving size_t undefined. - -2001-09-12 Diego Novillo - - * basic-block.h (expunge_block): Declare. - * cfg.c (expunge_block): Remove static declaration. - -2001-09-12 Richard Henderson - - * integrate.c (copy_insn_list): Copy label name from - NOTE_INSN_DELETED_LABEL. - -2001-09-12 Kaveh R. Ghazi - - * c-common.c (c_tree_code_name): Const-ification. - * c-decl.c (c_decode_option): Likewise. - * c-typeck.c (warn_for_assignment): Likewise. - * collect2.c (libexts, is_ctor_dtor, main, ignore_library): - Likewise. - * cppinit.c (output_deps): Likewise. - * dependence.c (dependence_string, direction_string): Likewise. - * dwarf2out.c (output_ranges): Likewise. - * fixinc/fixfixes.c (emit_gnu_type): Likewise. - * fixinc/gnu-regex.c (re_error_msgid): Likewise. - * gcc.c (standard_exec_prefix, standard_exec_prefix_1, - standard_startfile_prefix, standard_startfile_prefix_1, - standard_startfile_prefix_2, tooldir_base_prefix, - standard_bindir_prefix, find_a_file): Likewise. - * genattrtab.c (make_length_attrs): Likewise. - * gencheck.c (tree_codes): Likewise. - * genemit.c (gen_split): Likewise. - * genrecog.c (special_mode_pred_table): Likewise. - * graph.c (graph_ext): Likewise. - * protoize (default_include): Likewise. - * reload.c (reload_when_needed_name): Likewise. - * sched-vis.c (visualize_stall_cycles): Likewise. - * tlink.c (recompile_files): Likewise. - * toplev.c (decode_g_option): Likewise. - * tradcpp.c (output_deps): Likewise. - * varasm.c (decode_reg_name): Likewise. - - * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code): - Const-ification. - * arm.md: Likewise. - * avr.c (avr_regnames, encode_section_info): Likewise. - * c4x.c (float_reg_names): Likewise. - * darwin.h (ASM_GLOBALIZE_LABEL): Likewise. - * elfos.h (const_section): Likewise. - * i386.c (ix86_comp_type_attributes): Likewise. - * i386/win32.h (STRIP_NAME_ENCODING): Likewise. - * ia64/aix.h (UNIQUE_SECTION): Likewise. - * ia64.c (type_names): Likewise. - * m68hc11.c (reg_class_names): Likewise. - * m88k.c (m_options): Likewise. - * mips.c (mips_output_conditional_branch, mips_unique_section): - Likewise. - * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise. - * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue, - ultra_code_names): Likewise. - * sparc.h (OVERRIDE_OPTIONS): Likewise. - -2001-09-12 Jakub Jelinek - - * configure.in (gcc_cv_as_shf_merge): Fix a typo. - Use --fatal-warnings option for gas. - * configure: Rebuilt. - -2001-09-12 Roman Lechtchinsky - - * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document. - -2001-09-11 Jim Wilson - - * alias.c (clear_reg_alias_info): Only handle pseudo registers. - -2001-10-11 Matt Kraai - - * builtins.c (c_strlen): Treat an offset too large for a - HOST_WIDE_INT as out of range. - -Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka - - * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags. - (EDGE_CRITICAL_P): New predicate. - * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL - handling. - (insert_insn_on_edge): Use EDGE_CRITICAL_P. - (dump_edge_info): Remove "crit". - * cfganal.c (mark_critical_edges): Kill. - * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call. - * cfgcleanup.c (cleanup_cfg): Likewise. - * profile.c (instrument_edges): Use EDGE_CRITICAL_P. - (find_spanning_tree): Likewise. - * reg-stack.c (convert_regs_1): Likewise. - * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise. - - * basic-block.h (create_basic_block_structure): New. - (create_basic_block): Update prototype. - (force_nonfallthru): New. - * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru. - * cfg.c (create_basic_block_structure): Rename from create_basic_block; - handle updating of block_for_insn, creating of empty BBs and BBs at - the end of INSN chain. - (create_basic_block): New function. - (split_block): Use create_basic_block. - (force_nonfallthru_and_redirect): Break out from ...; cleanup - (redirect_edge_and_branch_force): ... here. - (force_nonfallthru): New. - (split_edge): Rewrite to use force_nonfallthru and create_block. - * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure. - (find_basic_blocks): Free basic_block_for_insn. - * cfgcleanup.c (merge_blocks): Use force_nonfallthru. - - * cfg.c: Fix formating. - * cfgcleanup.c: Fix formating. - (merge_blocks, tail_recursion_label_p): Return bool. - (merge_blocks_move_predecessor_nojumps, - merge_blocks_move_successor_nojumps): Return void. - -2001-09-11 Jakub Jelinek - - * configure.in: Check whether assembler supports section merging. - * config.in: Rebuilt. - * configure: Rebuilt. - * varasm.c (variable_section, output_constant_pool): Pass alignment - to SELECT_SECTION and SELECT_RTX_SECTION. - (mergeable_string_section): New. - (mergeable_constant_section): New. - (default_elf_asm_named_section): Output SECTION_MERGE and - SECTION_STRINGS flags plus SECTION_ENTSIZE entity size. - * output.h (mergeable_string_section): New. - (mergeable_constant_section): New. - (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define. - * toplev.c (flag_merge_constants): New. - (f_options): Add -fmerge-constants and -fmerge-all-constants - options. - (toplev_main): Default to -fno-merge-constants if not optimizing. - * flags.h (flag_merge_constants): Add extern. - * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document. - * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third - argument. - * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): - Define if assembler has working .subsection -1 support. - (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument. - Put constant into special SHF_MERGE sections if the linker should - attempt to merge duplicates. - * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third - macro argument. - Put constant into special SHF_MERGE sections if the linker should - attempt to merge duplicates. - * config/alpha/elf.h: Likewise. - (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler - has working .subsection -1 support. - * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and - SELECT_SECTION. - * config/svr3.h: Likewise. - * config/darwin.h: Likewise. - * config/arm/aof.h: Likewise. - * config/arm/linux-elf.h: Likewise. - * config/avr/avr.h: Likewise. - * config/c4x/c4x.h: Likewise. - * config/d30v/d30v.h: Likewise. - * config/i386/dgux.h: Likewise. - * config/i386/osfrose.h: Likewise. - * config/i386/sco5.h: Likewise. - * config/i386/svr3gas.h: Likewise. - * config/ia64/aix.h: Likewise. - * config/m32r/m32r.h: Likewise. - * config/m68k/m68k.h: Likewise. - * config/m88k/dgux.h: Likewise. - * config/m88k/m88k.h: Likewise. - * config/mcore/mcore-pe.h: Likewise. - * config/mips/mips.h: Likewise. - * config/pa/pa.h: Likewise. - * config/pa/pa-linux.h: Likewise. - * config/romp/romp.h: Likewise. - * config/rs6000/sysv4.h: Likewise. - * config/rs6000/xcoff.h: Likewise. - * config/s390/linux.h: Likewise. - * config/sparc/sparc.h: Likewise. - * config/sparc/sysv4.h: Likewise. - * config/stormy16/stormy16.h: Likewise. - * config/v850/v850.h: Likewise. - * config/vax/vms.h: Likewise. - * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE - and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size. - * config/sparc/sparc.c (sparc_elf_asm_named_section): Use - default_elf_asm_named_section for SHF_MERGE sections. - -Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka - - * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block - is OK. - -2001-09-11 Joseph S. Myers - - * c-common.c (split_specs_attrs): Allow for empty attributes with - empty TREE_PURPOSE. Fixes PR c/4294. - -Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka - - * basic-block.h (cached_make_edge, make_single_succ): New. - (make_edge): Remove first parameter. - * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge. - * cfg.c (cached_make_edge): Rename from make_edge; return newly - created edge; use obstack allocation. - (make_edge, make_single_succ_edge): New. - (first_removed_edge): New static variable. - (init_flow): Initialize first_removed_edge and n_edges. - (clear_edges): Use remove_edge. - (flow_delete_block): Likewise. - (remove_edge): Add removed edges to the removed edges list. - (split_block, redirect_edge_and_branch_force, split_edge): - Use make_edge. - * cfganal.c (flow_call_edges_add): Updaet make_edge call. - (add_noreturn_fake_exit_edges): Likewise. - (connect_infinite_loops_to_exit): Liekwise. - * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks): - Use cached_make_edge. - * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge. - * profile.c (branch_prob): Update make_edge call. - * ssa-dce.c (ssa_eliminate_dead_code): Likewise. - -2001-09-11 Richard Henderson - - * config/alpha/alpha.c: Tidy formatting. - (local_symbolic_operand): Verify mode. - (alpha_sa_mask): Ignore unicos for eh_return. - (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL. - * config/alpha/alpha.md (umk divsi patterns): Remove. - (extendsfdf2): Remove unicos check. - (tablejump): Merge vms and unicos code; always use direct set - plus label_ref use. - -2001-09-11 Roman Lechtchinsky - - * config.gcc (alpha*-*-unicosmk*): New target. - - * config/alpha/alpha-protos.h (symbolic_operand, - unicosmk_add_call_info_word, unicosmk_add_extern, - unicosmk_defer_case_vector, unicosmk_unique_section, - unicosmk_output_align, unicosmk_text_section, unicosmk_data_section, - unicosmk_asm_file_start, unicosmk_asm_file_end, - unicosmk_output_common): Declare. - - * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand, - direct_return, function_arg, alpha_va_start, alpha_va_arg, - alpha_does_function_need_gp, alpha_end_function): Support Cray - Unicos/Mk. - (alpha_init_machine_status, alpha_mark_machine_status, - alpha_free_machine_status, unicosmk_output_deferred_case_vectors, - unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex, - unicosmk_asm_named_section, unicosmk_insert_attributes, - unicosmk_section_type_flags, symbolic_operand, - unicosmk_output_module_name, unicosmk_output_default_externs, - unicosmk_output_dex, unicosmk_output_externs, - unicosmk_output_addr_vec, unicosmk_ssib_name, - unicosmk_initial_elimination_offset, unicosmk_asm_file_start, - unicosmk_asm_file_end, unicosmk_output_common, - unicosmk_section_type_flags, unicosmk_unique_section, - unicosmk_add_call_info_word, unicosmk_text_section, - unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head, - unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list, - unicosmk_dex_count, unicosmk_special_name): New. - (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for - TARGET_ABI_UNICOSMK. - (get_aligned_mem, alpha_expand_unaligned_load, - alpha_expand_unaligned_store, alpha_expand_unaligned_load_words, - alpha_expand_unaligned_store_words): Support big-endian mode. - (print_operand): Likewise. New format specifier 't'. Use - TARGET_AS_SLASH_BEFORE_SUFFIX. - (alpha_is_stack_procedure): Rename from vms_is_stack_procedure. - (alpha_pv_save_size): Update with above change. - (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue, - alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray - Unicos/Mk. - - * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New. - (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK. - (TARGET_AS_SLASH_BEFORE_SUFFIX): New. - (EXTRA_CONSTRAINT): New constraint 'U'. - (PREDICATE_CODES): Add symbolic_operand. - - * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM, - UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants. - (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK. - (integer division and modulus patterns): Split in default and - Unicos/Mk versions. - (*divmodsi_internal, *divmoddi_internal): Disable for - TARGET_ABI_UNICOSMK. - (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in - little-endian and big-endian versions. - (ext, ins, msk): Likewise. - (extv, extzv, insv): Support big-endian mode. - (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK. - (call_umk, call_value_umk, *call_umk, tablejump_umk, - *tablejump_umk_internal, *call_value_umk): New. - (*movdi_nofix): Add pattern for loading an address into a register on - TARGET_ABI_UNICOSMK. - (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New. - (umk_mismatch_args, arg_home_umk): New. - (various insns): Don't use mov, fmov, nop, fnop and unop. - (realign): Support TARGET_ABI_UNICOSMK. - - * config/alpha/unicosmk.h: New file. - * config/alpha/t-unicosmk: New file. - - * fixinc/inclhack.def (unicosmk_restrict): New. - * fixinc/fixincl.x: Regenerate. - - * ginclude/stddef.h (size_t): Check for and define __SIZE_T__. - (wchar_t): Check for and define __WCHAR_T__. - -2001-09-11 Richard Sandiford - - * combine.c (simplify_shift_const): Treat shifts by the mode - size as undefined. - -2001-09-11 Neil Booth - - * cpphash.h (struct tokenrun): New. - (struct cpp_context): New member bol. - (struct cpp_reader): New members. - (_cpp_init_tokenrun): New. - * cppinit.c (cpp_create_reader): Set up the token runs. - * cpplex.c (lex_directive, lex_token, next_tokenrun): New. - (lex_token): New internalised version of _cpp_lex_token. Don't - handle directives or the multiple include optimization here any - more. Simply lex a token. - * cpplib.c (run_directive): Clear bol. - (_cpp_pop_buffer): Set bol. - * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing - arguments. - -2001-09-11 Michael Meissner - - * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and - give an error if the user uses -mfp32. - (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the - default options. - (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the - floating point register size. - (EXTRA_SPECS): Add CPP_FPR_SPEC. - - * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use - HOST_WIDE_INT_PRINT_DEC to properly print the result of - int_size_in_bytes. - * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto. - * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto. - -2001-09-11 Hans-Peter Nilsson - - * dbxout.c (dbxout_parms): Fix typo in comment. - * unroll.c (loop_find_equiv_value): Ditto. - * toplev.c (rest_of_compilation): Ditto. - * loop.c (scan_loop): Ditto. - * dwarf2out.c (struct dw_fde_struct): Ditto. - -2001-09-10 Zack Weinberg - - * cpplex.c (parse_identifier): Fast-path optimize. Avoid - copying identifier when we're just going to throw it away. - (parse_identifier_slow): New routine to handle abnormal cases. - (_cpp_lex_token): Update call site. - - * hashtable.c (ht_lookup): Don't assume that the string we've - been given is NUL-terminated. - * system.h: #define __builtin_expect(a, b) to (a) if not - GCC >=3.0. - -2001-09-10 Michael Meissner - - * config.gcc (sparc64-*-solaris2): Add alias to be compatible with - binutils, gdb. - -2001-09-10 David Edelsohn - - * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o). - -Mon Sep 10 16:26:44 2001 Richard Kenner - - * builtins.c (c_getstr): Correct thinko in last change and further - cleanup. - -2001-09-10 Tim Freeman - - * dwarf2out.c (incomplete_types, decl_scope_table): Make them - into varray's and register them as roots with the garbage - collector so they are not collected too soon. - -Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka - - * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o): - New. - * basic-block.h (flow_obstack, label_value_list, - tail_recursion_label_list): Declare - (tidy_fallthru_edges): Declare. - (expunge_block, last_loop_beg_note): Delete. - (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare. - * cfg.c: New file - (basic_block_for_insn, label_value_list): Move from flow.c; make global. - (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks, - init_flow, clear_edges, can_delete_note_p, can_delete_label_p, - flow_delete_insn, flow_delete_insn_chain, create_basic_block, - expunge_block, flow_delete_block, compute_bb_for_insn, - update_bb_for_insn, set_block_for_insn, set_block_for_new_insns, - make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup, - redirect_edge_pred, split_block, marge_blocks_nomove, block_label, - try_redirect_by_replacing_jump, last_loop_beg_note, - redirect_edge_and_branch, redirect_edge_and_branch_force, - tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p, - split_edge, insert_insn_on_edge, commit_one_edge_insertion, - commit_edge_insertions, dump_flow_info, debug_flow_info, - dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb, - verify_flow_info, purge_dead_edges, purge_all_dead_edges): - Move here from flow.c - * cfganal.c: New file. - (forwarder_block_p, can_fallthru, mark_critical_edges, - mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add, - find_unreachable_blocks, create_edge_list, free_edge_list, - print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print, - flow_edge_list_print, remove_fake_successors, remove_fake_edges, - add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit, - flow_reverse_top_sort_order_compute, flow_depth_first_order_compute, - flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb, - flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish); - Move here from flow.c - * cfgbuild.c: New file - (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge, - make_edges, find_basic_blocks_1, find_basic_blocks, - find_sub_basic_blocks): Move here from flow.c - * cfgcleanup.c: New file. - (try_simplify_condjump, try_forward_edges, tail_recursion_label_p, - merge_blocks_move_predecessor_nojumps, - merge_blocks_move_successor_nojumps, merge_blocks, - flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, - try_crossjump_bb, try_optimize_cfg): Move here from flow.c - (delete_unreachable_blocks, cleanup_cfg): Likewise; return true - if succeeded. - * cfgloop.c: New file - (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump, - flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find, - flow_loop_exit_edges_find, flow_loop_nodes_find, - flow_loop_pre_header_scan, flow_loop_pre_header_find, - flow_loop_tree_node_add, flow_loops_tree_build, - flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan, - flow_loops_find, flow_loops_update, flow_loop_outside_edge_p): - Move here from flow.c - * flow.c: Remove everything moved elsewhere - * output.h (cleanup_cfg): Return bool. - - * bb-reorder.c (reorder_block_def): Remove 'index'. - (insert_intra_1): Add argument BB, set block for new note. - (make_reorder_chain): Do not depdent on BB indexes. - (make_reorder_chain_1): Do not use BB indexes. - (label_for_bb): Likewise; set BB for new insn. - (emit_jump_to_block_after): Likewise. - (fixup_reorder_chain): Sanity check that all basic blocks - are chained; verify newly created insn chain; remove - undocnitional jump simplifying; Do not use BB indexes; - properly initialize count and frequency information; - dump reordered sequence. - (insert_intra_bb_scope_notes): update call of insert_intra_1. - (insert_inter_bb_scope_notes): Set block for new insn. - (reorder_basic_blocks): Dump flow info before reoredering. - -Mon Sep 10 06:47:35 2001 Richard Kenner - - * alias.c (clear_reg_alias_info): Use K&R format definition. - Avoid unsigned warning. - * builtins.c: Use "unsigned int", not "unsigned". - (target_char_cast): Use host_integerp and tree_low_cst. - (expand_builtin_args_info, expand_builtin_frame_address): Likewise. - (c_strlen): Likewise; OFFSET now HOST_WIDE_INT. - (c_getstr): Likewise. - (std_expand_builtin_va_arg): Use int_size_in_bytes. - (builtin_memcpy_read_str): Avoid unsigned warning. - (expand_builtin_memcpy): Alignments are unsigned. - (expand_builtin_strncpy, expand_builtin_memset): Likewise. - (expand_builtin_expect_jump): Use integer_zerop and integer_onep. - * predict.c (expensive_function_p): LIMIT now unsigned. - * resource.c (mark_target_live_regs): Make some vars unsigned. - * sdbout.c: Use "unsigned int", not "unsigned". - (MAKE_LINE_SAFE): Add cast to avoid unsigned warning. - (sdbout_source_line): Likewise. - (sdbout_record_type_name): Remove "const" for NAME declaration. - * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes. - -2001-09-10 Richard Sandiford - - * calls.c (store_one_arg): Expand comment. - -2001-09-10 Roman Lechtchinsky - - * calls.c (store_one_arg): Make sure that the entire argument is - pushed if STACK_PARMS_IN_REG_PARM_AREA is defined. - -2001-09-09 Richard Henderson - - * emit-rtl.c (adjust_address): Fix mode for LO_SUM. - -Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka - - * loop.c (combine_givs): Fix computing of benefit once giv is combined. - -2001-09-09 Richard Henderson - - * config/alpha/alpha.c (alpha_next_sequence_number): New. - (alpha_this_literal_sequence_number): New. - (alpha_this_gpdisp_sequence_number): New. - (some_operand, input_operand): Add HIGH. - (local_symbolic_operand): New. - (alpha_encode_section_info): New. - (alpha_legitimate_address_p): Allow LO_SUM. - (alpha_legitimize_address): Generate HIGH+LO_SUM. - (alpha_expand_mov): Likewise. - (secondary_reload_class): Check memory_operand not general_operand - for FP_REGS test. - (alpha_expand_unaligned_load): Force LO_SUM addresses into a register. - (alpha_expand_unaligned_store): Likewise. - (alpha_expand_unaligned_load_words): Likewise. - (alpha_expand_unaligned_store_words): Likewise. - (alpha_expand_block_clear): Likewise. - (print_operand): Handle %#, %*, %H. - (print_operand_address): Handle LO_SUM. - (find_lo_sum): New. - (alpha_does_function_need_gp): Use it. - (alpha_expand_block_move): Fix signed compare warnings. - (alpha_sa_mask, alpha_align_insns): Likewise. - * config/alpha/alpha-protos.h: Update. - * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New. - (MASK_EXPLICIT_RELOCS): New. - (TARGET_SWITCHES): Add -mexplicit-relocs. - (EXTRA_CONSTRAINT): Add 'T'. - (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS. - (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion. - (ENCODE_SECTION_INFO): Out line. - (REDO_SECTION_INFO_P): New. - (STRIP_NAME_ENCODING): New. - (ASM_OUTPUT_LABELREF): New. - (PRINT_OPERAND_PUNCT_VALID_P): Add #, *. - (PREDICATE_CODES): Update. - * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er, - call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix, - movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er, - builtin_setjmp_receiver_er, exception_receiver_1_er, - call_value_osf_1_er): New patterns. - (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative. - (movqi, movhi, movsi): Add explicit $31 base register to lda. - * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs. - (FINAL_PRESCAN_INSN): New. - -Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka - - * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code. - -2001-09-08 Andreas Jaeger - - * i386.h (TARGET_SWITCHES): Fix description. - -2001-09-07 David Edelsohn - - * rs6000.c (num_insns_constant): Compute number of instructions - more accurately. - - * doc/install.texi: Explain AIX exception handling work-around. - Update URL for AIX fixes. - -2001-09-07 Jim Wilson - - * alias.c (clear_reg_alias_info): New. - * flow.c (attempt_auto_inc): Call clear_reg_alias_info. - * rtl.h (clear_reg_alias_info): Declare. - -2001-09-07 Roman Lechtchinsky - - * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is - available. - (UEMUSHORT): New. Use instead of unsigned EMUSHORT. - (m16m,edivm,emulm): Change declaration to match definition. - -2001-09-07 Roman Lechtchinsky - - * reload.c (push_reload): Check for subreg_lowpart_p instead of - SUBREG_BYTE being 0 when determining if the inner part of a subreg - can be reloaded. - -2001-09-07 Roman Lechtchinsky - - * c-common.c (signed_or_unsigned_type): Handle machine mode types - which have no corresponding C type. - * fold_const.c (target_isinf,target_isnan,target_negative): Update - the representation of 64-bit doubles to work with 64-bit ints. - -2001-09-07 Aldy Hernandez - - * config/mips/mips.c (override_options): Do not override ISA when ABI - specified if MIPS_CPU_STRING_DEFAULT was specified. - -2001-09-07 Richard Henderson - - * loop.c (record_giv): Avoid simplifying MULT to ASHIFT. - (express_from_1): Wrap lines. - * rtlanal.c (commutative_operand_precedence): Rename from - operand_preference; export. - * rtl.h: Declare it. - * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling. - (simplify_binary_operation): Invoke simplify_plus_minus on - (CONST (PLUS ...)) as well. - (struct simplify_plus_minus_op_data): New. - (simplify_plus_minus_op_data_cmp): New. - (simplify_plus_minus): Use them. Avoid infinite recursion with - simplify_binary_operation wrt CONST. - -Fri Sep 7 11:52:30 2001 Kazu Hirata - - * h8300-protos.h (general_operand_dst_push): Remove. - * h8300.c (general_operand_dst_push): Likewise. - * h8300.h (OK_FOR_T): Likewise. - (EXTRA_CONSTRAINTS): Do not use OK_FOR_T. - * h8300.md (pushqi_h8300): New. - (pushqi_h8300hs): Likewise. - (pushqi): Likewise. - (pushhi_h8300): Likewise. - (pushhi_h8300hs): Likewise. - (pushhi): Likewise. - -Fri Sep 7 12:56:26 2001 Richard Kenner - - * genattrtab.c (attr_printf): First arg is unsigned. - Clean up formatting of callers. - -2001-09-06 Aldy Hernandez - - * config/mips/mips.c (override_options): Allow abi32 with 64 bit - registers. - -2001-09-07 Andreas Jaeger - - * i386.h (TARGET_SWITCHES): Fix descriptions. - -2001-09-07 Matt Kraai - - * stor-layout.c (compute_record_mode): Check DECL_SIZE is set. - -2001-09-06 Ira Ruben - - Remove OP_IDENTIFIER. - * tree.def (OP_IDENTIFIER): Remove. - * tree.c (tree_node_kind enum): Remove op_id_kind. - (tree_node_kind_names): Remove "op_identifiers". - (make_node): Remove OP_IDENTIFIER test. - (build_op_identifier): Removed because it isn't being used. - * print-tree.c (print_node): Remove OP_IDENTIFIER case. - * cp/pt.c (tsubst): Remove OP_IDENTIFIER case. - -2001-09-06 Richard Henderson - - * simplify-rtx.c (simplify_binary_operation): Revert last change. - -2001-09-06 Richard Henderson - - * simplify-rtx.c (simplify_binary_operation): Simplify contents - of CONST. - -2001-09-06 Franz Sirl - - * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register - number used for CR register. - -Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com) - Joern Rennecke (amylaar@cygnus.com) - - * h8300-protos.h (h8300_return_addr_rtx): New prototype. - * h8300.c (initial_offset): Handle offset between RP and FP. - (h8300_return_addr_rtx): New function. - * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a - return register. - (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes. - (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise. - (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise. - (CAN_ELIMINATE, REGISTER_NAMES): - (RETURN_ADDR_RTX): Call h8300_return_addr_rtx. - -2001-09-06 Nathan Sidwell - - Remove TYPE_NONCOPIED_PARTS. - * tree.h (TYPE_NONCOPIED_PARTS): Remove. - (struct tree_type): Remove noncopied_parts. - * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO. - * expr.c (save_noncopied_parts, init_noncopied_parts): Remove. - (fixed_type_p): Remove. - (expand_expr, INIT_EXPR): Don't deal with noncopied parts. - (expand_expr, MODIFY_EXPR): Likewise. - * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS. - * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME. - -2001-09-06 Alan Modra - - * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid - compiler warnings. - (mask64_operand): Likewise. - (includes_rldic_lshift_p): Likewise. - (includes_rldicr_lshift_p): Likewise. - -2001-09-05 Ziemowit Laski - - * objc/objc-act.c (build_message_expr): If a class method cannot - be found, do not issue a warning if a corresponding instance - method exists in the root class. - -2001-09-05 Richard Henderson - - * config/alpha/alpha.c (alpha_expand_mov): Initialize temp. - -2001-09-05 Zack Weinberg - - * function.c (ggc_mark_struct_function): Mark f->outer. - * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here... - * integrate.c (output_inline_function): ... not here. - -Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka - - * profile.c (branch_prob): Call add_noreturn_fake_exit_edges. - - * i386.c (size_cost): New static variable. - (override_function): Use size_cost when -Os is specified. - - * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue - properly; Use current_function_calls_eh_return. - (ix86_expand_epilogue): Avoid dummy optimize_size tests; - use leave to avoid dependency chain. - - * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream; - get BB loop_depth instead of computing it from LOOP notes. - - * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves. - -2001-09-05 John David Anglin - - * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. - * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, - UNALIGNED_DOUBLE_INT_ASM_OP): Define - -2001-09-05 Jeffrey A Law (law@cygnus.com) - Jason Merrill (jason@redhat.com) - - * stor-layout.c (layout_type): Complain if an array's size can - not be represented in a size_t. - - * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define. - -2001-09-05 David Billinghurst - - * gcc.c: (process_command) Add parentheses around assignment - used as truth value. - -2001-09-05 Richard Sandiford - - * config/mips/mips.c (save_restore_insns): Don't mark any register - save slots as unchanging if current_function_calls_eh_return. - -2001-09-05 Richard Henderson - - * config/alpha/alpha.c (alpha_legitimate_address_p): New. - * config/alpha/alpha-protos.h: Declare it. - * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file. - (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro. - (NONSTRICT_REG_OK_FP_BASE_P): Likewise. - (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro. - (REG_OK_FOR_BASE_P): Select one of the above. - -2001-09-05 Richard Sandiford - - * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead. - (crti.o): Prefix name of object file with $(T). - (crtn.o): Likewise. - -2001-09-05 David S. Miller - - * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC. - * config/sparc/linux64.h: Likewise. - -2001-09-05 Andreas Jaeger - - * doc/invoke.texi (i386 Options): -mwide-multiply is not - available anymore, remove the documentation. - (i386 Options): Fix typo, cleanup index entries. - - * prefix.c (concat): Remove, we can use the version from liberty. - -2001-09-05 Richard Henderson - - * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx): - New functions split out of md file expanders. - * config/alpha/alpha-protos.h: Declare them. - * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them. - -2001-09-05 Neil Booth - - * cppmacro.c (funlike_invocation_p): No need to restore context. - -2001-09-04 Richard Henderson - - * reload.c (push_reload): Export. - * reload.h (push_reload): Declare it. - - * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line. - (LEGITIMIZE_RELOAD_ADDRESS): Likewise. - * config/alpha/alpha.c (alpha_legitimize_address): New. - (alpha_legitimize_reload_address): Likewise. - * config/alpha/alpha-protos.h: Declare them. - -2001-09-04 Stan Shebs - - * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define. - * config/darwin.c (machopic_stub_name): Account for internally - generated lib calls such as memcpy. - -2001-09-04 Richard Henderson - - * unwind.h (_UA_END_OF_STACK): New flag. - * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it. - -Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com) - - * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8. - -2001-09-04 Richard Sandiford - - * config/mips/mips.c (save_restore_insns): Change base_offset to - fp_offset in second call to mips_emit_frame_related_store. - -2001-09-04 Hans-Peter Nilsson - - * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can - sometimes be represented as a NOTE of type - NOTE_INSN_DELETED_LABEL. - (Insns): Document NOTE_INSN_DELETED_LABEL. - -2001-09-04 Nathan Sidwell - - * c-common.h (tree_dump_index): Add more comments. - * c-dump.c (dump_files): Name flags `tree' rather than `ast'. - (dump_option_value_info): New struct. - (dump_options): New array. - (dump_switch_p): Parse switch options symbolically. - * doc/invoke.texi (-fdump-ast): Rename to ... - (-fdump-tree): ... here. Document that options are symbolic, and - not all are applicable. - -2001-09-04 David S. Miller - - * config/sparc/sparc.md (define_splits): Kill constraints. - - Cleanup redundant and unused insn attributes. - * config/sparc/sparc.md (define_attr "insn"): Kill address, unary, - binary, and move. Mark ialu as default. - (commented out define_function_unit "alu"): Kill. - (define_attr "use_clobbered"): Kill. - (whole file): Kill address insn type references. Replace - all unary/binary/move references with ialu. - * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS - references. Replace TYPE_{UNARY,BINARY,MOVE} references with - TYPE_IALU. - - Simplify length insn attribute and make more judicious use - of insn attribute defaulting. - * config/sparc/sparc.md (all insns with length > one): Mark as - insn type multi if real instructions, else use default if - it is a forced splitter. - (all insns with length == one): Use default insn length. - (all insns of type ialu): Use default insn type. - - Fix erroneous insn attribute settings. - (addx): Set insn type to misc. - (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64, - const_umulsidi3_sp64): Set insn type to imul. - - Track SFmode vs DFmode insns according to UltraSPARC - scheduling rules. - * config/sparc/sparc.md ("fptype"): New attribute, default - to "single". - (all DFmode single insns): Mark as fptype "double". - -2001-09-03 Jakub Jelinek - - * loop.c (express_from_1): Fix CONSTANT_P(a) case. - -2001-09-03 Richard Henderson - - * function.h (struct function): Add arg_pointer_save_area_init. - * function.c (expand_function_end): Init arg_pointer_save_area. - (get_arg_pointer_save_area): Do not init arg_pointer_save_area - when called from a nested function. - -2001-09-02 Angela Marie Thomas - - * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode - is enabled. - -Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka - - * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence. - -2001-09-01 Geoffrey Keating - - * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD. - (emit_push_insn): Use specified padding direction when - STACK_PUSH_CODE is POST_INC. - - * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0. - -2001-09-01 Kaveh R. Ghazi - - * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'. - -2001-09-01 Neil Booth - - * cppinit.c (cpp_start_read): Free the imacros list as we - traverse it. Don't free the chains before returning. - (_cpp_push_next_buffer): Only try pushing buffers if we've - completed -imacros handling. - -2001-08-31 Eric Christopher - - * gcc.c (handle_braces): Add explaination for abort. - -2001-08-30 Roman Zippel - - * expmed.c (store_bit_field): Update to patch from 2001-08-27: - move adjustment of bitpos instead. - -2001-08-31 Zack Weinberg - - * function.c: Remove all_functions. Make outer_function_chain - static. - (init_function_start): Don't add new function structure to - all_functions. - (find_function_data, push_function_context_to, - pop_function_context_from, put_var_into_stack, - trampoline_address): Update for changed structure element names. - (push_function_context_to): Disentangle. - (free_after_compilation): Also free F. - (expand_dummy_function_end): Don't free cfun here. - (put_var_into_stack): Comment why we can't use find_function_data here. - (fix_lexical_addr, trampoline_address, ): Use find_function_data. - (mark_function_chain): Split into maybe_mark_struct_function and - ggc_mark_struct_function. Export the latter. - (init_function_once): Mark from cfun and outer_function_chain; - not all_functions. - - * function.h (struct function): Kill next_global. Rename next - to outer. All users updated to match. - (all_functions, outer_function_chain): Don't declare. - - * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS. - * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS, - don't touch f->inlinable, after calling rest_of_compilation. - - * tree.h: Forward-declare struct function. Prototype - ggc_mark_struct_function. - -2001-08-31 Kazu Hirata - - * config/h8300/h8300.md (*andorhi3): Fix typos. - -2001-08-31 Kaveh R. Ghazi - - * calls.c (emit_library_call_value): Don't use a fixed - argument after VA_CLOSE, i.e. out of scope in traditional C. - - * emit-rtl.c (gen_rtvec): Likewise. - -2001-08-31 Kaveh R. Ghazi - - * Makefile.in (c-pragma.o): Depend on output.h. - (reorg.o): Depend on except.h. - - * c-pragma.c: Include output.h. - - * reorg.c: Include except.h. - - * unwind-dw2.c: Call __builtin_alloca, not alloca. - -2001-08-31 Richard Henderson - - * sched-deps.c (add_dependence): Don't elide dependency if the - conditional used by insn is modified in elem. - -2001-08-31 Nick Clifton - - * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define. - -2001-08-31 Diego Novillo - - * c-decl.c (c_decode_option): Skip '-f' prefix before calling - dump_switch_p. - -2001-08-31 Geoffrey Keating - - * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New - function. - (stormy16_asm_out_constructor): New function. - (TARGET_ASM_CONSTRUCTOR): Define. - (TARGET_ASM_DESTRUCTOR): Define. - -2001-08-31 Andreas Jaeger - - * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST. - * loop.c (add_label_notes): Likewise. - * reload.c (find_reloads): Likewise. - * config/sh/sh.c (machine_dependent_reorg): Likewise. - -2001-08-31 Jason Merrill - - * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading - code here. Take _Unwind_{W,Sw}ord*. - (read_encoded_value_with_base): Use them. - * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg - words. - (extract_cie_info): Simplify read_?leb128 handling. - (execute_stack_op, execute_cfa_program): Likewise. - * unwind-dw2-fde.c (get_cie_encoding): Likewise. - -2001-08-31 Geoffrey Keating - - * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use - the frame pointer to pop the stack if convenient. - - * config/stormy16/stormy16.c (stormy16_initialize_trampoline): - Don't use post-increment before combine. - * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use - a call-saved register. - -2001-08-31 Andreas Jaeger - - * jump.c (mark_jump_label): Revert patch from 2001-08-28, the - code was correct. - -2001-08-30 Geoffrey Keating - - * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD, - not DIV/MOD, of course. - -2001-08-30 Vladimir Makarov - - * rtl.def: Undo my patch commited 2001-08-27. - - * genattrtab.c: Ditto. - - * rtl.h: Ditto. - - * sched-int.h: Ditto. - - * target-def.h: Ditto. - - * target.h: Ditto. - - * haifa-sched.c: Ditto. - - * sched-rgn.c: Ditto. - - * sched-vis.c: Ditto. - - * Makefile.in: Ditto. - - * doc/md.texi: Ditto. - - * doc/tm.texi: Ditto. - - * doc/contrib.texi: Ditto. - - * doc/gcc.texi: Ditto. - - * genattrtab.h: Remove it. - - * genautomata.c: Remove it. - - * genattr.c: Undo my patch and Richard Henderson's patch commited - 2001-08-27. - -Thu Aug 30 19:22:15 2001 J"orn Rennecke - - * config.gcc (h8300-*-elf*): New case. - * h8300.h (CPP_SPEC): Add subtarget_cpp_spec. - (SUBTARGET_CPP_SPEC): Define. - (EXTRA_SPECS): Define. - (SUBTARGET_EXTRA_SPECS): Define. - * config/h8300/crti.asm, config/h8300/crtn.asm: New files. - * config/h8300/elf.h, config/h8300/t-elf: Likewise. - -Thu Aug 30 18:50:37 2001 J"orn Rennecke - - * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm. - (LIB2FUNCS_EXTRA): Define. - config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm . - config/h8300/fixunssfsi.c: New file. - -2001-08-30 Kazu Hirata - - * config/h8300/h8300.md (zero_extendqihi2): Changes to - define_expand to accommodate target-specific attributes. - (anonymous zero_extendqihi2 patterns): New. - -Thu Aug 30 18:10:56 2001 J"orn Rennecke - - * h8300.md (*andorhi3): New pattern. - -Thu Aug 30 16:00:31 2001 J"orn Rennecke - - * h8300.c (dosize): Fix test for "sub". - -Thu Aug 30 10:21:43 2001 J"orn Rennecke - - * c-typeck.c (pointer_diff): Try to eliminate common term before - doing conversions. - -2001-08-30 Nick Clifton - - * config/arm/arm.c (arm_compute_initial_elimination_offset): - Account for the saves of the FP registers. - - * config/arm/unknown-elf.h (TEXT_SECTION): Delete. - (TEXT_SECTION_ASM_OP): Define. - (INIT_SECTION_ASM_OP): Define. - (FINI_SECTION_ASM_OP): Define. - (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma. - (RDATA_SECTION_FUNCITON): Provide prototype. - -2001-08-29 Geoffrey Keating - - * reload1.c (move2add_note_store): Correct typo checking for - argument pushes. - -2001-08-29 Andrew MacLeod - - * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL - note should not be considered outside the libcall block. - -2001-08-29 Kaveh R. Ghazi - - * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE. - -2001-08-29 Kazu Hirata - - * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe. - -2001-08-29 Kazu Hirata - - * config/h8300/h8300-protos.h: Add a prototype for - emit_logical_op. - * config/h8300/h8300.c (emit_logical_op): New. - * config/h8300/h8300.md (andhi3): Use emit_logical_op. - (andsi3): Likewise. - (iorhi3): Likewise. - (iorsi3): Likewise. - (xorhi3): Likewise. - (xorsi3): Likewise. - -2001-08-29 John David Anglin - - * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for - comparison with rtx INTVAL. - (pa_output_function_prologue): Don't mix signed and unsigned in `?' - expression. - * pa.h (FUNCTION_ARG_SIZE): Likewise. - -2001-08-29 Kazu Hirata - - * config/h8300/lib1funcs.asm: Update the copyright. Fix - comment typos. - -2001-08-29 Kazu Hirata - - * config/h8300/h8300.md (anonymous movhi pattern): Don't move - (reg n) to (mem (pre_dec (reg n)) - (anonymous movsi pattern): Likewise. - -2001-08-29 Kazu Hirata - - * config/h8300/h8300.h (RETURN_ADDR_RTX): New. - -2001-08-29 Kazu Hirata - - * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of - several special constants. - -2001-08-29 Kazu Hirata - - * config/h8300/lib1funcs.asm: Fix comment typos. - -2001-08-29 Kaveh R. Ghazi - - * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT): - Fix format specifier warnings. - - * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof, - inet_makeaddr, semctl): Prototype. - - * mips.c (compute_frame_size): Fix signed/unsigned warnings. - (save_restore_insns): Use base_offset, not gp_offset. - - * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning. - (ASM_OUTPUT_BYTE): Fix format specifier warning. - -2001-08-29 Richard Henderson - - * bb-reorder.c (function_tail_eff_head): New. - (record_effective_endpoints): Set it. - (fixup_reorder_chain): Use it. - -2001-08-28 Kaveh R. Ghazi - - * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change. - -2001-08-28 Dale Johannesen - - * config/darwin.c (machopic_function_base_name): Add const - qualifier to a string. - (darwin_encode_section_info): Ditto. - -2001-08-28 Kaveh R. Ghazi - - * tree.c (default_valid_attribute_p): Don't use PARAMS on a - function definition. - -2001-08-28 Daniel Berlin - - * df.h (struct df): Add rts_order variable. - - * df.c (df_visit_next_rts): New function. - (df_visit_next): Renamed to df_visit_next_rc - (df_analyse_1): Allocate/compute/free rts_order as well. - (df_rd_global_compute): Use df_visit_next_rc instead of - df_visit_next. - (df_ru_global_compute): Use df_visit_next_rts instead of - df_visit_next. - - * flow.c (flow_reverse_top_sort_order_compute): New function. - - * basic-block.h: Add prototype. - -2001-08-28 Daniel Berlin - - * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable - blocks, the BB_REACHABLE is now set, rather than aux being - non-NULL. Update the test to reflect this. - -2001-08-28 Eric Christopher - - * config/mips/crtn.asm: Add comment explaining 16 byte alignment. - config/mips/crti.asm: Ditto. - -2001-08-28 Eric Christopher - Richard Henderson - - * c-pragma.h (add_weak): Move prototype from here... - * output.h (add_weak): ... to here. - * varasm.c (add_weak): Fix typo. - * config/mips/crti.asm: New file. - * config/mips/crtn.asm: Ditto. - * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef. - (CTOR_LISTS_DEFINED_EXTERNALLY): Remove. - (INVOKE__main): Ditto. - (INIT_SECTION_ASM_OP): New. - (FINI_SECTION_ASM_OP): Ditto. - (STARTFILE_SPEC): Add crti. - (ENDFILE_SPEC): Add crtn. - * config/mips/elf64.h: Same. - * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN): - Remove. - * config/mips/vxworks.h: Ditto. - * config/mips/t-elf: Support crti and crtn. - -2001-08-28 Alexandre Oliva - - * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not - INSN_LIST. - -2001-08-28 Richard Henderson - - * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos. - (one_cmplbi2 splitter): Remove redundant test. - -2001-08-28 Dale Johannesen - - * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define. - -2001-08-28 Danny Smith - - * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64. - -2001-08-28 Stan Shebs - - * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names. - (UNALIGNED_SHORT_ASM_OP): Define. - (UNALIGNED_INT_ASM_OP): Define. - -2001-08-28 Will Cohen - - * config/rs6000/rs6000.md (store_multiple): Correct RTL - generation for first set. - -2001-08-27 Roman Zippel - - * flow.c (redirect_edge_succ_nodup): Return new edge. - (try_simplify_condjump): Use new edge. - * basic-block.h (redirect_edge_succ_nodup): Update prototype. - - * cse.c (cse_basic_block): Skip note instructions. - -2001-08-27 Richard Henderson - - * combine.c (combine_simplify_rtx): Don't reverse condition - if there is no reverse for the condition. - (simplify_comparison): Don't simplify subregs from INT to FP. - - * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1, - suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1, - sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1, - bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, - bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev, - bunle_rev, bunlt_rev, bltgt_rev): New patterns. - -2001-08-27 Roman Zippel - - * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi, - bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset. - (pushqi1): New. - (adddi_dilshr32, adddi_dishl32): Only data register can be - source for mem destination. - - * expmed.c (store_bit_field): Ignore adjustment to bitpos - and use bitnum to decide about register move. - -2001-08-27 Richard Henderson - - * genattr.c (main): Emit state_t even when not doing scheduling. - -2001-08-27 Roman Zippel - Richard Henderson - - * gcse.c (reg_first_set, reg_last_set): Replace with ... - (reg_avail_info, current_bb): ... these. - (oprs_unchanged_p, record_last_reg_set_info): Use them. - (compute_hash_table): Likewise. - -2001-08-27 Roman Zippel - - * flow.c (verify_flow_info): Use checksums to verify edges. - -2001-08-27 Richard Henderson - - * genautomata.c (expand_automata): Always create a description. - -2001-08-27 Geoffrey Keating - - * optabs.c (expand_binop): Correctly handle the carry in multiword - add/subtract operations. - -2001-08-27 Fred Fish - - * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be - __SIZE_TYPE__. - -2001-08-27 Geoffrey Keating - - * reload.c (find_reloads_toplev): Back out this change: - - Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson - - * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a - mem if the address is a mode_dependent_address_p. - -2001-08-27 Vladimir Makarov - - * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET, - PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON, - AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New - RTL constructions. - - * genattr.c (main): New variable num_insn_reservations. Increase - it if there is DEFINE_INSN_RESERVATION. Output automaton based - pipeline hazard recognizer interface. - - * genattrtab.h: New file. - - * genattrtab.c: Include genattrtab.h. - (attr_printf, check_attr_test, make_internal_attr, - make_numeric_value): Move protypes into genattrtab.h. Define them - as external. - (num_dfa_decls): New global variable. - (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, - DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET, - DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION, - DEFINE_INSN_RESERVATION. Call expand_automata and write_automata. - - * genautomata.c: New file. - - * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them. - - * sched-int.h: (curr_state): Add the external definition for - automaton pipeline interface. - (haifa_insn_data): Add comments for members blockage and units. - - * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE, - TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN, - TARGET_SCHED_DFA_PRE_CYCLE_INSN, - TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN, - TARGET_SCHED_DFA_POST_CYCLE_INSN, - TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD, - TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New - macros. - (TARGET_SCHED): Use the new macros. - - * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn, - dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn, - first_cycle_multipass_dfa_lookahead, init_dfa_bubbles, - dfa_bubble): New members in gcc_target.sched. - - * haifa-sched.c (insert_schedule_bubbles_p): New variable. - (MAX_INSN_QUEUE_INDEX): New macro for automaton interface. - (insn_queue): Redefine it as pointer to array. - (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of - INSN_QUEUE_SIZE. - (max_insn_queue_index_macro_value): New variable. - (curr_state, dfa_state_size, ready_try): New varaibles for - automaton interface. - (ready_element, ready_remove, max_issue): New function prototypes - for automaton interface. - (choose_ready): New function prototype. - (insn_unit, blockage_range): Add comments. - (unit_last_insn, unit_tick, unit_n_insns): Define them for case - FUNCTION_UNITS_SIZE == 0. - (insn_issue_delay, actual_hazard_this_instance, schedule_unit, - actual_hazard, potential_hazard): Add comments. - (insn_cost): Use cost -1 as undefined value. Remove - LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton - pipeline interface. - (ready_element, ready_remove): New functions for automaton - interface. - (schedule_insn): Add new code for automaton pipeline interface. - (queue_to_ready): Add new code for automaton pipeline interface. - Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE. - (debug_ready_list): Print newline when the queue is empty. - (max_issue): New function for automaton pipeline interface. - (choose_ready): New function. - (schedule_block): Add new code for automaton pipeline interface. - Print ready list before scheduling each insn. - (sched_init): Add new code for automaton pipeline interface. - Initiate insn cost by -1. - (sched_finish): Free the current automaton state and finalize - automaton pipeline interface. - - * sched-rgn.c: Include target.h. - (init_ready_list, new_ready, debug_dependencies): Add new code for - automaton pipeline interface. - - * sched-vis.c: Include target.h. - (get_visual_tbl_length): Add code for automaton interface. - (target_units, print_block_visualization): Add comments. - - * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB, - USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables. - (sched-rgn.o, sched-vis.o): Add new dependency file target.h. - (getruntime.o, genautomata.o): New entries. - (genattrtab.o): Add new dependency file genattrtab.h. - (genattrtab): Add new dependencies. Link it with `libm.a'. - (getruntime.o, hashtab.o): New entries for canadian cross. - - * doc/md.texi: Description of automaton based model. - - * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST): - Add comments. - (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE, - TARGET_SCHED_DFA_PRE_CYCLE_INSN, - TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN, - TARGET_SCHED_DFA_POST_CYCLE_INSN, - TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN, - TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD, - TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new - hook descriptions. - (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE, - MAX_DFA_ISSUE_RATE): New macro descriptions. - - * doc/contrib.texi: Add dfa based scheduler contribution. - - * doc/gcc.texi: Add more information about genattrtab. - -2001-08-27 Diego Novillo - - * flow.c (flow_loop_dump): Do not display insn UIDs if this is not - an RTL basic block. - -2001-08-27 Richard Henderson - - * function.c (expand_function_end): Don't init arg_pointer_save_area. - (get_arg_pointer_save_area): New. Create an init it here. - (fix_lexical_addr): Use it. - * function.h: Declare it. - * builtins.c (expand_builtin_setjmp_receiver): Use it. - * stmt.c (expand_nl_goto_receiver): Use it. - -2001-08-27 Richard Henderson - - * final.c (final_scan_insn): Don't enter APP_ON mode for - empty asm strings. - - * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper - alignment for assemble_integer for DW_EH_PE_aligned. - * except.c (output_function_exception_table): Likewise. - -2001-08-26 Andreas Jaeger - - * c-tree.h: Add prototyp for c_sizeof_nowarn. - -2001-08-25 Dan Nicolaescu - - * ssa-ccp.c (ssa_const_prop): Free ssa_edges. - -2001-08-27 Alan Modra - - * config/rs6000/rs6000.c (mask_operand): Rewrite without - bit-shifting loop. - (mask64_operand): Likewise. - (rldic_operand): Delete. - (includes_lshift64_p): Delete. - (includes_rldic_lshift_p): New function. - (includes_rldicr_lshift_p): New function. - (print_operand): Don't call rldic_operand in case 'W'. - * config/rs6000/rs6000-protos.h (rldic_operand): Remove. - (includes_lshift64_p): Remove. - (includes_rldic_lshift_p): Declare. - (includes_rldicr_lshift_p): Declare. - * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand. - * config/rs6000/rs6000.md : - Replace match_operand rldic_operand predicate with - const_int_operand. Replace includes_lshift64_p condition with - includes_rldic_lshift_p. - : New. - -2001-08-27 Andreas Jaeger - - * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout. - * errors.c: Likewise. - * final.c: Likewise. - * dwarf2asm.c: Likewise. - * doprint.c (checkit): Likewise. - * diagnostic.c: Likewise. - * collect2.c: Likewise. - * calls.c: Likewise. - * c-semantics.c (build_stmt): Likewise. - * c-format.c (status_warning): Likewise. - * c-errors.c (pedwarn_c99): Likewise. - * builtins.c (validate_arglist): Likewise. - * config/pj/pj.c (pj_printf): Likewise. - * fix-header.c: Likewise. - * gcc.c: Likewise. - * gcov.c (fnotice): Likewise. - * gensupport.c (message_with_line): Likewise. - * mips-tfile.c: Likewise. - * protoize.c (notice): Likewise. - * read-rtl.c (fatal_with_file_and_line): Likewise. - * rtl-error.c: Likewise. - * tradcpp.c: Likewise. - * tree.c: Likewise. - * cp/tree.c (build_min_nt): Likewise. - (build_min): Likewise. - * cp/lex.c: Likewise. - * cp/errfn.c: Likewise. - * cp/rtti.c (create_pseudo_type_info): Likewise. - -Sun Aug 26 20:25:44 2001 Denis Chertykov - - * df.c (df_uses_record): Return after recording all uses - in ASM_OPERANDS. - -2001-08-26 Daniel Berlin - - * df.c (df_insn_modify): Realloc the INSN table here, if - necessary, here, too. - -2001-08-26 Aldy Hernandez - - * config/mips/mips.c (mips_function_value): Handle complex return - values. - -2001-08-25 Hans-Peter Nilsson - - * reload1.c (reload): Make all entries in reg_equiv_memory_loc - unshared. - * reload.c (make_memloc): Copy result if it is still - reg_equiv_memory_loc[regno] on return. - (subst_reloads) [ENABLE_CHECKING]: Check that none of - reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and - reg_equiv_mem are modified by the substitutions. - -Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka - - * predict.c (expensive_function_p): New. - * rtl.h (expensive_function_p): Declare. - * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant. - (use_fast_prologue_epilogue): New static variable. - (expand_prologue): Set it; emit short prologues if unset. - (expand_epilogue): Likewise. - -2001-08-22 Geoffrey Keating - - * config.gcc: Add stormy16-*-elf case. - * config/stormy16/stormy-abi: New file. - * config/stormy16/stormy16-lib2.c: New file. - * config/stormy16/stormy16-protos.h: New file. - * config/stormy16/stormy16.c: New file. - * config/stormy16/stormy16.h: New file. - * config/stormy16/stormy16.md: New file. - * config/stormy16/t-stormy16: New file. - -Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka - - * i386.h (no-accumulate-outgoing-args): Use proper mask. - -2001-08-24 David Edelsohn - - * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function - descriptor members are pointer size, not constant 4. - * config/rs6000/rs6000.md (define_splits): Remove more unused - constraints. - -2001-08-24 Kaveh R. Ghazi - - * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning. - -2001-08-24 Andreas Jaeger , rkl@connect.org.uk - - * cp/rtti.c (VPARAMS): Fix parameter. - -2001-08-24 Zack Weinberg - - * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv - to zero. - (mode_for_extraction): No need for #ifdefs. Add default-case abort - to switch. - (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv - in if controlling use of insv. - (extract_bit_field): Likewise, for extv and extzv. - -Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka - - * i386.md (movcc peep2): Fix load of 0. - -2001-08-24 Kaveh R. Ghazi - - * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR, - *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR. - -2001-08-23 Jason Merrill - - * c-pragma.h: Move weak_syms and weak_decls... - * varasm.c: ...here. Now static. - (declare_weak, weak_finish, remove_from_pending_weak_list): Don't - depend on HANDLE_PRAGMA_WEAK. - - * c-common.c (c_alignof, c_alignof_expr): Move here... - * c-typeck.c: ...from here. - * c-tree.h, c-common.h: Adjust. - -2001-08-23 Bernd Schmidt - - * config/ia64/ia64.c (rws_update): If !pred, set write_count - instead of incrementing it. - - * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one - asm ready, don't try to move them all into the same array element. - -Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka - - * function.c (thread_prologue_and_epilogue_insns): Avoid - fallthru flag on edge to exit. - - * i386.md (trunc?fsi splitter): Conditionionize for non-sse. - - * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge - dead edges. - -2001-08-23 Lars Brinkhoff - - * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove. - * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise. - * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx): - Remove prototype. - -2001-08-23 Lars Brinkhoff - - * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h: - replace "GNU CC" with "GCC". - -2001-08-23 Richard Henderson - - * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt. - Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode. - (ia64_secondary_reload_class): Need GR between AR/BR and anything. - Need GR between FR and not GR_AND_FR. - * config/ia64/ia64-protos.h (ia64_register_move_cost): Update. - * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move - AR regs before GR regs. - (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update. - (PREFERRED_RELOAD_CLASS): Tweak for reordered classes. - (REGISTER_MOVE_COST): Update. - (MEMORY_MOVE_COST): Add GR_AND_FR_REGS. - -2001-08-23 Richard Henderson - - * regclass.c (init_reg_sets_1): Don't assume cost 2 within - a register class. - -2001-08-22 Geoffrey Keating - - * reload1.c (emit_reload_insns): Don't look for notes - on a NULL store_insn. - -2001-08-22 Kaveh R. Ghazi - - * sparc.c (uns_small_int): Don't reference a constant >32-bit. - (addrs_ok_for_ldd_peep): Fix signed/unsigned warning. - (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix - format specifier warnings. - (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED. - -2001-08-22 David Billinghurst - - * config/i386/i386-protos.h: Correct declaration of - i386_pe_asm_named_section. - -2001-08-22 John David Anglin - - * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for - variable i. - * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise. - -2001-08-22 Neil Booth - - * cpperror.c (print_location): Don't show _Pragma. - * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing - and file change callback generation here. - (stack_include_file): Update use of cpp_push_buffer. - * cpphash.h (_cpp_pop_file_buffer): Update prototype. - (struct cpp_buffer): Remove type, pfile members. - * cppinit.c (cpp_handle_option): Use free_chain. - * cpplex.c (_cpp_lex_token): Don't do -include file pushing here. - (skip_escaped_newlines, get_effective_char, lex_percent): Take - a cpp_reader rather than a cpp_buffer. - (skip_escaped_newlines, get_effective_char, skip_block_comment, - skip_line_comment, parse_string, lex_percent, lex_dot, - _cpp_lex_token): Update accordingly. - * cpplib.c (_cpp_pop_buffer): Don't do file change callback - generation here. - (cpp_push_buffer): Update prototype. - (run_directive): Update use of cpp_push_buffer. - (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef, - handle_assertion): Update use of run_directive. - * cpplib.h (enum cpp_buffer_type): Remove. - (cpp_push_buffer): Update prototype. - * fix-header.c (read_scan_file): Update. - -2001-08-22 Matt Kraai - - * gcc.c (struct prefix_list): Change prefix to const char *. - -2001-08-22 Matt Kraai - - * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn. - -2001-08-22 Jason Merrill - - * explow.c (set_mem_attributes): Avoid returning a bogus alias set - from a new MEM. - - * jump.c (squeeze_notes): Take parms by reference. Handle END being - a squeezable note. - * rtl.h: Adjust. - * ifcvt.c (dead_or_predicable): Adjust. - * loop.c (find_and_verify_loops): Adjust. - * stmt.c (expand_end_case): Adjust. - * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the - head and end insn pointers in the basic block, not just local copies. - (merge_blocks_move_predecessor_nojumps): Likewise. - -2001-08-22 Lars Brinkhoff - - * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c, - bitmap.h, builtin-types.def, builtins.c, builtins.def, - c-aux-info.c, c-common.c, c-common.def, c-common.h, - c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c, - c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in, - c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c, - caller-save.c, calls.c, collect2.c, collect2.h, combine.c, - conditions.h, config.gcc, configure.frag, configure.in, - conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c, - cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h, - dependence.c, df.c, df.h, diagnostic.c, diagnostic.h, - doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c, - dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c, - emit-rtl.c, errors.c, errors.h, except.c, except.h, - exgettext, explow.c, expmed.c, expr.c, expr.h, final.c, - fixproto, flags.h, flow.c, fold-const.c, fp-test.c, - function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp, - gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c, - gencheck.c, gencodes.c, genconfig.c, genemit.c, - genextract.c, genflags.c, gengenrtl.c, genmultilib, - genopinit.c, genoutput.c, genpeep.c, genrecog.c, - gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c, - ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c, - graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h, - gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h, - gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h, - hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h, - integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c, - libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h, - machmode.def, machmode.h, main.c, mbchar.c, mbchar.h, - mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk, - mkmap-symver.awk, optabs.c, output.h, params.c, params.def, - params.h, predict.c, predict.def, predict.h, prefix.c, - prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c, - read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c, - regclass.c, regmove.c, regrename.c, regs.h, reload.c, - reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c, - rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h, - sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c, - sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c, - ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c, - stringpool.c, system.h, timevar.c, timevar.def, timevar.h, - tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h, - tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h, - unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h, - unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c, - xcoffout.h: replace "GNU CC" with "GCC". - -2001-08-21 Richard Henderson - - * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment. - (final_scan_insn): Consider jump tables data even if we have no - independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use - ADDR_VEC_ALIGN. - * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove. - (ASM_OUTPUT_CASE_END): Remove. - (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references. - * config/ia64/ia64.md (tablejump): Decode pc-relative references. - * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove. - -2001-08-21 Richard Henderson - - * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state - at barrier insns. Emit stop bits before barriers. - - * flow.c (flow_find_cross_jump): Don't consider unconditional - return insns for commoning. - - * final.c (compute_alignments): Fix typo. - - * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults. - (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise. - (store_bit_field): Use mode_for_extraction more places. - (extract_bit_field): Likewise. - -2001-08-21 Zack Weinberg - - * caller-save.c: Don't include insn-codes.h. - (reg_save_code, reg_restore_code): Make arrays of int. - All uses updated to match. - (insert_save, insert_restore): No need to initialize "code" - variable upon declaration. - * Makefile.in: update dependencies; fix typo in clean rule. - -2001-08-21 Richard Henderson - - * ifcvt.c (find_if_block): Allow join_bb as EXIT. - (merge_if_block): Handle fallout from same. - -2001-08-21 Kaveh R. Ghazi - - * builtins.c (type_to_class): Fix typo in last change. - -2001-08-21 Richard Henderson - - * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if - ia64_asm_output_label. - - * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved - copy of gp while the real gp register contains garbage. - -2001-08-21 Zack Weinberg - - * expmed.c (mode_for_extraction): New function. - (store_bit_field, extract_bit_field): Use it. - * expr.h: Prototype it and provide an enum for its first argument. - - * combine.c, function.c, recog.c: Don't include insn-codes.h. - Use mode_for_extraction rather than testing HAVE_insv/extv/extzv - and digging through the insn_data tables. - * Makefile.in: Update dependencies. - -2001-08-22 Neil Booth - - * cppfiles.c (stack_include_file): line-map.c now handles include - depth. - (handle_missing_handler): Similarly. - (_cpp_execute_include): Similarly. - (_cpp_pop_file_buffer): Similarly. - * cpphash.h (struct cpp_reader): Remove system_include_depth, - buffer_stack_depth and include_depth. - * cpplib.c (do_include_common): line-map.c now handles include depth. - (cpp_push_buffer): Similarly. - (_cpp_pop_buffer): Similarly. - * cppmacro.c (builtin_macro): Update. - * line-map.c (init_line_maps): Set depth. - (add_line_map): Increment "used" earlier. Update and use the - include depth. - (trace_include): Use the include depth. - * line-map.h (struct line_maps): New member depth. - -2001-08-21 Neil Booth - - * cppfiles.c (stack_include_file): Don't handle -H here. - * cppinit.c (cpp_start_read): Set include tracing after - cpp_post_options and after stacking the main file. - * line-map.c (trace_include): New. - (init_line_maps, add_line_map): Update. - * line-map.h (struct line_maps): New member trace_includes. - -2001-08-21 Neil Booth - - * cppfiles.c (stack_include_file): Harmonize system headerness tests. - * cppfiles.c (stack_include_file): Only stack a file if there - is something to do. Return a boolean indicating whether a - buffer was stacked or not. - (_cpp_execute_include): Similarly. - (_cpp_read_file): Similarly. - * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes. - -2001-08-21 Sam Steingold - - * tradcpp.c (rescan): define obufp_before_macroname before RECACHE - (RECACHE): keep obufp_before_macroname up to date - -2001-08-21 Zack Weinberg - - * stmt.c: Don't include insn-codes.h. - (expand_end_case): Machine specific logic moved to expr.c. - No need to worry about __builtin_classify_type. - (check_for_full_enumeration_handling, emit_case_nodes): - Kill #if 0 blocks. - - * builtins.o (expand_builtin_classify_type): Split up so code - can be shared with fold_builtin_classify_type. - (type_to_class, fold_builtin_classify_type): New functions. - (fold_builtins): Handle __builtin_classify_type. - - * expr.c (do_tablejump): Now static. - (case_values_threshold, try_casesi, try_tablejump): New; - code mostly from stmt.c (expand_end_case). - (expr.h): Update prototypes. - - * Makefile.in (stmt.o): Update dependencies. - -2001-08-21 Will Cohen - - * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local - declaration of variable i. - * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local - declaration of variable i. - -2001-08-21 Richard Henderson - - * crtstuff.c: Fix thinko last change. Move list tails to start - of CRT_END section. Tidy ifdefs. - (__EH_FRAME_BEGIN__): Always static for ELF. - (__do_global_ctors_1): Rename from __frame_dummy. - * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1 - name change; don't hide __EH_FRAME_BEGIN__. - -2001-08-21 Richard Henderson - - * gdbinit.in: Move break on exit after break on fancy_abort. - - * config/ia64/ia64.c (ia64_return_in_memory): True for variable - sized types. - -2001-08-21 Neil Booth - - * cpphash.h (_cpp_push_next_buffer): New. - * cppinit.c (do_includes): Remove. - (push_include, free_chain, _cpp_push_next_buffer): New. - (cpp_start_read): Use them to rework command line option handling. - (cpp_handle_option): Combine handling of -include and -imacros. - * cpplex.c (_cpp_lex_token): Push a new -include buffer if - appropriate. Always insert missing \n at EOF. - * cpplib.c (start_directive): Get the directive position right. - * cppmain.c (cb_file_change): Always print the first line, unless - preprocessed. - -2001-08-20 Andreas Jaeger - - * profile.c (compute_branch_probabilities): Remove extra new-line - in error message. - * flow.c (verify_flow_info): Likewise. - -2001-08-20 Diego Novillo - - * basic-block.h (basic_block): Add new field 'flags'. - (BB_REACHABLE): Define. - (expunge_block): Declare. - * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'. - (EXIT_BLOCK_PTR): Ditto. - (expunge_block): Remove static declaration. - (cleanup_cfg): Clear bb->aux on every basic block. - (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when - computing reachability. - (delete_unreachable_blocks): Delete block b if b->flags has - BB_REACHABLE unset. - -2001-08-20 Diego Novillo - - * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast. - -2001-08-20 Kaveh R. Ghazi - - * sparc.c (sparc_variable_issue): Fix typo in last change. - -2001-08-20 Richard Henderson - - * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage. - -2001-08-20 John David Anglin - - * pa.h (RETURN_IN_MEMORY): Improve comment. - -2001-08-20 Janis Johnson - - * doc/invoke.texi (Profiling options): Clarify the interactions - between -fprofile-arcs and -ftest-coverage, -fprofile-arcs. - -2001-08-20 Jeffrey Oldham - - * crtstuff.c (__do_global_ctors): Fix typo in preprocessing - command. - -2001-08-20 Matt Kraai - - * gcc.c (make_relative_prefix): Allocate a sufficiently large - buffer. - -2001-08-20 Richard Henderson - - * final.c (end_final): Fix typo last change. - -2001-08-20 Neil Booth - - * cppinit.c (init_standard_includes): The returned buffer - is already malloc-ed. - * gcc.c (add_prefix): Similarly. - * prefix.c (translate_name): Update to support clear buffer - ownership rules. - (update_path): Similarly. Be sure to free any newly allocated - key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument. - (tr): New function. - * prefix.h (update_path): Update prototype and document. - * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean - up and update to new buffer ownership rules. - * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update. - -Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka - - * final.c (compute_alignments): New function. - (init_insn_lengths): Do not care label_align. - (LABEL_ALIGN_AFTER_BARRIER): Default to 1. - (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0. - (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New. - (shorted_branches): Realloc label_align array; do - not call init_insn_lengths; Do not care about loop alignments. - * output.h (compute_alignments): Declare. - * toplev.c (rest_of_compilation): Call compute_alignments. - * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document. - - * predict.c (block_info_def): Add npredecesors, remove nvisited; - change visited to tovisit. - (propagate_freq): Use faster traversing algorithm. - (estimate_loops_at_level, estimate_bb_frequencies): Change visited - to tovisit; reverse meaning. - - * predict.c (struct block_info_def): Remove nvisited. - (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions. - (estimate_bb_frequencies): Call mark_dfs_back_edges. - -2001-08-19 Geoffrey Keating - - * doc/invoke.texi (MIPS Options): Document -mfused-madd. - * config/mips/mips.h (MASK_NO_FUSED_MADD): New. - (TARGET_FUSED_MADD): New. - (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd. - * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to - the multiply-add instructions. - -2001-08-19 Richard Henderson - - * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref - is aligned to pointer size. - -2001-08-19 Richard Henderson - - * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle - display markers during final schedule. - -2001-08-19 Richard Henderson - - * function.c (gen_mem_addressof): Don't call get_alias_set if no decl. - -2001-08-19 Richard Henderson - - * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and * - in the same string. - (ASM_NAME_TO_STRING): Remove. - * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and * - in the same string. Remove support for expressions. - -2001-08-19 Richard Henderson - - * config/i386/i386.md (tablejump): Make an expander; handle - pic relative addressing here. - (tablejump_1): Rename from tablejump_pic. - (casesi): Remove. - -2001-08-19 Richard Henderson - - * regclass.c (fix_register): Fix typo. - -2001-08-18 Richard Henderson - - * config/ia64/unwind-ia64.c (UNW_REG_B0): New. - (struct _Unwind_Context): Expand br_loc to hold it. - (uw_frame_state_for): Handle leaf functions better. - (uw_update_reg_address): Update for br_loc change. - -2001-08-18 Richard Henderson - - * crtstuff.c: Move list heads before code that uses them. - (__JCR_LIST__): Remove initial null. - (frame_dummy, __frame_dummy): Do java registration here ... - (__do_global_ctors_aux): ... not here. - - * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative. - (__do_global_dtors_aux): Update to match. - (__JCR_LIST__, __do_jv_register_classes): New. - (.init): Call it. - * config/ia64/crtend.asm (__JCR_END__): New. - (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__ - instead of an indirect LTOFF22 reloc. - -2001-08-18 Richard Henderson - - * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call. - * regclass.c (init_reg_sets_1): Fix typo. - * config/ia64/ia64.c (ar_pfs_reg_operand): New. - (ia64_expand_call): Pass ar.pfs to sibcall expanders. - (ia64_compute_frame_size): Make ar.unat live when in use. - (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf - for ar.pfs; remove ar.unat handling. - * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is - call-saved. - (PREDICATE_CODES): Add ar_pfs_reg_operand. - * config/ia64/ia64-protos.h: Update decls. - * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs. - (sibcall_pic): Likewise. - -2001-08-18 Richard Henderson - - * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past - pred_rel_mutex when searching for insn_group_barrier. - * config/ia64/ia64.md (cycle_display): Combine the expander - and insn patterns. - - * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop - bit before asm as needed. - -2001-08-18 Richard Henderson - - * timevar.def (TV_MACH_DEP): New. - * toplev.c (rest_of_compilation): Use it. - * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2. - -2001-08-18 Zack Weinberg - - * unwind-dw2.c (execute_stack_op): Add default aborts to - the inner switches to prevent warnings. - -2001-08-18 Richard Henderson - - * timevar.h (struct timevar_time_def): Change element type to float. - (ticks_to_msec, clocks_to_msec): Likewise. - (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float. - (get_time): Likewise. - (timevar_print): Adjust zero check and printing to match. - -2001-08-18 Zack Weinberg - - * doc/extend.texi, doc/gcc.texi, doc/install-old.texi, - doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi: - Eliminate overfull or underfull hboxes. - -2001-08-18 Zack Weinberg - - * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout. - -2001-08-18 Zack Weinberg - - * haifa-sched.c: Convert to target hooks. Macros replaced - are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT, - MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE, - MD_SCHED_FINISH, and HAVE_cycle_display. - * target-def.h (TARGET_SCHED_ADJUST_COST, - TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE, - TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT, - TARGET_SCHED_FINISH, TARGET_SCHED_REORDER, - TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY): - New hook #defines to be overridden. - (TARGET_SCHED): Bring them all together. - (TARGET_INITIALIZER): Update. - * target.h: Don't forward declare struct rtx_def. Use 'rtx' - instead of 'struct rtx_def *' throughout. - (struct sched): New set of hooks for the scheduler. - * Makefile.in (haifa-sched.o): Depend on target.h. - * doc/tm.texi: Document the new scheduler hooks, together in - their own section, instead of scattered around. - Fix a bunch of underfull/overfull hboxes. - - * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h, - ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h, - sparc.h: Don't define any of the old scheduler macros. - - * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c, - ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c, - sparc.c: Create hook functions from code extracted from - corresponding target header, or make existing hooks static, as - appropriate. Set the appropriate entries in targetm. - - * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h, - i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h, - rs6000-protos.h, s390-protos.h, sparc-protos.h: - Remove prototypes for functions which are now static. - - * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and - related gunk; the Haifa scheduler is now the only choice. - -2001-08-18 Zack Weinberg - - * optabs.h (OTI_flodiv, flodiv_optab): Kill. - * genopinit.c: Put floating point divide insns in sdiv_optab. - * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab. - * config/gofast.h, config/c4x/c4x.h, - config/ia64/hpux_longdouble.h, config/mips/mips.h, - config/pa/long_double.h, config/rs6000/sysv4.h, - config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab. - * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv. - (init_optabs): Use init_optabv for overflow-trapping optabs. - Don't init flodiv_optab. Give mov_optab, movstrict_optab, and - cmp_optab RTX codes so have_insn_for can find them. - - * optabs.c (expand_simple_binop, expand_simple_unop, - have_insn_for, gen_sub3_insn): New interfaces. - * expr.h: Prototype new functions. - (enum optab_methods): Move here from optabs.h. - - * builtins.c, combine.c, doloop.c, function.c, ifcvt.c, - loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c: - Use new functions instead of working directly with optabs. - * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c, - unroll.c: Don't include optabs.h. - * caller-save.c, combine.c, function.c, stmt.c: Just include - insn-codes.h, not optabs.h. - * Makefile.in: Update dependencies. - - * combine.c (make_compound_operation, simplify_comparison): - Fix typos testing for this or that instruction. - -2001-08-18 Herman A.J. ten Brugge - - * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when - generating libgcc.a. - -2001-08-18 Kaveh R. Ghazi - - * except.c (TYPE_HASH): Delete. - - * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not - HOST_WIDE_INT. - - * tree.c (TYPE_HASH): Delete. - - * tree.h (TYPE_HASH): Define. - -2001-08-18 Graham Stott - - * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from - define_split. - (adddi3_internal_2+2): Likewise. - (eh_set_lr_di+1): Likewise. - -2001-08-17 Richard Henderson - - * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, - UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ... - * dwarf2asm.c: ... here. - * dwarfout.c: Remove them. - - * varasm.c (assemble_integer): Add align parameter. - (assemble_real, output_constant, output_constructor): Likewise. - * output.h: Update decls. - * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c, - config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c, - config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h, - config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c, - config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md: - Update all callers. - - * final.c (end_final): Abort profile block generation if we - haven't layed it out properly. - * output.h (assemble_eh_integer): Remove stale decl. - * varasm.c (assemble_zeros): Tidy; use assemble_integer. - (min_align): New. - (assemble_integer): Handle unaligned data. - (assemble_real): Abort on unaligned data. - (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does - anything useful. - (default_dtor_section_asm_out_destructor): Use assemble_align. - (default_named_section_asm_out_constructor): Likewise. - (default_ctor_section_asm_out_constructor): Likewise. - * config/darwin.c (machopic_asm_out_constructor): Likewise. - (machopic_asm_out_destructor): Likewise. - * config/nextstep.c (nextstep_asm_out_constructor): Likewise. - (nextstep_asm_out_destructor): Likewise. - * config/alpha/alpha.c (vms_asm_out_constructor): Likewise. - (vms_asm_out_destructor): Likewise. - -2001-08-17 Richard Henderson - - * config/mips/iris6.h (TARGET_IRIX6): New. - (current_section_name, current_section_flags): New. - (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New. - (MAX_OFILE_ALIGNMENT): New. - (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section. - * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove. - (copy_file_data): Split out from - (mips_asm_file_end): ... here. - (mips_asm_file_start): Remove extra .section directive. Use - tmpfile instead of mips_make_temp_file. - (mips_unique_section): Use const char * as needed for warnings. - (iris6_asm_named_section_1): Renamed from iris6_asm_named_section; - re-add align parameter. - (iris6_asm_named_section): New. - (iris_section_align_entry_eq, iris_section_align_entry_hash): New. - (iris6_asm_output_align, iris6_section_align_1): New. - (iris6_asm_file_start, iris6_asm_file_end): New. - * config/mips/mips-protos.h: Update decls. - -2001-08-17 Janis Johnson - - * doc/install.texi (Install GCC): Add links to build status pages. - (Specific): Ditto. - (Final install): Ditto; request updates for specific info - -2001-08-17 Neil Booth - - * cpperror.c (print_location): Don't take a file name; use the - line map instead. - (_cpp_begin_message): Similarly. - (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning, - cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update. - (cpp_pedwarn_with_file_and_line): Remove. - * cppfiles.c (stack_include_file): Update; set filename to stdin - here when appropriate. - * cpphash.h (struct cpp_buffer): Remove nominal_fname. - (_cpp_begin_message): Don't take a file name. - * cppinit.c: Add comment. - * cpplex.c: Fix end-of-directive indicator. - * cpplib.c: Don't include intl.h. - (run_directive, do_diagnostic): Update. - (do_line): Update to not use nominal_fname. - (cpp_push_buffer): Don't take a filename. - * cpplib.h (struct ht): Remove. - (cpp_push_buffer): Don't take a filename. - (cpp_pedwarn_with_file_and_line): Remove. - * cppmacro.c (struct cpp_macro): Remove file. - (builtin_macro): Update. - (_cpp_create_definition): Update. - * cppmain.c: Correct comment. - * fix-header.c (read_scan_file): Update. - -2001-08-17 Kazu Hirata - - * sbitmap.c: Fix comment formatting. - * sched-deps.c: Likewise. - * sibcall.c: Likewise. - * simplify-rtx.c: Likewise. - * ssa.c: Likewise. - * ssa-ccp.c: Likewise. - * stor-layout.c: Likewise. - * timevar.c: Likewise. - * toplev.c: Likewise. - * unwind-dw2.c: Likewise. - * unwind-dw2-fde.c: Likewise. - * varasm.c: Likewise. - -2001-08-17 John David Anglin - - * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable - or larger than an integer in memory. - -2001-08-17 Zack Weinberg - - * system.h: Forward-declare struct rtx_def, struct rtvec_def, - and union tree_node. Typedef rtx, rtvec, and tree. Fix comment. - * rtl.h: Don't forward-declare union tree_node here. Don't - typedef rtx or rtvec here. Change all uses of struct rtx_def *, - struct rtvec_def *, or union tree_node * to use rtx, rtvec, - and tree respectively. - * tree.h: Don't forward-declare struct rtx_def here. Don't - typedef tree here. Change all uses of struct rtx_def *, - struct rtvec_def *, or union tree_node * to use rtx, rtvec, - and tree respectively. - -2001-08-17 Richard Henderson - - * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h, - config/mips/openbsd.h: Fix typos last change. - -2001-08-17 Gerald Pfeifer - - * doc/invoke.texi (Optimize Options): The default for - -finline-limit is 600. - -2001-08-17 Richard Henderson - - * varasm.c (text_section): Allow TEXT_SECTION to override the - printing of TEXT_SECTION_ASM_OP. - * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION. - (DATA_SECTION, BSS_SECTION): Remove. - * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME, - RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME): - Rename from s/_NAME//. - * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16. - (ASM_DECLARE_FUNCTION_NAME): Move file switching ... - (TEXT_SECTION): ... here. New. - * config/mips/elf.h (TEXT_SECTION): New; no file switching. - * config/mips/elf64.h, config/mips/netbsd.h: Likewise. - * config/mips/openbsd.h: Likewise. - * config/mips/mips.c (mips_asm_file_start): Tidy file switching test. - (mips_asm_file_end): Likewise test. - (mips_output_function_epilogue): Likewise. Switch back to data - section after emitting the function. - - * doc/tm.texi (Sections): Document TEXT_SECTION. - -2001-08-17 Richard Henderson - - * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here. - (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info. - -2001-08-17 Richard Henderson - - * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN. - * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__, - __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__): - Add aligned attribute. - -2001-08-17 Andrew Haley - - * config/sh/sh.md: Add modes to unspecs in first insn to match - those in the second. - - * Makefile.in: Fix collect2 copy for Cygwin. - -Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka - - Install the proper patch. - * function.c (put_var_into_stack): Temporarily clear DECL_RTL. - (assign_params): Avoid setting DECL_RTL to unfinished RTX. - (expand_function_start): Likewise. - * stmt.c (expand_decl): Likewise. - * varasm.c (make_decl_rtx): Likewise. - -Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka - - * final.c: Undo my previous accidental checkin. - * output.h: Likewise. - * tm.texi: Likewise. - -2001-08-16 Richard Henderson - - * varasm.c (named_section_flags): Remove align parameter. - * varasm.c, dwarf2out.c: Update all callers. - * output.h: Update prototypes. - - * target.h (target.asm_out.named_section): Remove align parameter. - * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c, - config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c, - config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c, - config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c, - config/sh/sh.c, config/sparc/sparc.c: Update implementations to match. - - * varasm.c (in_named_entry_eq, in_named_entry_hash): New. - (get_named_section_flags, set_named_section_flags): New. - (named_section_flags): Use them. - (named_section): Do decl vs section flags check here... - (default_section_type_flags): ... not here. - (init_varasm_once): Create in_named_htab. - (resolve_unique_section): Mark reloc unused. - -2001-08-16 Richard Henderson - - * varasm.c (force_const_mem): Keep pool alignment in bits. - (output_constant_pool): Use assemble_align. - -2001-08-16 Zack Weinberg - - * doc/tm.texi: Remove extra @table command. - -2001-08-16 Zack Weinberg - - * final.c (shorten_branches): Clear the end of the label_align - array only if we made it larger. Break up messy expressions - for clarity. - - * diagnostic.c (internal_error): Check for error recursion - before doing ICE suppression. - - * timevar.c: Timing variables now count in milliseconds. - (init_timevar): Set up ticks_to_msec and clocks_to_msec here. - (get_time): Not here. - (timevar_print): Don't print any timer whose user, cpu, and - wall times are all zero as displayed. - * timevar.h: Update comment aboout units. Make timevar - counters unsigned. - -Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka - - * function.c (put_var_into_stack): Temporarily clear DECL_RTL. - (assign_params): Avoid setting DECL_RTL to unfinished RTX. - (expand_function_start): Likewise. - * stmt.c (expand_decl): Likewise. - * varasm.c (make_decl_rtx): Likewise. - -2001-08-16 Jason Merrill - - * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN. - (finalize_record_size): Don't set TYPE_USER_ALIGN. - -2001-08-16 Matt Kraai - - * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused - variables. - -2001-08-16 Andreas Jaeger - - * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame - prototype. - -Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com) - - * rtl.h (only_sets_cc0_p): New prototype. - * jump.c (sets_cc0_p): Handle INSN. - (only_sets_cc0_p): New function. - * flow.c (merge_blocks_nomove): Use only_sets_cc0_p. - (tidy_fallthru_edge): Likewise. - * integrate.c (copy_insn_list): Likewise. - * unroll.c (unroll_loop): Likewise. - (copy_loop_body): Likewise. - -2001-08-15 Jason Eckhardt - - * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t". - -Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka - - * predict.c (struct block_info_def): Remove nvisited. - (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions. - (estimate_bb_frequencies): Call mark_dfs_back_edges. - - * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium - (ix86_adjust_cost): Teach scheduler that latency to load operand can - be masked. - -Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka - - * predict.def: Update hitrates. - -2001-08-15 Richard Henderson - - * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT. - -Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com) - - * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG - note from its associated jump. - -2001-08-14 Ulrich Weigand - - * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__ - also on 64-bit s390x targets. - -2001-08-14 Nick Clifton - - * config/arm/arm.c (arm_compute_initial_elimination_offset): New - function. - (arm_expand_prologue): Handled nested functions which take a - variable argument list. - * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace - macro with an invocation of - arm_compute_initial_elimination_offset. - * config/arm/arm-protos.h: Prototype - arm_compute_initial_elimination_offset. - -2001-08-14 Gerald Pfeifer - - * doc/install.texi (Specific, avr): Fix markup. - (Specific, c4x): Ditto. - -2001-08-14 Matt Kraai - - * predict.c (dump_prediction): Change `bool' parameter to `int'. - -2001-08-14 Gabriel Dos Reis - - * Makefile.in (OBJS): Add rtl-error.o - (rtl-error.o): New rule. - (diagnostic.o): Adjust dependency. - diagnostic.c (file_and_line_for_asm, diagnostic_for_asm, - error_for_asm, _fatal_insn, _fatal_insn_not_found, - warning_for_asm): Move to... - rtl-error.c: ...here. New file. - -2001-08-14 Richard Henderson - - * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame - if USING_SJLJ_EXCEPTIONS. - -2001-08-14 Steve Ellcey - - * tlink.c (scan_linker_output): Check string for unsatisfied in - addition to undefined and unresolved. - -2001-08-14 Graham Stott - - * libgcc2.c (*): Replace EH_FRAME_SECTION with - EH_FRAME_SECTION_NAME. - -Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka - - * genattrtab.c (simplify_test_exp_in_temp): New function. - (simplify_test_exp): Avoid explicit use of temporary obstack. - (simplify_cond, insert_right_side, evaluate_eq_attr, - simplify_and_tree, simplify_or_tree, eliminate_known_true): - Use simplify_test_exp_in_temp. - (optimize_attrs): Iterate until expression stabilizes. - -2001-08-13 Ulrich Weigand : - - * glimits.h: Remove the __LONG_MAX__ special case for s390x. - * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES. - -2001-08-13 Richard Henderson - - * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove. - (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove. - * config/arm/conix-elf.h: Likewise. - -2001-08-13 Geoffrey Keating - - * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done - in gcc.c. - * config/rs6000/sysv4.h (LINK_SPEC): Likewise. - - * gcse.c (hash_scan_set): Expressions that are set as part of - jump instructions are not available. - -2001-08-13 Ulrich Weigand - - * config/s390/s390.c (print_operand, s390_function_prologue, - s390_va_start): Fixed HOST_WIDE_INT type mismatch. - -2001-08-13 Richard Henderson - - * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New. - * defaults.h (EH_FRAME_SECTION_NAME): Respect it. - * doc/tm.texi (Exception Region Output): Document it. - -2001-08-13 Geoffrey Keating - - * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use - DWARF2 instead of stabs by default. - -2001-08-13 David Edelsohn - - * config/rs6000/rs6000.c: Include optabs.h. - -2001-08-13 David Edelsohn - - * config/rs6000/eabi.asm: Define 64-bit versions of FPR - save/restore routines. - * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros. - -2001-08-13 Andreas Jaeger - - * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo, - the english is correct. - -2001-08-13 Zack Weinberg - - * expr.h: Split out optab- and libfunc-related code to... - * optabs.h, libfuncs.h: ... these new headers. - - * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h. - (OPTABS_H): New. - (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to - dependencies. - * mkconfig.sh: Don't include insn-codes.h from config.h. - - * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether - enum insn_code is available. Move reload_in_optab and - reload_out_optab array declarations to optabs.h. - * regmove.c (gen_add3_insn): Move to optabs.c, export from - there, prototype in expr.h. - * gencodes.c: Cleanup: zap global variables, don't use - printf where puts will do, don't bother defining MAX_INSN_CODE - which nothing uses, let CODE_FOR_nothing get its value implicitly. - - * genemit.c, genopinit.c: Include optabs.h in generated file. - * genoutput.c: Include insn-codes.h in generated file. - * builtins.c, caller-save.c, combine.c, doloop.c, explow.c, - expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c, - reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c, - config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c, - config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c, - config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c: - Include optabs.h. - * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c, - optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c, - config/m88k/m88k.c, config/sparc/sparc.c: - Include libfuncs.h. - * reload.c: Include expr.h and optabs.h before reload.h. - * config/alpha/alpha.c: Include tree.h before reload.h. - * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h, - and reload.h in that order. - * config/sparc/sparc.c: Include debug.h. - * recog.c: Include insn-codes.h. - -2001-08-13 Andreas Jaeger - - * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on - s390*linux. - -2000-08-13 Theodore Papadopoulo - - * dwarf2out.c (output_cfa_loc): Fix typo in comment. - * gcc.c (init_spec): Fix typo in comment. - * varasm.c (data_section): Fix typo in comment. - -Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka - - * predict.c (dump_prediction): New argument "USED". - (combine_predictions_for_insn): Determine the used heuristics, - output the case no heuristic applied. - * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New. - -2001-08-13 Andreas Jaeger - - * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize - register %rip. - -2001-08-13 Kazu Hirata - - * jump.c: Fix formatting. - -2001-08-13 Kazu Hirata - - * config/h8300/h8300.md (zero_extendqihi2): Correct the insn - length. - -2001-08-12 Geoffrey Keating - - * loop.c (check_dbra_loop): Use condjump_label to compute - jump_label. - - * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around - to better document the files they're in. - -2001-08-12 Zack Weinberg - - * recog.h (struct insn_operand_data): Shrink 'mode' field - to 16 bits. - -2001-08-12 Kazu Hirata - - * gcc.c: Fix comment formatting. - * gccspec.c: Likewise. - * gcov.c: Likewise. - * gcse.c: Likewise. - * genemit.c: Likewise. - * gengenrtl.c: Likewise. - * genrecog.c: Likewise. - * gensupport.c: Likewise. - * ggc-page.c: Likewise. - * global.c: Likewise. - * graph.c: Likewise. - * ifcvt.c: Likewise. - * integrate.c: Likewise. - * lcm.c: Likewise. - * libgcc2.c: Likewise. - * loop.c: Likewise. - * mbchar.c: Likewise. - * optabs.c: Likewise. - * predict.c: Likewise. - * prefix.c: Likewise. - * profile.c: Likewise. - * protoize.c: Likewise. - * real.c: Likewise. - * recog.c: Likewise. - * regclass.c: Likewise. - * regmove.c: Likewise. - * reg-stack.c: Likewise. - * reload1.c: Likewise. - * resource.c: Likewise. - * rtlanal.c: Likewise. - * rtl.c: Likewise. - -2001-08-12 Kazu Hirata - - * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how - a tree representing a constant is passed to the macro. - -2001-08-12 Richard Henderson - - * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New. - (rs6000_elf_asm_out_destructor): New. - * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove. - (DTORS_SECTION_ASM_OP): Remove. - (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. - (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors. - -2001-08-12 David Edelsohn - - Revert: - 2001-08-02 Rainer Orth - * gcc.c (set_collect_gcc_options): New function, split out from - main. - Ignore elided switches. - (do_spec_1): Invoke before executing command. - (set_input): Export. - Move declaration ... - * gcc.h (set_input): ... here. - * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input - file. - -2001-08-12 Richard Henderson - - * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix - thinko wrt TARGET_RELOCATABLE. - -2001-08-12 Neil Booth - - * fix-header.c (cb_file_change): Update prototype. - -2001-08-11 Zack Weinberg - - * toplev.c (set_float_handler): Make static. - * toplev.h: Don't prototype set_float_handler. - - * simplify-rtx.c: Don't include setjmp.h. - (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1): - New functions. - (simplify_unary_operation, simplify_binary_operation): Use them, - via do_float_handler. - - * fold-const.c: Don't include setjmp.h. - (exact_real_inverse_1): New function. - (exact_real_inverse): Use it, via do_float_handler. - - * varasm.c: Don't include setjmp.h. - (assemble_real_1): New function. - (assemble_real): Use it, via do_float_handler. - Call internal_error if we get a trap here. - - * c-parse.in, cse.c, cselib.c, config/i386/i386.c, - config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h. - -2001-08-11 Zack Weinberg - - * defaults.h: Define PREFERRED_STACK_BOUNDARY to - STACK_BOUNDARY if not already defined. - - * calls.c, function.c, reload1.c, explow.c: Don't default - PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on - PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY. - - * explow.c (allocate_dynamic_stack_space): Change unsafe #if - to run-time test. - - * doc/tm.texi: Document that STACK_BOUNDARY is required; - clarify difference between it and PREFERRED_STACK_BOUNDARY. - -2001-08-11 Neil Booth - - * cppmacro.c (enter_macro_context): Push macro expansions even - if empty. - -2001-08-11 Franz Sirl - - * config/rs6000/rs6000.c: Include integrate.h to silence warning. - (rs6000_elf_section_type_flags): Actually return a value. - -2001-08-11 Ulrich Weigand - - * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux: - Clean up code: add missing comments and prototypes, fix warnings, - remove obsolete code, fix spacing to conform to coding style. - -2001-08-11 Ulrich Weigand - - * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN - and TARGET_ASM_CLOSE_PAREN. - (regclass_map): CC register belongs to class NO_REGS. - (legitimize_pic_address): Don't generate unnecessary moves - (to avoid confusing loop optimization). - (check_and_change_labels): Replace jump_long by indirect_jump. - (s390_final_chunkify): Don't start a new literal pool on section - switch in 64-bit code. - (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit. - - * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug. - (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit). - (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer - modes correctly. - (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS. - (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit. - (CONST_COSTS): Fixed incorrect costs. - - * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3): - Use emit_jump instead of emit_jump_insn (gen_jump). - (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting - (to avoid confusing flow analysis). - (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi. - (casesi, casesi_jump): New. - (jump_long): Removed. Functionality merged into indirect_jump. - (indirect_jump): Accept address_operand, not just register_operand. - (cjump_long, icjump_long): Use same logic as indirect_jump. - (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp): - Fixed broken setjmp/longjmp handling. - (do_builtin_setjmp_setup): Removed. - - * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around - broken GNU as versions that don't accept .quad with large - negative values. Use hexadecimal output instead. - (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn. - (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE, - FUNCTION_EPILOGUE): Removed. Now in targetm. - - * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register. - - * config/s390/fixdfdi.h: Add missing copyright statement. - Fix type conflicts on 64-bit. Add missing SFmode routines. - - * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect - email address. - -2001-08-11 Richard Henderson - - * rtl.h (REG_EH_RETHROW): Remove. - * rtl.c (reg_note_name): Update. - * combine.c (distribute_notes): Don't check for it. - -2001-08-11 Richard Henderson - - * combine.c (distribute_notes): Place REG_SETJMP. - -2001-08-11 Richard Henderson - - * doc/extend.texi (Arrays and pointers implementation): Discourage - relying on sign-extension of pointers. - -2001-08-11 H.J. Lu - - * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and - in_dtors. - (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and - RDATA_SECTION_ASM_OP. - -2001-08-11 Gerald Pfeifer - - * doc/install.texi (Specific, c4x): Fix cross-reference to the - main manual to work both for info and HTML versions. - -2001-08-11 Neil Booth - Matt Kraai - - * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy. - * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix. - (struct cpp_pool): New member first. - * cppinit.c (append_include_chain): Plug memory leaks. - * cpplib.c (cpp_register_pragma, cpp_register_pragma_space): - Allocate pragma structures from the (aligned) macro pool to - avoid leaking memory. - * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first - so we don't leak memory. - * hashtable.c (ht_destroy): New. - * hashtable.h (ht_destroy): New. - -2001-08-11 Neil Booth - Franz Sirl - - * c-lex.c (map): Make const. - (cb_file_change): Update for callback passing a line map. - Don't assume we have a previous map. Remove sanity check - about popping too many files. - * cpperror.c (print_location): Make map const. - * cppfiles.c (stack_include_file): Update; line maps now hold sysp. - (cpp_make_system_header): Similarly. - (search_from): Similarly. - (_cpp_execute_include): Don't remember where we came from. - * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp. - (struct cpp_reader): Make map const. - (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update. - * cpplib.c (do_line): Update; line maps now hold sysp. - (cpp_push_buffer): Similarly. - (_cpp_do_file_change): Similarly; callback with map instead. - (cpp_get_line_maps): Constify return value. - (_cpp_pop_buffer): Update. - * cpplib.h (struct cpp_file_change): Remove. - (struct cpp_callbacks): Update. - (cpp_get_line_maps): Constify return value. - * cppmacro.c (_cpp_create_definition): Update. - * cppmain.c (struct printer): Constify map. - (maybe_print_line): Similarly. - (print_line): Similarly. Deduce flags 1 and 2 here. - (cb_file_change): Update. - * line-map.c (free_line_maps): Warn regardless. - (add_line_map): Return pointer to const. When passed NULL to_file - with LC_LEAVE, use the obvious values for the return point so the - caller doesn't have to figure them out. - (lookup_line): Return pointer to const. - (print_containing_files): Take pointer to const. - * line-map.h (struct line_map): New members reason, sysp. - (add_line_map): Return pointer to const. - (lookup_line): Similarly. - (print_containing_files): Take pointer to const. - -2001-08-10 Roman Zippel - Richard Henderson - - * regmove.c (regmove_optimize): Avoid setting a register twice in - a parallel set. - -2001-08-10 Richard Henderson - - * doc/extend.texi (Arrays and pointers implementation): Document - behavior of pointer/integer conversion. - -2001-08-10 Ulrich Weigand - - * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture. - -2001-08-10 Richard Henderson - - * doc/extend.texi (C Implementation): New chapter. - * doc/gcc.texi (Top): Link it in. - -2001-08-10 Andrew Cagney - - * doc/install.texi (Specific): Fix CVS merge botch. - -2001-08-10 Richard Henderson - - * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with - ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP. - -2001-08-10 Zack Weinberg - - * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY - if not already defined. Remove all #ifdefs on STACK_BOUNDARY; - this macro is now required. - - * cselib.c (cselib_process_insn), flow.c (propagate_block), - loop.c (find_and_verify_loops), reload.c (reload): Check - for rtx code of CALL_INSN, not CALL, when deciding if we - need to check for REG_SETJMP note. - - * gcse.c (compute_hash_table, compute_store_table): Update - the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP - logic. - - * config/avr/avr.c: Fix typo. - * config/convex/convex.c (expand_movstr): Use adjust_address. - * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen - variable. - * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address. - * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h. - Fix typo. - * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?) - Do define STACK_BOUNDARY. - * config/i370/i370.c: Include expr.h. - * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h, - config/pa/som.h, config/v850/v850.h: Take in_ctors and - in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION - and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS. - * config/m88k/m88k.c: Include c-tree.h after expr.h. - * config/pdp11/pdp11.c: Include expr.h and toplev.h. - * config/romp/romp.c: Include expr.h after tree.h. - Include toplev.h. - (output_fpop): Use xmalloc, not oballoc. - * config/we32k/we32k.c: Include expr.h. - -2001-08-10 Kazu Hirata - - * config/h8300/h8300.h: Fix formatting. - -2001-08-08 Jason Merrill - - * c-common.h (RETURN_NULLIFIED_P): Lose. - * c-semantics.c (genrtl_return_stmt): Don't check it. - -2001-08-10 Richard Sandiford - - * config/mips/mips.c (mips_add_large_offset_to_sp): New function. - (mips_annotate_frame_insn): New function. - (mips_emit_frame_related_store): New function. - (save_restore_insns): Don't mark instructions that set up the base - registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to - the store instructions instead. - (mips_expand_prologue): If the stack size is moved into a temporary - register, do not mark that move as frame-related. Add a - REG_FRAME_RELATED_EXPR note to the stack adjustment instruction. - -2001-08-10 Richard Sandiford - - * config/mips/mips.c (save_restore_insns): Don't mark the RA's - stack slot as unchanging if current_function_calls_eh_return. - -2001-08-10 Richard Sandiford - - * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to - access the second half of the TFmode scratch operand. - -2001-08-10 Anthony Green - - * java/class.c (emit_register_classes): Conditionalize code on - JCR_SECTION_NAME. - -2001-08-10 Gerald Pfeifer - - * doc/install.texi (Specific, avr): Fix cross-reference to the - main manual to work both for info and HTML versions. - -2001-08-09 John David Anglin - - * stmt.c (expand_null_return_1): Remove code to generate simple returns - and "use_goto" argument. - (expand_null_return, expand_value_return): Update all callers. - * function.c (expand_function_end): Remove code to generate simple - return. - * config/vax/vax.md (epilogue): New expander for function return. - * doc/md.texi (epilogue): Remove "if defined". - -2001-08-09 Zack Weinberg - - * Makefile.in: Partially revert my previous change: - put -DGENERATOR_FILE back in HOST_CFLAGS, take it out - of the hashtab.o and safe-ctype.o rules. - -2001-08-09 Richard Henderson - - * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses. - (USE_COLLECT2): Remove duplicate definition. - * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h. - (use_collect2): Remove dead code. - * configure.in (use_collect2): Remove will_use_collect2 and - maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines. - * configure: Rebuild. - - * target.h (targetm.asm_out.constructor): New. - (targetm.asm_out.destructor, targetm.have_ctors_dtors): New. - * target-def.h (TARGET_ASM_CONSTRUCTOR): New. - (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New. - * varasm.c (in_ctors, in_dtors): New. - (assemble_constructor, assemble_destructor): Remove. - (default_stabs_asm_out_destructor): New. - (default_named_section_asm_out_destructor): New. - (dtors_section, default_dtor_section_asm_out_destructor): New. - (default_stabs_asm_out_constructor): New. - (default_named_section_asm_out_constructor): New. - (ctors_section, default_ctor_section_asm_out_constructor): New. - * output.h: Update declarations. - * c-decl.c (c_expand_body): Use target hooks instead of - assemble_constructor and assemble_destructor. - * profile.c (output_func_start_profiler): Likewise. - * objc/objc-act.c (finish_objc): Likewise. - (build_module_descriptor): Tidy. Set TREE_PUBLIC properly - for the constructor. - * objc/Make-lang.in (objc-act.o): Depend on TARGET_H. - - * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define. - (DTORS_SECTION_ASM_OP): Likewise. - (__CTOR_LIST__): Use attribute section when possible. - (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise. - - * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on - ASM_OUTPUT_CONSTRUCTOR. - - * config/darwin.c (machopic_asm_out_constructor): New. - (machopic_asm_out_destructor): New. - * config/darwin-protos.h: Update declarations. - * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (ASM_OUTPUT_DESTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. - * config/nextstep.c (nextstep_asm_out_constructor): New. - (nextstep_asm_out_destructor): New. - * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (ASM_OUTPUT_DESTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. - * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of - ASM_OUTPUT_*STRUCTOR. - * config/i386/aix386ng.h: Likewise. - - * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove. - (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors. - (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove. - (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove. - * config/lynx.h: Likewise. - * config/netware.h: Likewise. - * config/psos.h: Likewise. - * config/alpha/alpha-interix.h: Likewise. - * config/alpha/elf.h: Likewise. - * config/arc/arc.h: Likewise. - * config/arm/aof.h: Likewise. - * config/arm/coff.h: Likewise. - * config/arm/elf.h: Likewise. - * config/c4x/c4x.h: Likewise. - * config/h8300/h8300.h: Likewise. - * config/i386/cygwin.h: Likewise. - * config/i386/djgpp.h: Likewise. - * config/i386/i386-coff.h: Likewise. - * config/i386/i386-interix.h: Likewise. - * config/i386/sco5.h: Likewise. - * config/i386/vsta.h: Likewise. - * config/i386/win32.h: Likewise. - * config/i960/i960-coff.h: Likewise. - * config/ia64/sysv4.h: Likewise. - * config/m68hc11/m68hc11.h: Likewise. - * config/m68k/coff.h: Likewise. - * config/m68k/mot3300.h: Likewise. - * config/m88k/m88k.h: Likewise. - * config/mcore/mcore-pe.h: Likewise. - * config/mcore/mcore.h: Likewise. - * config/mips/elf.h: Likewise. - * config/mips/elf64.h: Likewise. - * config/mips/iris6.h: Likewise. - * config/pa/pa64-hpux.h: Likewise. - * config/rs6000/sysv4.h: Likewise. - * config/sh/sh.h: Likewise. - * config/sparc/litecoff.h: Likewise. - - * config/svr3.h (CTORS_SECTION_ASM_OP): Remove. - (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove. - (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove. - * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (ASM_OUTPUT_DESTRUCTOR): Remove. - * config/a29k/a29k.c: Move include of tree.h. - * config/a29k/udi.h: Delete file. - * config/alpha/alpha.c (vms_asm_out_constructor): New. - (vms_asm_out_destructor): New. - * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors. - (EXTRA_SECTION_FUNCTIONS): Likewise. - (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. - * config/c4x/c4x.c: Move include of tree.h. - * config/clipper/clipper.c (clix_asm_out_constructor): New. - (clix_asm_out_destructor): New. - * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (ASM_OUTPUT_DESTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. - * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR): New. - * config/i386/i386.c (ix86_svr3_asm_out_constructor): New. - (sco_asm_out_constructor): New. - * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New. - * config/i386/svr3gas.h: Remove stack grows up code. - Remove code duplicated from i386/sysv3.h. - (TARGET_ASM_CONSTRUCTOR): New. - (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove. - (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove. - * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR): New. - * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New. - (m68hc11_asm_out_destructor): New. - * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New. - (TARGET_ASM_DESTRUCTOR): New. - * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR. - * config/m68k/dpx2.h: Properly undef all the bits inherited from - config/svr3.h pertaining to section manipulation. - * config/m68k/dpx2g.h: Remove #if 0 code. - * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New. - * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo. - (ASM_OUTPUT_CONSTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR): New. - * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local. - (m88k_svr3_asm_out_constructor): New. - (m88k_svr3_asm_out_destructor): New. - * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (ASM_OUTPUT_DESTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. - * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code. - * config/rs6000/aix.h: Likewise. - * config/mips/rtems64.h: Don't undef removed constructor related bits. - * config/mips/vxworks.h: Likewise. - * config/rs6000/lynx.h: Likewise. - * config/sh/elf.h: Likewise. - * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New. - (DTORS_SECTION_ASM_OP): New. - * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (ASM_OUTPUT_DESTRUCTOR): Remove. - * config/sparc/sol2-sld-64.h: Likewise. - * config/vax/vax.c (vms_asm_out_constructor): New. - (vms_asm_out_destructor): New. - * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove. - (ASM_OUTPUT_DESTRUCTOR): Remove. - (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. - - * doc/tm.texi (@node Initialization): Update. - -2001-08-09 Richard Henderson - - * config/alpha/crtbegin.asm (__JCR_LIST__): New. - (__do_global_dtors_aux): Use gp-relative static data to avoid - one dynamic relocation. - (__do_frame_setup): Register Java classes. - * config/alpha/crtend.asm (__JCR_END__): New. - -2001-08-09 Zack Weinberg - - * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE. - (CONFIG_H, TCONFIG_H, TM_P_H): Update. - (GEN, STAGESTUFF): Add new files. - (insn-constants.h, s-constants, tm-preds.h, s-preds, - genconstants, genpreds, genconstants.o, genpreds.o): New rules. - (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE. - * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h - as well as insn-codes.h and insn-flags.h in config.h; and no - extra headers in tconfig.h and hconfig.h. - - * gencodes.c: Eliminate code to generate predicate declarations - or #defines for md-file constants. - * genconstants.c, genpreds.c: New files. - - * i386.md: Re-order guard expressions such that TARGET_64BIT - comes first, when this permits better optimization. Add - TARGET_64BIT to more x86-64 patterns. Add comment explaining - why this is desirable. - -2001-08-09 Jakub Jelinek - - * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers. - (find_fde_for_dso): Remove. - (_Unwind_IteratePhdrCallback): New. - (_Unwind_FindTableEntry): Use dl_iterate_phdr. - * config/ia64/crtbegin.asm (__ia64_app_header): Remove. - -Thu Aug 9 11:30:20 2001 Richard Kenner - - * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING. - (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING. - -2001-08-09 Graham Stott - - * sched-vis.c (MAX_VISUAL_NO_UNIT): Define. - (vis_no_unit): Use it. - (visualize_no_unit): Add the insn only if room exists. - -2001-08-09 Graham Stott - - * predict.c (estimate_probability): Replace magic numbers with - appropriate enumeration. - -2001-08-09 Graham Stott - - * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro - parameter. - (EXTRACT_FLAGS): Likewise. - -2001-08-09 Aldy Hernandez - - * config/mips/mips.c (mips_legitimate_address_p): Check for - CONST_INT in last patch. - -2001-08-08 Anthony Green - - * java/class.c (emit_register_classes): Use assemble_jcr if - possible. Keep the original mechanism as a fallback. - * defaults.h (JCR_SECTION_NAME): Define if we have named section - and weak symbol support. - * crtstuff.c (__JCR_LIST__): Define. - (__JCR_END__): Define. - (_Jv_RegiserClasses): Define weak symbol if possible. - (__do_global_ctors_aux): Register classes for ELF targets with - weak symbol support. - -2001-08-08 Kazu Hirata - - * dbxout.c: Fix comment formatting. - * dependence.c: Likewise. - * df.c: Likewise. - * diagnostic.c: Likewise. - * dominance.c: Likewise. - * doprint.c: Likewise. - * dwarf2out.c: Likewise. - * dwarfout.c: Likewise. - * emit-rtl.c: Likewise. - * except.c: Likewise. - * explow.c: Likewise. - * expmed.c: Likewise. - * expr.c: Likewise. - * flow.c: Likewise. - * fold-const.c: Likewise. - * function.c: Likewise. - -2001-08-08 Franz Sirl - - * global.c (retry_global_alloc): Avoid shadowing allocno. - -2001-08-08 Mark Mitchell - - * except.c (remove_fixup_regions): Fix typo. - -2001-08-08 Jan van Male - - * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to - unsigned HOST_WIDE_INT to avoid warning. - * final.c (final): Cast INSN_UID to unsigned to avoid warning. - * flow.c (set_block_for_new_insns): Likewise. - -Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka - - * sibcall.c (return_value_pseudo): New static variable. - (skip_copy_to_return_value): Handle return_value_pseudo. - (call_ends_block_p): Ensure that return_value_pseudo is set. - (optimize_sibling_and_tail_recursive_call): Discover the - load of pseudo return value in alternate exit block. - -Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka - - * calls.c (ECF_ALWAYS_RETURN): New constant. - (emit_call_1): Add REG_ALWAYS_RETURN note if needed. - (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func. - (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN. - * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN. - * rtl.c (reg_note_name): New name. - * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN. - -2001-08-07 Aldy Hernandez - - * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses. - -2001-08-08 Jason Merrill - - * alias.c (get_alias_set): Return a previously calculated - alias set for a VAR_DECL. - * function.c (gen_mem_addressof): Calculate the alias set before - touching the RTL. - -Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka - - * predict.def: Set hitrates according our experimental run. - -Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka - - * i386.h (HARD_REGNO_RENAME_OK): New macro. - -2001-08-08 H.J. Lu - - * config/mips/mips.c (mips_unique_section): New. Copied from - config/mips/elf.h. - - * config/mips/mips-protos.h (mips_unique_section): New - prototype. - - * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section. - - * config/mips/little.h: New. Generic little endian mips - targets. Only mips*-*-linux* is converted to use it so far. - - * config/mips/linux.h: Include "gofast.h" and "mips/mips.h". - (WCHAR_TYPE): Defined - (WCHAR_TYPE_SIZE): Likewise. - (INIT_SUBTARGET_OPTABS): Likewise. - (BSS_SECTION_ASM_OP): Likewise. - (SBSS_SECTION_ASM_OP): Likewise. - (ASM_OUTPUT_ALIGNED_BSS): Likewise. - (ASM_DECLARE_OBJECT_NAME): Likewise. - (UNIQUE_SECTION): Likewise. - (EXTRA_SECTIONS): Likewise. - (ASM_OUTPUT_CONSTRUCTOR): Likewise. - (ASM_OUTPUT_DESTRUCTOR): Likewise. - (ASM_OUTPUT_DEF): Likewise. - (HANDLE_SYSV_PRAGMA): Removed. - (NO_IMPLICIT_EXTERN_C): Likewise. - (TARGET_MEM_FUNCTIONS): Likewise. - (STARTFILE_SPEC): Likewise. - (ENDFILE_SPEC): Likewise. - (LIB_SPEC): Likewise. - (INVOKE__main): Likewise. - (CTOR_LIST_BEGIN): Likewise. - (CTOR_LIST_END): Likewise. - (DTOR_LIST_BEGIN): Likewise. - (DTOR_LIST_END): Likewise. - (SET_ASM_OP): Likewise. - (ASM_OUTPUT_SOURCE_LINE): Likewise. - (ASM_OUTPUT_DEF): Likewise. - (ASM_OUTPUT_IDENT): Likewise. - - * config/mips/mips.h (ASM_SPEC): Undefine before define. - (CPLUSPLUS_CPP_SPEC): Likewise. - (ASM_APP_ON) Redefine only if not defined. - (ASM_APP_OFF): Likewise. - (ASM_OUTPUT_SOURCE_LINE): Likewise. - (ASM_OUTPUT_IDENT): Likewise. - - * config.gcc: Update tm_file for Linux/mips. - -2001-08-08 Bernd Schmidt - - * cselib.c (cselib_record_sets): If insn is predicated, turn - sources into IF_THEN_ELSEs. - - * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b): - Turn into define_insn_and_split. - - * sched-deps.c: Include "cselib.h". - (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2): - Use cselib to turn memory addresses into VALUEs. - (sched_analyze): Call cselib_init/cselib_finish if necessary. - * sched-int.h (struct sched_info): New member USE_CSELIB. - * sched-ebb.c (ebb_sched_info): Initialize it. - * sched-rgn.c (rgn_sched_info): Likewise. - * Makefile.in (sched-deps.o): Update dependencies. - - * cselib.h (cselib_subst_to_values): Declare. - * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs - that have no value and autoincs to be handled by generating a new - dummy value. - -2001-08-08 Graham Stott - - * final.c (shorten_branches): Update the INSN_ADDRESSES of insns - within fixed length SEQUENCE. - -2001-08-08 Graham Stott - - * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter. - (diagnostic_prefixing_rule): Likewise. - (diagnostic_line_cutoff): Likewise. - (diagnostic_kind_count): Likewise. - -2001-08-08 Graham Stott - - * alias.c (find_base_decl): Delete redundent assignment. - -2001-08-08 Graham Stott - - * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter. - (abs): Uppercase and paranthesize macro parameter. - (MEM_DEPENDENCY): Add whitespace. - -2001-08-08 Graham Stott - - * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking - failure check for CONST_INT - -2001-08-08 Graham Stott - - * flow.c (back_edge_of_syntactic_loop_p): Add whitespace. - (libcall_dead_p): Likewise. - - (mark_used_regs): Constify fmt. - (find_use_as_address): Likewise. - -2001-08-08 Graham Stott - - * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro - parameter. - -2001-08-08 Graham Stott - - * combine.c (combine_simplify_rtx): Update comment and - remove erroneous test. - -2001-08-07 Neil Booth - - * cppinit.c (cpp_finish): Pop the final buffer without comment. - * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and - take care to avoid multiple no-newline at EOF warnings in that - case. - -Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka - - * calls.c (expand_call): Do not emit INSN_SETJMP note. - (emit_library_call_value_1): Likewise. - (emit_call_1): Emit REG_SETJMP note. - * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead - of INSN_SETJMP - * cselib.c (cselib_process_insn): Likewise. - * flow.c (propagate_block): Likewise. - * loop.c (find_and_verify_loops): Likewise. - * reload.c (find_equiv_regs): Likewise. - * reload1.c (reload): Likewise. - * resource.c (mark_referenced_resources, - mark_set_resources): Likewise. - * sched-deps (sched_analyze_insn, sched_analyze): Likewise. - * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP. - * haifa-sched.c (unlink_other_notes): Likewise. - (reemit_notes): Likewise. - * sched-ebb.c (sched_ebb): Likewise. - * sched-rgc.c (sched_region): Likewise. - * rtl.c (note_insn_name): Likewise. - (reg_note_name): Add REG_SETJMP - * rtl.h (reg_note): Add REG_SETJMP. - (insn_note): Remove NOTE_INSN_SETJMP. - - * profile.c (branch_prob): Add fake edges for setjmp. - -2001-08-07 Daniel Jacobowitz - - * config.gcc: Quote target_cpu_default2 correctly for - powerpc*-*-* targets. - -2001-08-07 Neil Booth - - * cpplib.h, line-map.h: Update comments. - * cppmain.c (printer_init): Move inline. - (maybe_print_line, print_line): Take a map pointer. - (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update. - (cb_file_change): Don't use prior value of print.map. - -2001-08-07 David Edelsohn - - * doc/install.texi: Document fine-grained multilib configuration. - -Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka - - * rtlanal.c (find_first_parameter_load): Call note_stores - only on the instructions. - -Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka - - * alias.c (nonlocal_mentioned_p): - Rename CONST_CALL_P to CONST_OR_PURE_CALL_P - * calls.c (emit_call_1): Likewise. - * cse.c (cse_insn, invalidate_skipped_block): Likewise. - * cselib.c (cselib_process_insn): Likewise. - * df.c (df_insns_modify): Likewise. - * flow.c (need_fake_edge_p): Likewise. - (propagate_one_insn): Likewise. - * haifa-sched.c (reemit_notes): Likewise. - * integrate.c (copy_insn_list): Likewise. - * jump.c (delete_prior_computation): Likewise. - * local-alloc.c (validate_equiv_mem): Likewise. - * loop.c (scan_loop): Likewise. - * predict.c (estimate_probability): Likewise. - * reload.c (reload): Likewise. - * sched-deps (sched_analyze): Likewise. - * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P. - * gcse.c (compute_hash_table): Likewise. - (mark_call): Likewise. - (store_killed_in_insn): Likewise. - -2001-08-07 Jason Merrill - - * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P. - -2001-08-06 Richard Henderson - - * varasm.c (assemble_gc_entry): Remove. - * output.h: Likewise. - -2001-08-06 Richard Henderson - - * varasm.c (assemble_constructor): Take a symbol_ref and a - priority instead of a bare string. Move priority handling - here from cp/decl2.c. - * output.h: Update decls. - - * c-decl.c (c_expand_body): Update calls to assemble_constructor - and assemble_destructor. - * profile.c (output_func_start_profiler): Likewise. - * objc/objc-act.c (finish_objc): Likewise. - (build_module_descriptor): Return the symbol not the symbol name. - -2001-08-06 David Edelsohn - - * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace. - * config/rs6000/linux64.h (RS6000_MCOUNT): Define. - ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define. - * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace. - * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace. - * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace. - -2001-08-06 Neil Booth - - * cpperror.c (print_containing_files): Moved to line-map.c. - (print_location): line-map.c handles re-listing or otherwise. - * cpphash.h (struct lexer_state): Remove next_bol. - (struct cpp_buffer): Remove include_stack_listed. - * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer): - Remove faked buffer handling. - (_cpp_do_file_change): Tweak. - * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE. - * cppmain.c (struct printer): Remove filename. - (print_line, cb_file_change): Update accordingly. - * line-map.c: Include intl.h. - (init_line_maps): Initialize last_listed. - (free_line_maps): Sanity check, warn if ENABLED_CHECKING. - (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING. - (print_containing_files): New. - * line-map.h (struct line_maps): New member last_listed. - (print_containing_files, INCLUDED_FROM): New. - * Makefile.in: Update. - * po/POTFILES.in: Add line-map.c. - -2001-08-06 Richard Henderson - - * except.c (convert_from_eh_region_ranges_1): Never mark - USE or CLOBBER insns as throwing. - - * expr.c (store_constructor): Don't clobber memory targets. - -2001-08-06 Andreas Jaeger - - * profile.c (branch_prob): Remove unused variable insn. - - * Makefile.in (local-alloc.o): Add dependency on except.h. - - * local-alloc.c: Include except.h for can_throw_internal prototype. - -2001-08-06 Richard Henderson - - * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New. - * function.c (expand_main_function): Implement it. - * doc/tm.texi: Document it. - -2001-08-06 Stan Shebs - - * doc/install.texi: Document powerpc-*-darwin* details. - -2001-08-06 Daniel Berlin - - * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h - (ASM_CPU_SPEC): Move back to rs6000.h - #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them. - - * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro. - - * config/rs6000/linux.h: Remove vtable thunks stuff we accidently - readded. - - * config/rs6000/linux64.h: Ditto. - - * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back - to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to - nothing. - - Remove accidently readded definitions of FUNCTION_PROLOGUE, - FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN - - * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back - to rs6000.h - -2001-08-05 Richard Henderson - - * local-alloc.c (update_equiv_regs): Do not move insns that - can throw. - -2001-08-05 Jan Hubicka - - * Makefile.in (reload1.o): Add dedendancy on except.h - * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update - prototypes. - * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool - indicating wehther edges has been cleaned up. - * reload1.c: Inlucde except.h - (fixup_abnormal_edges): Accept deleted insns. - * toplev.c (rest_of_compilation): Purge dead edges unconditionally - after combine. - -2001-08-06 Neil Booth - - * cpplib.c (do_line): Correct line number after pop_buffer. - -2001-08-05 Neil Booth - - PR preprocessor/3824 - * line-map.c: Update comments. - * line-map.h: Update comments. - * tradcif.y: Don't consider large numbers unsigned. - -2001-08-05 Neil Booth - - PR preprocessor/3081 - * c-lex.c (map): New. - (cb_file_change): Update map and use it. - (cb_def_pragma, cb_define, cb_undef): Use map and line. - (c_lex): Update to use map. - * cpperror.c (print_location): Move to using logical line numbers. - * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change. - (cpp_make_system_header): Similarly. - (_cpp_execute_include): Stop line numbering hacks. Store the - line we will return to. - * cpphash.h (CPP_BUF_LINE): Remove. - (struct cpp_buffer): Remove lineno and pseudo_newlines. - Add map and return_to_line. - (_cpp_do_file_change): Update. - * cppinit.c (cpp_start_read): Update line kludge. - * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines. - (trigraph_ok): Use logical line numbers for diagnostics. - (skip_block_comment): Likewise. - (skip_whitespace): Likewise. - (skip_line_comment): Use pfile->line instead. - (_cpp_lex_token): Update to use logical line numbering exclusively. - Handle BOL locally. Accept new lines in directives, but keep - pfile->line decremented. Diagnostics use logical lines. Update - directive handling. - * cpplib.c (SEEN_EOL): New. - (skip_rest_of_line, check_eol): Use it. - (end_directive): Increase line number when accepting the newline - at the end of a directive. - (run_directive): Simplify. - (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update. - (_cpp_do_file_change): Update to take buffer line number as an - argument, and store the current map in the cpp_reader. Remove - line number kludges. - (_cpp_do__Pragma): Restore output position after a _Pragma. - (cpp_push_buffer): Don't set output line or lineno. - (_cpp_pop_buffer): Transfer more info from a faked buffer. - Remove line kludge. Set output_line. - * cppmacro.c (builtin_macro): Update handling of __LINE__. - (parse_arg): Use logical lines. - (save_lookahead_token): Save EOFs too now. - * cppmain.c (struct printer): Fix comments. - (printer_init): Simplify, let caller do errors. - (scan_translation_unit, check_multiline_token, dump_macro): Update. - (maybe_print_line): Simplify. - (print_line): Don't print a linemarker if -P. - (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update. - (cb_file_change): Simplify. - * line-map.h (LAST_SOURCE_LINE): Fix. - (CURRENT_LINE_MAP): New. - -2001-08-05 Bernd Schmidt - - * doloop.c (doloop_modify_runtime): Properly compute number of - iterations if loop was unrolled. - - * alias.c (rtx_equal_for_memref_p): VALUEs are only identical - if their CSELIB_VAL_PTRs are. - - * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn. - (setup_spill_pointers): Initialize it. - (spill_restore_mem): Set it. - (do_spill, do_restore): Use it to add REG_INC note. - * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed. - - * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of - asms if other insns are available. - - * config/ia64/ia64.c (condop_operator): New predicate. - * config/ia64/ia64.h (PREDICATE_CODES): Add it. - * config/ia64/ia64.md (cond_opsi2_internal and splitters): New - patterns. - - * expr.c (expand_expr, case COND_EXPR): Prefer working with a - temporary register than directly using a MEM. - -2001-08-04 Hans-Peter Nilsson - - * config/sh/sh.c (sh_asm_named_section): Fix typo in align - parameter in last change. - -2001-08-04 Zack Weinberg - - * sparc.md: Don't use #if inside C test expression. - -2001-08-04 Richard Henderson - - * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack. - -2001-08-04 Neil Booth - - * cpphash.h (struct cpp_reader): New member directive_line. - * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks. - * cpplib.c (do_define, do_undef, do_ident, do_include_common, - do_pragma): Pass line to callbacks. - (start_directive): Record line of directive. - * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma, - cb_include): Similarly. - * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma): - Similarly. - -2001-08-04 Hans-Peter Nilsson - - * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION - comment. - -Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka - - * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes. - - * reload1.c (fixup_abnormal_edges): New static function. - (reload): Use it. - - * flow.c (need_fake_edge_p): New function. - (flow_call_edges_add): Fix handling of noreturn and sibling calls; - avoid call insn to be very last insn in the insn stream. - - * profile.c (branch_prob): Call flow_call_edges_add instead of - doing that by hand; cleanup cfg to re-merge basic blocks once - we are done. - -2001-08-04 Neil Booth - - * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h - are also on line-map.h. - * cppfiles.c (stack_include_file): Update. - * cpphash.h (struct cpp_buffer): New member return_at_eof. - (_cpp_pop_buffer): New. - * cppinit.c (cpp_destroy, cpp_finish): Update. - (do_includes): Mark each buffer to return at EOF. - * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or - return as requested. - * cpplib.c (run_directive, do_line, cpp_push_buffer): Update. - (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping. - * cpplib.h (cpp_pop_buffer): Remove. - (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput. - * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop - buffers. - * cppmain.c (scan_buffer): Rename scan_translation_unit. No need - to pop buffers. - (do_preprocessing): Update. - * fix-header.c (read_scan_file): Update. No need to pop buffers. - * c-parse.in (_yylex): Similarly. - * scan-decls.c (scan_decls): Similarly. - * line-map.h: Update comments. - - * objc/Make-lang.in (objc-act.o): Update dependencies. - -2001-08-04 Stephane Carrez - - * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory - and soft register for operand 0. - ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0. - -2001-08-04 Stephane Carrez - - * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft - register for operand 0. - ("bitcmpqi_z_used"): Allow memory for operand 0. - (split "bitcmpqi"): New split to handle address reg as operand 1. - -2001-08-04 Andreas Jaeger - - * gcse.c: Revert Daniel's last patch. - -2001-08-03 Zack Weinberg - - * sparc-protos.h: Add prototypes for fp_zero_operand and - reg_or_0_operand. - * sh-protos.h: Add prototype for fpul_operand. - -2001-08-04 Hans-Peter Nilsson - - * doc/extend.texi (Other Builtins): Fix typo in last change. - -2001-08-03 Richard Henderson - - * target.h (gcc_target): Add asm_out.named_section, - section_type_flags, have_named_sections. - * target-def.h (TARGET_ASM_NAMED_SECTION): New. - (TARGET_HAVE_NAMED_SECTIONS): New. - (TARGET_SECTION_TYPE_FLAGS): New. - - * Makefile.in (toplev.o): Depend on TARGET_H. - (varasm.o, dbxout.o): Likewise. - * c-common.c (decl_attributes): Check targetm.have_named_sections - instead of ifdef ASM_OUTPUT_SECTION_NAME. - * dbxout.c (dbxout_function_decl): Likewise. - (dbxout_function_end): Likewise. - * toplev.c (compile_file): Likewise. - * varasm.c (exception_section): Likewise. - * cp/decl2.c (finish_objects): Likewise. - - * defaults.h (EH_FRAME_SECTION): Remove. - (EH_FRAME_SECTION_ASM_OP): Remove. - (EH_FRAME_SECTION_NAME): New. - (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME. - (UNIQUE_SECTION_P): Remove. - * dwarf2out.c (SECTION_FORMAT): Remove. - (ASM_OUTPUT_SECTION): Remove. - (output_call_frame_info): Use named_section_flags. - (output_comp_unit, dwarf2out_start_source_file): Likewise. - (dwarf2out_end_source_file, dwarf2out_define): Likewise. - (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise. - * varasm.c (in_eh_frame, eh_frame_section): Remove. - (named_section_flags): New. - (named_section): Use it and targetm.section_type_flags. - (resolve_unique_section): New. - (assemble_start_function): Use it. - (asm_emit_uninitialised, assemble_variable): Likewise. - (default_section_type_flags): New. - (default_no_named_section, default_elf_asm_named_section): New. - (default_coff_asm_named_section, default_pe_asm_named_section): New. - * output.h: Update varasm.c decls. - (SECTION_*): New flags. - - * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP. - (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section. - - * config/elfos.h (UNIQUE_SECTION_P): Remove. - * config/alpha/elf.h, config/arm/linux-elf.h: Likewise. - * config/arm/pe.h, config/arm/unknown-elf.h: Likewise. - * config/i386/cygwin.h, config/i386/djgpp.h: Likewise. - * config/i386/i386-interix.h, config/i386/win32.h: Likewise. - * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise. - * config/mips/elf.h, config/mips/elf64.h: Likewise. - * config/mips/iris6gld.h, config/mips/mips.h: Likewise. - * config/pa/pa64-hpux.h, - - * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove. - (TARGET_ASM_NAMED_SECTION): New. - * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise. - * config/alpha/vms.h, config/arm/coff.h: Likewise. - * config/arm/conix-elf.h, config/arm/elf.h: Likewise. - * config/arm/linux-elf.h, config/arm/pe.h: Likewise. - * config/arm/unknown-elf.h, config/avr/avr.h: Likewise. - * config/c4x/c4x.h, config/h8300/h8300.h: Likewise. - * config/i386/cygwin.h, config/i386/djgpp.h: Likewise. - * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise. - * config/i386/sco5.h, config/i386/win32.h: Likewise. - * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise. - * config/mcore/mcore.h, config/mips/elf.h: Likewise. - * config/mips/elf64.h, config/mips/iris6.h: Likewise. - * config/mips/netbsd.h, config/mips/openbsd.h: Likewise. - * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise. - * config/rs6000/xcoff.h, config/sh/sh.h: Likewise. - * config/sparc/sysv4.h: Likewise. - - * config/nextstep.h: Error until named sections implemented. - - * config/a29k/a29k.c (a29k_asm_named_section): New. - * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New. - (vms_section_type_flags, vms_asm_named_section): New. - * config/arm/arm.c (arm_elf_asm_named_section): New. - * config/avr/avr.c (asm_output_section_name): Remove. - * config/avr/avr-protos.h: Update. - * config/c4x/c4x.c (c4x_asm_named_section): New. - * config/h8300/h8300.c (h8300_asm_named_section): New. - * config/i386/i386.c (sco_asm_named_section): New. - * config/i386/winnt.c (SECTION_PE_SHARED): New. - (i386_pe_section_type_flags): New. - (i386_pe_asm_named_section): New. - * config/i386/i386-protos.h: Update. - * config/m68k/m68k.c (m68k_coff_asm_named_section): New. - * config/mcore/mcore.c (mcore_asm_named_section): New. - * config/mips/mips.c (iris6_asm_named_section): New. - * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY - instead of UNIQUE_SECTION_P. - * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New. - (xcoff_asm_named_section): New. - * config/sh/sh.c (sh_asm_named_section): New. - * config/sparc/sparc.c (sparc_elf_asm_named_section): New. - - * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove. - * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove. - (EH_FRAME_SECTION_NAME): New. - (EXCEPTION_SECTION): New. - * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove. - (DEBUG_*_SECTION): Remove. - * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove. - * config/mips/iris6.h (DEBUG_*_SECTION): Remove. - (EH_FRAME_SECTION_ASM_OP): Remove. - - * doc/tm.texi (UNIQUE_SECTION_P): Remove. - (ASM_OUTPUT_SECTION_NAME): Remove. - (TARGET_ASM_NAMED_SECTION): New. - (TARGET_HAVE_NAMED_SECTIONS): New. - (TARGET_SECTION_TYPE_FLAGS): New. - (EH_FRAME_SECTION_ASM_OP): Remove. - (EH_FRAME_SECTION_NAME): New. - -2001-08-03 Zack Weinberg - - * builtins.c (fold_builtin_constant_p): Return integer_zero_node - for complex expressions when cfun == 0. - * doc/extend.texi: Document that __builtin_constant_p can be - used in data initializers as well as functions. - -2001-08-03 Alexandre Oliva - - * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare - variable I locally, instead of expecting a declaration in the - calling context. - -2001-08-03 Richard Henderson - - * except.c (collect_one_action_chain): Add an explicit cleanup - action if regions surrounding a catch were encoded entirely - within the call-site entry. - -2001-08-03 Richard Henderson - - * dbxout.c (dbxout_symbol_location): Flatten subregs first; - don't take REGNO of a non-register. - -2001-08-03 John David Anglin - - * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and - __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization. - (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1 - (__gthread_mutex_init_function): New function for mutex initialization. - -2001-08-03 Daniel Berlin - - * Makefile.in: Revert screwed up commit. - -2001-08-03 Stephane Carrez - - * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor. - * config/m68hc11/larith.asm (_exit): Split in several sub-sections - merged by linker script to get a final _exit(). - (__do_global_dtors): New for destructor handling in specific exit - section. - (__do_global_ctors): New for constructors in specific install section. - (__map_data_section): Map data sections before running constructors. - * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word. - (CTORS_SECTION_ASM_OP): Define to put in readonly section. - (DTORS_SECTION_ASM_OP): Likewise. - (CTORS_SECTION_FUNCTION): Define to force a reference to - __do_global_ctors. - (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors. - -2001-08-03 Daniel Berlin - - * ChangeLog: Fix date on previous ChangeLog entry for GCSE. - - * Makefile.in: Add df.h to gcse.c dependencies. - -2001-08-03 John David Anglin - - * varasm.c (output_constant_def_contents): Use for the length of a - string constant either its TREE_STRING_LENGTH or its int_size_in_bytes - depending on which is larger. - -2001-08-03 Daniel Berlin - - * gcse.c: Include df.h for use as a dataflow analyzer. - Remove regvec. - Declaration of reg_set_info: gone. - New df_analyzer variable used by store motion. - (reg_set_info): Deleted. - (mark_mem_regs): New function, analyze regs used by a mem. - (store_ops_ok): Use dataflow analyzer results to determine if - necessary regs are changed in the block. - (find_moveable_store): Remove check for symbol ref, we can handle - much more complex expressions now. - (compute_store_table): Remove most of the code, it's unnecessary - now that the dataflow analyzer records the info for us. - (store_killed_after): Add parameter to say whether to do the - store_ops_okay test, used to speed up testing when we already know - the answer, and just want to know if the store itself was killed. - (build_store_vector): Largely rewritten to calculate the various - vectors properly, and somewhat optimized. - (store_motion): Init the df_analyzer, get REG_DEF chains. - Also handle trapping expressions (since mems almost always trap) - (simple_mem): Redefine what a simple mem is. - -2001-08-03 DJ Delorie - - * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary - set from a constant part of the condition. - -2001-08-01 Andrew Cagney - - * mkdeps.c (deps_add_default_target): Make local variable - ``start'' a const char pointer. - * dwarf2out.c (compute_section_prefix): Localize use of ``p''. - -2001-08-03 Rainer Orth - - * doc/install.texi (Configuration): Fix markup. - (Specific, i?86-*-udk): Likewise. - (Specific, alpha*-dec-osf*): Warn against --with-gnu-as, - --with-gnu-ld. - Document --enable-threads and --enable-libgcj status. - (Specific, mips-sgi-irix*): Canonicalize triples. - (Specific, mips-sgi-irix5): Warn about problems with this config. - Mention required GNU as patch. - Native assembler problems are fixed. - (Specific, mips-sgi-irix6): Update O32 ABI support status. - Document --enable-threads and --enable-libgcj status. - -2001-08-02 Nick Clifton - - * Makefile.in, mklibgcc.in: Restore changes with fixed invocation - of mkinstalldirs. - -2001-08-03 Richard Henderson - - * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to - constant data. - -2001-08-03 Richard Henderson - - * rtlanal.c (find_first_parameter_load): Stop if we - reach a CODE_LABEL at BOUNDARY. - -2001-08-03 Richard Henderson - - * config/alpha/alpha.md (force_movdi): New insn. - * config/alpha/alpha.c (alpha_expand_prologue): Use it. - Tweek FRP marking of VMS prologue insns. - * config/alpha/vms.h (EPILOGUE_USES): New. - -2001-08-02 Richard Henderson - - * Makefile.in, mklibgcc.in: Revert mkinstalldirs change. - -2001-08-02 Lars Brinkhoff - - * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c, - simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h, - config/convex/convex.h, config/d30v/d30v.c, - config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, - config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c, - config/mips/mips.h, config/mn10200/mn10200.h, - config/mn10300/mn10300.h, config/pdp11/pdp11.md, - config/v850/v850.h, config/vax/openbsd.h, - config/vax/openbsd1.h, config/vax/ultrix.h, - config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h, - config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h, - cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi, - doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi, - doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX" - in comments and documentation. - -2001-08-03 Neil Booth - - * line-map.c: New. - * line-map.h: New. - * Makefile.in (line-map.o): New. - (LIBCPP_OBJS, LIBCPP_DEPS): Update. - * c-lex.c (cb_file_change): Update for new cpp_file_change structure. - * cpperror.c (print_containing_files): Similarly. - (print_location): Update. Don't output a space before _Pragma. - * cppfiles.c (stack_include_file): Set to line 1 immediately. - (stack_include_filee, cpp_make_system_header): Update. - (_cpp_execute_include): Get logical line number right for calling - as-yet-unterminated #include. - * cpphash.h (struct cpp_reader): Add line_maps. - (_cpp_do_file_change): Update. - * cppinit.c (cpp_create_reader): Initialize line maps. - (cpp_destroy): Destroy line maps. - (cpp_start_read): Get logical line number right. - * cpplex.c (parse_string): Only warn once for multi-line strings. - Use boolean variable for null warning. - * cpplib.c (_cpp_handle_directive): End the directive if it isn't - already. - (do_include_common): End the directive early. - (do_line): Don't warn about out-of-range lines in preprocessed - source. Update. Remove unused variables. - (_cpp_do_file_change): Update for new line mapping. - (pragma_cb): New typedef. - (cpp_register_pragma): Stop looking ahead before calling the - handler. Clean up. - (do_pragma_system_header): End directive early. - (cpp_get_line_maps): New. - (cpp_pop_buffer): Fudge logical line. Update. - * cpplib.h: Include line-map.h - (enum cpp_fc_reason): Remove. - (struct cpp_file_change): Update. - (cpp_get_line_maps): New. - * cppmain.c (struct_printer): New member map. - (cb_file_change): Update for new mappings. - * fix-header.c (cb_file_change): Similarly. - -2001-08-02 Nick Clifton - - * Makefile.in (libgcc.mk): Define mkinstalldirs. - * mklibgcc.in: Use mkinstalldirs instead of mkdir. - -2001-08-02 Lars Brinkhoff - - * config/vax/vax.c: include expr.h. - -2001-08-02 Nick Clifton - - * Makefile.in ($(srcdir)/configure): Only rebuild in - maintainer mode. - ($(srcdir)/config.in): Only define in maintainer mode. - ($(srcdir)/cstamp-h.in): Only define in maintainer mode. - -2001-08-02 David Edelsohn - - * doc/install.texi (Install GCC: Binaries): Update Bull info. - -2001-08-02 Rainer Orth - - * gcc.c (set_collect_gcc_options): New function, split out from - main. - Ignore elided switches. - (do_spec_1): Invoke before executing command. - (set_input): Export. - Move declaration ... - * gcc.h (set_input): ... here. - * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input - file. - -2001-08-02 Nathan Sidwell - - Kill -fhonor-std. - * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std - interaction. - * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std. - -2001-08-02 Richard Sandiford - - * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise - for the unnamed instructions it expands to. - -2001-08-02 Richard Henderson - - * regclass.c (call_really_used_regs): Conditionally define. - (init_reg_sets_1): Don't use it if not defined. - (fix_register): Similarly, don't set it. - -2001-08-01 Gerald Pfeifer - - * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600. - Correct comment that had been missed in the previous change. - -2001-08-01 Stan Shebs - - * config/darwin.c (machopic_stub_name): Try matching by name. - (update_stubs): New function. - (darwin_encode_section_info): Call it and update_non_lazy_ptrs - unconditionally. - -2001-08-01 Richard Henderson - - * except.c (output_function_exception_table): Use assemble_align. - * varasm.c (assemble_eh_label): Remove. - (assemble_eh_align, assemble_eh_integer): Remove. - -2001-08-01 Robert Lipe - - * dwarfout.c: Remove reference to README.DWARF. - -2001-08-01 Andrew MacLeod - - * regclass.c (call_really_used_regs): New array for registers which - are actually used by a call. - (init_reg_sets_1): Initialize regs_invalidated_by_call with the - new array. - (fix_register): Set call_really_used too. - * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize. - * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document. - -2001-08-01 Richard Henderson - - * read-rtl.c (read_name): Consider \r whitespace. - -2001-07-11 Andrew Cagney - - * config.gcc: Recognize powerpc-*-netbsd*. - - * doc/install.texi (Host/target specific installation notes for - GCC): Mention powerpc-*-netbsd*. - - * config/rs6000/netbsd.h: New file. - (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine. - (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine. - (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine. - (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine. - (TARGET_VERSION): Redefine. - - * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize - mcall-netbsd as a match for mcall-sysv. - (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext). - (ncrti.S, ncrtn.S): New targets. - ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets. - - * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize - "netbsd' as a V4 ABI. - (ASM_SPEC): Check for -mcall-netbsd. - (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto. - (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto. - (LIB_SPEC, ENDFILE_SPEC): Ditto. - (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define. - (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define. - (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define. - (SUBTARGET_EXTRA_SPECS): Add NetBSD specs. - - * doc/invoke.texi (Option Summary): Add -mcall-netbsd. - (RS/6000 and PowerPC Options): Mention -mcall-netbsd. - -2001-08-01 Mark Kettenis - - * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define - only if NO_BASE_OF_ENCODED_VALUE isn't defined. - * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before - including "unwind-pe.h". - -Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka - - * rs6000.md (define_splits): Kill unused constraints. - -Wed Aug 1 20:02:12 CEST 2001 Graham Stott - Jan Hubicka - - * function.c (thread_prologue_and_epilogue_insns): Kill code - dealing with non-existent CFG. - -2001-08-01 Kazu Hirata - - * alias.c: Fix comment formatting. - * bitmap.c: Likewise. - * builtins.c: Likewise. - * calls.c: Likewise. - * c-common.c: Likewise. - * c-decl.c: Likewise. - * c-dump.c: Likewise. - * c-lex.c: Likewise. - * collect2.c: Likewise. - * combine.c: Likewise. - * conflict.c: Likewise. - * cppfiles.c: Likewise. - * cppinit.c: Likewise. - * cpplex.c: Likewise. - * cpplib.c: Likewise. - * cppmacro.c: Likewise. - * cppspec.c: Likewise. - * c-pragma.c: Likewise. - * crtstuff.c: Likewise. - * cse.c: Likewise. - * cselib.c: Likewise. - * c-semantics.c: Likewise. - * c-typeck.c: Likewise. - -2001-08-01 H.J. Lu - - * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined. - -2001-08-01 H.J. Lu - - * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined. - -2001-08-01 Ziemowit Laski - - * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for - contextualizing Objective-C class name lookup by the lexer. - (typespec_reserved_nonattr): Disable ObjC class name lookup after - seeing a TYPESPEC. - (protocoldef): Add support for forward @protocol declarations. - (yylexname): Suppress ObjC class name lookup in certain contexts; - re-enable after lookup is complete. - (_yylex): Re-enable ObjC class name lookup when certain - punctuation marks are seen. - - * objc/objc-act.c (check_protocol_recursively): New function used - for finding circular dependencies in protocols. - (objc_declare_protocols): New function for handling forward - @protocol declarations. - (receiver_is_class_object): Detect the case when 'self' is used - inside of a class method. - (build_message_expr): Issue a warning if class method is desired - but instance method is found instead. - (conforms_to_protocol): Streamline. - (objc_comptypes): Detect the fact that 'Bar foo' conforms to - protocol Foo, even if 'Bar foo' does not. - (check_protocols): Streamline. - (start_protocol): Add checks for circular and duplicate protocol - definitions. - (encode_aggregate_within): For typedefs of structs, encode the - underlying struct. - * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor. - (objc_declare_protocols): New prototype. - -2001-08-01 Neil Booth - - * cpphash.h (struct cpp_reader): New members line, pseudo_newlines. - * cpplex.c (handle_newline): Update prototype. Maintain logical - line number. - (skip_escaped_newlines, skip_block_comment, parse_string): - Update accordingly. - (_cpp_lex_token): Update, and store token position within the token. - * cpplib.h (struct cpp_token): Add line and column entries. - * cppmacro.c (replace_args): Position stringified tokens correctly. - -2001-08-01 Andreas Jaeger - - * basic-block.h: Add prototype for last_loop_beg_note. - -2001-07-31 Alexandre Petit-Bianco - - * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of - RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in - comment. - (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL - while handling WITH_CLEANUP_EXPR node. Use second operand calling - expand_decl_cleanup. - * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is - the first RTX. - (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second - operand while calling simple_cst_equal. - * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second - operand is the cleanup expression, the third is the RTL_EXPR. - * tree.h (WITH_CLEANUP_EXPR_RTL): New macro. - -2001-07-31 Jeff Sturm - - * except.c (duplicate_eh_regions): Test n_array[i] for NULL. - -2001-07-31 matthew green - - * config.gcc (i386-*-netbsdelf): New description. - * config/i386/netbsd-elf.h: New file. - -2001-07-30 Geoffrey Keating - - * loop.c (check_dbra_loop): Use single_set to compute - jump_label. - -2001-07-31 Daniel Berlin - - PowerPC reorg and support for powerpc64-*-linux*. - - Also fixes emitting of constants on 32 bit and 64 bit - platforms. - - * config.gcc: powerpc64-*-linux* is a new target. - Things that needed aix.h now also include xcoff.h - - * config/rs6000/rs6000.h: Split XCOFF specific stuff into - xcoff.h. - Move AIX specific stuff into aix.h. - (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used - with more than just XCOFF now. - (SET_ASM_OP): Remove, now defined where needed. - (FUNCTION_PROLOGUE): New macro definition. - (FUNCTION_EPILOGUE): New macro definition. - (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition. - - * config/rs6000/xcoff.h: New file. - - * config/rs6000/linux64.h: New file. - - * config/rs6000/darwin.h: Copy needed AIX alignment definitions. - -2001-07-31 Alan Modra - - * rs6000.c (print_operand_address): Handle ELF syntax. - (output_toc): Simplify. Use DOUBLE_INT_ASM_OP. - * rs6000.md (load_toc_aix_di): Handle ELF syntax. - * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP. - -2001-07-31 David Edelsohn - - * rs6000.c (rs6000_override_options): Only disable - flag_function_sections for XCOFF. - (exact_log2_cint_operand): New predicate. - (reg_or_{add,sub}_cint64_operand): New predicates. - (add_operand): Compare CONST_INT with fewer function calls. - (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions. - (print_operand, case 'p'): Ensure positive operand. - (rs6000_emit_load_toc_table): No load_toc_v4_pic_di. - * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value. - (PREDICATE_CODES): Add new predicates. - * rs6000.md (addsi3): Split 32-bit constants more correctly. - (divsi3, modsi3): Ensure positive power-of-2. - (adddi3): Use new predicate. Split 32-bit constants more - correctly. Re-arrange splitter to handle any constant. - (subdi3): Use new predicate. - (divdi3, moddi3): Ensure positive power-of-2. - (movdi): Use rs6000_emit_set_const. - (load_toc_v4_pic_di): Delete. - -2001-07-31 Graham Stott - - * function.c (pad_below): Revert 2001-07-26 patch. - -Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka - - * reg-stack (convert_regs_1): Fix best edge condition. - -Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka - - * jump.c (duplicate_loop_exit_test): Better test for jumps - entering the loop; create loop pre_header. - -2001-07-31 Hartmut Penner - - * doc/install.texi: Add s390 and s390x as new targets. - * doc/invoke.texi: Add documentation of S/390 and zSeries - target options. - * doc/md.texi: Add documentation of S/390 and zSeries constraints. - -2001-07-30 Roman Zippel - - * config/m68k/m68k.md: Replace all general_operand with - nonimmediate_operand for all destinations. - * config/m68k/m68k.c (not_sp_operand): Likewise. - -Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com) - - * flow.c (merge_blocks): Return 1 if an extra jump is inserted. - -2001-07-30 Richard Henderson - - * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New. - * config/mips/iris6.h (DEBUG_RANGES_SECTION): New. - -2001-07-30 Roman Zippel - - * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS): - Add missing doc strings - * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise - * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise - -Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka - - * i386.c (ix86_output_main_function_alignment_hack): New function. - (TARGET_ASM_FUNCTION_PROLOGUE): Default to it. - - * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back - edges by EDGE_DFS_BACK flag. - (dump_edge_info): Add dfs_back flag. - * basic-block.h (EDGE_DFS_BACK): New constant. - (mark_dfs_back_edges): Declare. - * alias.c (loop_p): Remove. - (mark_constant_function): Use mark_dfs_back_edges. - - * reg-stack.c (block_info_def): Add predecessors counter and stack_out. - (reg_to_stack): Call mark_dfs_back_edges; count the predecessors. - (compensate_edge): Break out from ... - (convert_regs_1): ... here; do smart choosing of stack_out to copy. - (convert_regs_2): Set block_done once block is really done; - Do updating of the predecessors counts. - - * toplev.c (rest_of_compilation): Recompute block_for_insn - before post-reload cfg_cleanup. - * function.c (thread_prologue_epilogue_insns): - Call set_block_for_new_insns when emitting prologue directly. - -2001-07-30 Andreas Jaeger - - * jump.c: Add prototype for mark_modified_reg. - - * cse.c (set_live_p): Add unused attribute. - - * gcov.c (calculate_branch_probs): Use gcov_type to avoid - overflow. - (scan_for_source_files): Use long for count to avoid overflow. - (output_data): Likewise. - (output_data): Don't use string concatatenation to silence gcc - -traditional. - - * predict.c: Fix typos and grammar. - - * gcse.c (insert_insn_end_bb): Remove unused variables. - -Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka - - * flow.c (mark_set_1): Use REG_FREQ_FROM_BB. - (attempt_auto_inc): LIkewise. - (mark_used_reg): Likewise. - (try_pre_increment_1): Likewise. - * regclass.c (regclass): Likewise. - * global.c (allocno_compare): Update comment; change scaling factor. - * local-alloc.c (QTY_CMP_PRI): Likewise. - * regs.h (REG_FREQ_FROM_BB): New. - (REG_FREQ_MAX): Likewise. - -2001-07-30 H.J. Lu - - * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add - -D_GNU_SOURCE. - -2001-07-30 H.J. Lu (hjl@gnu.org) - - * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined. - (ASM_DECLARE_FUNCTION_SIZE): Likewise. - (FUNCTION_NAME_ALREADY_DECLARED): Likewise. - -2001-07-30 Nick Clifton - - * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well - as -mthumb-interwork when -mcpu=arm7 is specified. - -Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka - - * predict.def (noreturn, loop branch, loop exit): Mark as first - match heuristics. - -Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka - - * combine.c (try_combine): Avoid barrier after noop jumps. - -2001-07-29 Neil Booth - - * cpphash.h (struct cpp_reader): Remove import_warning. - * cpplib.c (skip_rest_of_line): Don't bother turning off - macro expansion. - (parse_include): Move include handling to... - (do_include_common): ... here. Move import warning from... - (do_import): ... here. - (do_pragma_poison): Don't do a callback for poison identifiers. - * cpplib.h (struct cpp_callbacks): Don't do poison callbacks. - * cppmain.c (setup_callbacks): Similarly. - -Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka - - * rtlanal.c (parms_set, find_first_parameter_load): Break out from...; - handle multiple sets. - * except.c (sjlj_mark_call_sites): .... here. - * gcse.c (insert_insn_end_bb): Use find_first_parameter_load. - -Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka - - Suggested by Richard Henderson and Richard Kenner: - * combine.c (recog_for_combine): Use the fake recog - only if instruction does not match. - * rtl.h (NOOP_MOVE_INSN_CODE): New. - * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE. - - * combine.c (try_combine): Discover noop jump as direct jump. - -2001-07-29 Daniel Berlin - - * df.c (df_rd_global_compute): Add successors to worklist, not - current item. - (df_ru_global_compute): Ditto. - -2001-07-27 Daniel Berlin - - * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we - increment REG_N_SETS. - -2001-07-26 Daniel Berlin - - * sbitmap.h: New prototype for sbitmap_a_xor_b. - - * sbitmap.c (sbitmap_a_xor_b): New function. - ifdef the basic block stuff on IN_GCC. - -2001-07-29 Neil Booth - - * cppexp.c (parse_defined): Always record the macro name. - (lex): Don't worry about identifiers, or special-case - CPP_NOT here. - (_cpp_parse_expr): Figure out at the end of the routine - whether we saw a valid !defined() expression. - * cppfiles.c (stack_include_file): Update for mi_valid. - (_cpp_pop_file_buffer): Similarly. - * cpplex.c (_cpp_lex_token): Similarly. - * cpphash.h (enum mi_state, enum mi_ind, mi_state, - mi_if_not_defined, mi_lexed): Remove. - (mi_valid): New. - * cpplib.c (do_if): Simplify. - (do_endif, push_conditional, _cpp_handle_directive): Update - for renaming of mi_state to mi_valid. -doc: - * cpp.texi: Add index entries for digraphs, and add comment - that C++ refers to them as alternative tokens. - -Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka - - * basic-block.h (CLEANUP_PRE_LOOP): New. - * except.c (finish_eh_generation): Update call of cleanup_cfg. - * sibcall.c (optimize_sibling_calls): Likewise. - * toplev.c (rest_of_compilation): Likewise. - * flow.c (try_forward_edges): Take argument MODE; - do not forward over loop pre-headers if CLEANUP_PRE_LOOP. - (try_optimize_cfg): Update call of try_forward_edges. - -Sun Jul 29 18:59:56 CEST 2001 Roman Zippel - Jan Hubicka - - * (validate_replace_rtx_1): Fix simplification of MINUS. - -2001-07-29 Neil Booth - - PR preprocessor/3669 - * cppinit.c (init_dependency_output): Turn off dump requests - if sending dependencies to stdout. - -2001-07-28 Richard Henderson - - * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if - not optimizing. - -2001-07-28 Golubev I. N. - - * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define. - -2001-07-28 Kazu Hirata - - * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL - is VAR_DECL first to prevent an ICE. - -2001-07-28 Richard Henderson - - * varasm.c (immed_real_const_1): Don't elide special cases for - nested functions. - (clear_const_double_mem): Clear const_tiny_rtx too. - -2001-07-28 Richard Henderson - - * dwarf2out.c (dw_val_class_offset): New. - (struct dw_ranges_struct, dw_ranges_ref): New. - (ranges_table, ranges_table_allocated): New. - (ranges_table_in_use, RANGES_TABLE_INCREMENT): New. - (add_AT_offset, add_ranges, output_ranges): New. - (print_die, output_die): Handle dw_val_class_offset. - (attr_checksum, size_of_die, value_format): Likewise. - (gen_lexical_block_die): Handle non-contiguous blocks. - (gen_block_die): Likewise. - (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit - if needed. Dump the ranges table. - * final.c (final_start_function): Remove unnecessary notes and - rebuild the block tree before numbering the blocks. - * function.c (reorder_blocks_0): Walk the existing block tree - to unmark all blocks. - (reorder_blocks_1): Create block fragments when duplicate block - notes are seen. - (reorder_fix_fragments): New. - (reorder_blocks): Call it. - * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New. - -2001-07-28 Richard Henderson - - * emit-rtl.c (adjust_address): Make a copy of the memory address. - -2001-07-28 Richard Henderson - - * flow.c (add_to_mem_set_list): New function. - (init_propagate_block_info): Use it. - (mark_set_1): Likewise. - (insn_dead_p): Canonicalize memory address for dead store - comparison. Allow wider mode stores to kill narrower mode stores. - (invalidate_mems_from_autoinc): Use invalidate_mems_from_set. - (invalidate_mems_from_set): Don't handle MEMs. - -2001-07-28 Kazu Hirata - - * config/h8300/h8300.h: Fix formatting. - -Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka - - * basic-block.h (EDGE_FREQUENCY): New macro. - * bb-reorder (fixup_reorder_chain): Set counts and frequencies - for new BB/edges. - * flow.c (find_sub_basic_blocks): Likewise. - (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY - (redirect_edge_and_branch): Use EDGE_FREQUENCY. - - * predict.c (DEF_PREDICTOR): New argument FLAGS. - (HITRATE): New macro. - (PRED_FLAG_FIRST_MATCH): New constant. - (predictor_info): New field flgags. - (combine_predictions_for_insn): Use DS theory to combine - probabilities; set the edge probabilities when finished. - (estimate_probability): Avoid duplicated matches - of LOOP_BRANCH heuristics for nested loops; update comment. - * predict.def: Add flags for each prediction, set probabilities - according to B&L paper. - * predict.h (DEF_PREDICTOR): New argument FLAGS. - - * profile.c (compute_branch_probabilities): Cleanup way the edge - probabilities are computed and REG_BR_PROB notes are dropped; if - values does not match, emit error. - (init_branch_prob): Do error instead of warning when profile driven - feedback is missing or corrupt. - -2001-07-27 DJ Delorie - - * ifcvt.c (noce_get_alt_condition): If the condition is a compare - against a constant, try to adjust the compare to have the desired - constant in it so that min/max optimizations happen more often. - -Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka - - * flow.c (last_loop_beg_note): New function. - (redirect_edge_and_branch): Use it. - (split_edge): Likewise. - - * alias.c (loop_p): Avoid uninitialized memory access. - - * flow.c (try_forward_edges): Avoid accessing freed memory. - - * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized - variable access. - -2001-07-26 Andrew Haley - Joern Rennecke - - * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New. - (SUBTARGET_CPP_ENDIAN_SPEC): New. - (SUBTARGET_CPP_SPEC): New. - (CPP_SPEC): Remove. - * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New. - (SUBTARGET_CPP_PTR_SPEC): New. - (CPP_DEFAULT_CPU_SPEC): New. - (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC, - SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC. - (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC, - SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC. - (SUBTARGET_CPP_SPEC): Define as an empty string. - -2001-07-27 Gerald Pfeifer - - * doc/install.texi (Configuration): Properly link the host - specific instructions also when generating HTML. - -Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com) - - * flow.c (redirect_edge_and_branch_force): Test - target->global_live_at_start. - -2001-07-26 Richard Henderson - - * simplify-rtx.c (avoid_constant_pool_reference): Export. - * rtl.h (avoid_constant_pool_reference): Declare it. - * dwarf2out.c (add_location_or_const_value_attribute): Use it. - (add_const_value_attribute): Use add_AT_unsigned for unsigned values. - -Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka - - * rtl.h (cleanup_barriers): Declare. - * jump.c (cleanup_barriers): New function. - * toplev.c (rest_of_compilation): Call cleanup_barriers - before loop optimizer and after bb_reorder. - - * flow.c (back_edge_of_syntactic_loop_p): New. - (split_edge): Use it. - -2001-07-26 Rainer Orth - - * glimits.h (_MACH_MACHLIMITS_H_): Delete. - -Thu Jul 26 22:22:21 2001 Denis Chertykov - - * cse.c (cse_process_notes): Replace any registers if the address - remains valid. - -Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com) - - * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define. - (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES. - (propagate_block): Update prototype. - * flow.c (update_life_info): Simplify the CFG and - recalculate the global regs which are alive when - removing dead code during a global update. - (propagate_block): Return non-zero if an INSN is - deleted. - -2001-07-26 Rainer Orth - - * Makefile.in (LIBICONV): Define. - -2001-07-26 Catherine Moore - - * config/v850/v850.h (ENCODE_SECTION_INFO): Change order - of conditional to avoid tree checking errors. - -2001-07-26 Kazu Hirata - - * regmove.c (regmove_optimize): Don't replace a reg with - another reg of a different mode. - -2001-07-26 Andrew MacLeod - - * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to - limit length of dependency flush list. - * params.h (MAX_PENDING_LIST_LENGTH): Define. - * sched-int.h (struct deps): Add pending_flush_length field. - * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now - has 1 element in it. - (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH. - (sched_analyze): After a jump, if the pending memory flush list is too - large, flush the pending lists. - (init_deps): Initialize pending_flush_length to 0. - * doc/invoke.texi (max_pending_list_length): Document parameter. - -2001-07-26 Neil Booth - - * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate. - * dbxout.c (dbxout_global_decl): Move outside #ifdef. - * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies. - -2001-07-26 Neil Booth - - * cpphash.h (struct_lexer_state): Delete was_skipping. - Move skipping here from struct cpp_reader. - * cpplex.c (parse_identifier): Update. - (_cpp_lex_token): Don't skip tokens in a directive. - * cpplib.c (struct if_stack): Update. - (start_directive, end_directive): Don't change skipping state. - (_cpp_handle_directive): Update. - (do_ifdef, do_ifndef, do_if, do_elif): Similarly. - (do_else, do_endif): Update; only check for excess tokens if not - in a skipped conditional block. - (push_conditional): Update for new struct if_stack. - -2001-07-26 Graham Stott - - * function.c (locate_and_pad_parm): Also pad initial offset - so that the total argument size also includes the padding. - -2001-07-26 Graham Stott - - * gensupport.c (alter_output_for_insn): Correct enable checking failure - change XSTR to XTMPL. - - (process_one_cond_exec): Likewise - -2001-07-25 Richard Henderson - - * varasm.c (assemble_variable): Create DECL_RTL before setting - TREE_ASM_WRITTEN. - -Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka - - * predict.c (estimate_probability): Avoid duplicated predictions. - - * loop.c (find_and_verify_loops): Grok multiple barriers. - -Wed Jul 25 18:00:05 2001 Richard Kenner - - * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'. - - * dbxout.c: Consistently use putc instead of fputc. - (print_wide_int): New function; call instead of direct fprintf. - (dbxout_type_index): Adjust calls of CHARS to be more accurate. - (dbxout_type_fields, dbxout_type_method_1): Likewise. - (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise. - (print_int_cst_octal): Likewise. - (print_octal): Show we wrote characters. - (dbxout_type): Set have_used_extensions in more places. - -2001-07-25 Catherine Moore - - * config/v850/v850.c (v850_va_arg): Use addr - instead of valist to build incr. - -Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka - - * flow.c (delete_dead_jumptables): New function. - (life_analyzis): Call it. - * bb-reorder.c (skip_insns_after_block): Handle contradictory - sequences. - -2001-07-25 Richard Henderson - - * except.c (reachable_handlers): Handle a region being removed - out from under a RESX. - -2001-07-25 Richard Henderson - - * config/alpha/alpha.c (alpha_emit_conditional_move): Always - swap GE/GT if it is an fp comparison. - -2001-07-25 Andrew Haley - - * alias.c (rtx_equal_for_memref_p): Allow strings as types in - operands. - -Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com) - - * ssa.c (rename_insn_1): Do not wrap an assignment to a - paradoxical SUBREG inside a SEQUENCE. Fix minor formatting - glitch. - - * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can - throw an exception. - (visit_expression): When attempting to simplify an expression, - retrieve any modes for arguments before they are simplified - to constants. - -2001-07-25 Andrew MacLeod - Janis Johnson - - * stmt.c (expand_goto): A nonlocal goto can be a call too. - * builtins.c (expand_builtin_longjmp): Reverse label and static chain - pointer parameters to match documented usage of nonlocal_goto. - * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain - parameters to their correct order. - * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain - parameters to their correct order. - -2001-07-25 Andrew MacLeod - - * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well. - -2001-07-25 Jan Hubicka - Richard Henderson - - * flow.c (find_sub_basic_blocks): Fix handling of the last BB in - the sequence. - (make_edges): New argument update_p; populate the edge cache if set. - (find_basic_blocks): Update make_edges invocation. - -2001-07-24 Joel Sherrill - - * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float. - -2001-07-24 Joel Sherrill - - * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant - -Acpu and -Amachine.h. - * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise. - Corrected header to say ELF not a.out. - * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT - when given -msoft-float. - -2001-07-24 Joel Sherrill - - * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as - extra multilib parts like arm-elf. - (i960-*-coff*, i960-*-rtems): Should not use collect2. - (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and - crtfini.o as extra multilib parts. - -2001-07-24 Joel Sherrill - - * configure.in: Add rtems as a supported thread model. - * gthr-rtems.h: Add missing entry point __gthread_active_p. - * configure: Rebuilt. - -2001-07-24 Lars Brinkhoff - - * stor-layout.c (get_mode_alignment): make it work when - BITS_PER_UNIT is not a power of two. - * builtins.c (get_pointer_alignment): Likewise. - -2001-07-24 Richard Henderson - - * simplify-rtx.c (avoid_constant_pool_reference): Coerce - the retrieved constant into the expected mode. - -Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka - - * flow.c (try_simplify_condjump): Avoid duplicated edges. - (verify_flow_info): Check for duplicated edges; clarify - error reporting. - - * flow.c (block_label): Update basic_block_for_insn. - (commit_edge_insertions): Call compute_bb_for_insn. - - * flow.c (purge_dead_edges): Handle conditional jumps and conditional - returns too. - - * flow.c (redirect_edge_and_branch, - try_optimize_cfg): Use redirect_edge_succ_nodup - (redirect_edge_succ_nodup): New. - * basic_block.h (redirect_edge_succ_nodup): Declare. - - * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup - after gcse. - -Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka - - * flow.c (try_forward_edges): Accept fallthru edge; Update comment. - (try_crossjump_to_edge): Update commetns. - (try_crossjump_bb): Likewise. - -2001-07-24 Richard Henderson - - * combine.c (distribute_notes): Move set of need_refresh - for noop_move_p down to catch all cases. - -Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka - - * recog.c (split_all_insns_noflow): New. - * rtl.h (split_all_insns_noflow): Declare. - * ia64.c (ia64_reorg): Use split_all_insns_noflow. - * m68hc11.c (m68hc11_reorg): Likewise. - * sh.c (machine_dependent_reorg): Likewise. - * toplev.c (rest_of_compilation): Likewise for last split_all_insns - call. - -2001-07-18 Andrew Haley - - * config/sh/sh.md (ashlsi3_std splitter): Split only after reload. - (ashlsi3_n splitter): Likewise. - (lshrsi3_n splitter): Likewise. - - (GOTaddr2picreg): Make const SImode. - (sym_label2reg): Likewise. - (symGOT2reg): Likewise. - (symGOTOFF2reg) Likewise. - - (casesi_worker_0): Make unspec SImode. - -2001-07-18 Andrew Haley - - * config/sh/sh.c (barrier_align): Check that an operand really is - an insn before extracting its INSN_CODE. - -2001-07-24 Andrew Haley - - * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of - dangling else. - - * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands - for SImode to prevent overflow. - -2001-07-24 Rainer Orth - - * config/mips/irix6-libc-compat.c: New file. - * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it. - * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure - passing workaround. - -2001-07-24 lars brinkhoff - - * rtl.texi (REG_POINTER): Document. - (Machine Modes): Document BImode, OImode, PQImode, PHImode, - QFmode, HFmode, TQFmode, QCmode, and HCmode. - -Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka - - * flow.c (delete_noop_moves): Do not confuse libcall regions. - -2001-07-23 Richard Henderson - - * flow.c (try_simplify_condjump): Use tidy_fallthru_edge. - -2001-07-23 Kazu Hirata - - * config/h8300/h8300-protos.h: Add a prototype for - general_operand_dst_push. - * config/h8300/h8300.c (general_operand_dst_push): New. - * config/h8300/h8300.h (OK_FOR_T): New. - (EXTRA_CONSTRAINT): Use it. - * config/h8300/h8300.md (movqi_push): Remove and integrate into - the existing movqi pattern. - (movhi_push): Likewise. - - * reload.c: Fix comment typos. - -Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka - - * gcse.c (cprop_insn): Update call of cprop_cc0_jump. - -2001-07-23 H.J. Lu (hjl@gnu.org) - - * doc/extend.texi: Update __builtin_return_address and - __builtin_frame_address. - -2001-07-23 Richard Henderson - - * config/i386/i386.c (ix86_expand_setcc): Don't use method 0 - before CSE. - * config/i386/i386.md: New setcc+movzbl peephole2. - -2001-07-23 Neil Booth - - * objc/Make-lang.in (objc-act.o): Depend on debug.h. - * objc/objc-act.c: Include debug.h. - (synth_module_prologue): Save and restore debug hooks too. - -2001-07-23 lars brinkhoff - - * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT - and C4X_FLOAT_FORMAT. - (BOOL_TYPE_SIZE): Document. - -Mon Jul 23 11:54:23 2001 Clinton Popetz - - * unroll.c (loop_iterations): Fix miscalculation of initial - giv offset. - -2001-07-13 Andrew Haley - - * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro. - * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro. - * config/sh/sh.c (sh_can_redirect_branch): New function. - * config/sh/sh-protos.h (sh_can_redirect_branch): Declare. - * reorg.c (steal_delay_list_from_target): Use - MD_CAN_REDIRECT_BRANCH to see if redirection is possible. - -Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka - - * flow.c (try_simplify_condjump): Unlink insn chain on - fallthru edge; use can_fallthru. - -Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka - - * basic-block.h (find_sub_basic_block): Declare. - * flow.c (make_edges): New arguments MIN and MAX; - (find_sub_basic_blocks): Revamp to use make_edges - and purge_dead_edges. - (find_basic_blocks): Update call of find_sub_basic_block. - - * recog.c (split_all_insns): Always expect CFG to be consistent; - call find_sub_basic_blocks in case something has changed. - * toplev.c (rest_of_compilation): Always call split_all_insns once CFG - has been built. - - * basic-block.h (delete_noop_moves): Declare. - * combine.c (combine_instructions): Call it. - (recog_for_combine): Tolerate noop moves - (distribute_notes): Force refresh when register dies at noop move. - * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns - too. - (life_analysis): Update delete_noop_moves call. - (set_noop_p): Move too ... - * rtlanal.c (noop_move_p): ... here. - * rtl.h (noop_move_p): Declare. - - * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions. - * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges - after combine. - * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block". - (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded. - -2001-07-23 Hans-Peter Nilsson - - * reload.c (push_reload): Fix typo in comment. - (find_reloads_address): Ditto. - (reg_overlap_mentioned_for_reload_p): Ditto in head comment. - -2001-07-22 Richard Henderson - - * flow.c: Grammar check and clarify a lot of comments. - (try_simplify_condjump): Rename variables to be clearer. - (try_forward_edges): Skip complex and fallthru edges. - Rearrange tests to avoid duplicate checks. - (flow_find_cross_jump): Likewise. - (outgoing_edges_match): Allow match if neither branch has - probability data. Loosen probability match to 5%. - (try_crossjump_to_edge): Hoist repeated indirection into - local variables. - (try_crossjump_bb): Don't check complex edges. Eliminate - redundant crossjump tests. - (try_optimize_cfg): Fix use of bool. Reorganize cheaper - checks before more expensive checks. - -2001-07-22 Richard Henderson - - * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of - INTEGRAL_TYPE_P when folding comparisons with operand_equal_p - arguments. - -2001-07-22 Richard Henderson - - * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits. - (const_sint32_operand): Likewise. - * m68k.md (anon mulsi pattern): Use const_int_operand not - const_sint32_operand. - (umulsi3_highpart): Zero extend a constant input. - (smulsi3_highpart): Don't bother checking SImode constant. - (const_umulsi3_highpart): Give op3 DImode. - (const_smulsi3_highpart): Likewise. - -2001-07-22 Richard Henderson - - * flow.c (split_block): Make sure bb_note is included in the - new block when splitting before a label. - -Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka - - * basic-block.h (redirect_edge_and_branch_force, - redirect_edge_and_branch, block_label, forwarder_block_p): Declare. - * flow.c (redirect_edge_and_branch_force, - redirect_edge_and_branch, block_label, forwarder_block_p): Make global. - (redirect_edge_and_branch_force): Fix copying of lifeness information. - (block_label): Handle EXIT_BLOCK_PTR by returning NULL. - * ifcvt.c (dead_or_predictable): Take BB as an new destination - instead of label; update CFG after transformation. - (find_if_case_1): Update call, use redirect_edge_and_branch_force - for finishing the transformation; handle even case where ELSE - does not follow THEN. - (find_if_case_2): Update call of dead_or_predictable; simplify - CFG update. - - * emit-rtl.c (split_branch_probability): New global variable. - (try_split): Take care to set split_branch_probability and - create REG_BR_PROB note for new jump insns. - * md.texi (define_split): Document new feature. - - * i386.c (ix86_split_fp_branch): Redistribute branch probability notes. - -2001-07-22 Neil Booth - - * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h. - (asm_out_file): Remove redundant declaration. - (assemble_asm): Remove old #if 0 block. - (assemble_variable): Remove end of function; debug output is - now handled with global_decl. Remove old #if 0 block. Update. - Remove saved_in_section and associated no-op code. - * Makefile.in (varasm.o): Correct dependencies. - -Sun Jul 22 17:55:11 2001 Alexandre Oliva - - * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use - the definition in defaults.h. - -Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka - - * jump.c: Update comments. - (delete_barrier_successors, delete_unreferenced_labels, - delete_noop_moves, tension_vector_labels, delete_from_jump_chain, - delete_labelref_insn, redirect_tablejump, jump_optimize_1, - jump_optimize, jump_optimize_minimal): Kill. - (rebuild_jump_labels): Move code from jump_optimize_1. - (purge_line_number_notes): Likewise. - (copy_loop_headers): Likewise. - * reg-stack.c: Update comment. - * stmt.c: Likewise. - * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES, - JUMP_AFTER_REGSCAN): Kill. - * toplev.c (rest_of_compilation): Use cleanup_cfg, call - purge_line_number_notes and copy_loop_headers. - -2001-07-22 Neil Booth - Richard Henderson - - * dbxout.c (dbxout_global_decl): New. - (xcoff_debug_hooks, dbx_debug_hooks): Use it. - * sdbout.c (sdbout_finish): New. - (sdbout_debug_hooks): Use it, add comments. - (sdbout_global_decl): Defer initialised public vars to - sdbout_finish. - * varasm.c (assemble_variable): Don't output debug information - for file-scope variables. - -2001-07-22 Richard Henderson - - * config/alpha/alpha.c (get_trap_mode_suffix): New. - (get_round_mode_suffix): New. - (print_operand): Use them for [/]. Remove support for [&'`()+]. - * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update. - * config/alpha/alpha.md (attr round_suffix): New. - (attr trap_suffix): New. - (all insns): Set them appropriately. Use %/ instead of the - myriad punctuators. - -2001-07-22 Neil Booth - - * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch. - -2001-07-22 Richard Henderson - - * regrename.c (regrename_optimize): Compute nregs for each - potential target register. - -2001-07-21 Neil Booth - Richard Henderson - - * dbxout.c (dbxout_global_decl): New. - (xcoff_debug_hooks, dbx_debug_hooks): Use it. - * sdbout.c (sdbout_finish): New. - (sdbout_debug_hooks): Use it, add comments. - (sdbout_global_decl): Defer initialised public vars to - sdbout_finish. - * varasm.c (assemble_variable): Don't output debug information - for file-scope variables. - -2001-07-21 H.J. Lu (hjl@gnu.org) - - * config/mips/mips.c (mips_cpu): Moved into ... - (override_options): Here. - - * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with - mips_tune. - (mips_cpu): Removed. - -2001-07-21 Stephane Carrez - - * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand. - ("iorqi3"): Likewise. - ("xorqi3"): Likewise. - ("*addhi3"): Fix constraint to avoid reloading in a soft register. - ("*subhi3_sp): Likewise. - ("*subhi3"): Likewise. - ("extendhisi2"): Accept D, X and Y as source operand to avoid - reload problems. - -2001-07-21 Nathan Sidwell - - * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS. - * config/freebsd.h: Likewise. - * config/linux.h: Likewise. - * config/openbsd.h: Likewise. - * config/alpha/linux-elf.h: Likewise. - * config/arm/linux-elf.h: Likewise. - * config/d30v/d30v.h: Likewise. - * config/fr30/fr30.h: Likewise. - * config/ia64/aix.h: Likewise. - * config/ia64/ia64.h: Likewise. - * config/mips/linux.h: Likewise. - * config/pj/pj.h: Likewise. - * config/rs6000/linux.h: Likewise. - * config/sparc/linux.h: Likewise. - * config/sparc/linux64.h: Likewise. - -2001-07-20 Bruce Korb - - * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons - because getc() and char* may disagree on signedness. - -2001-07-20 Richard Henderson - - * doc/rtl.texi (REG_DEAD): Update for current semantics. - - * flow.c (try_redirect_by_replacing_jump): Correctly compute which - insns to delete in the presence of cc0 in a jump insn. - -Fri Jul 20 22:14:49 CEST 2001 Roman Zippel - Jan Hubicka - - * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead - of doing the change by hand. - -Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka - - * rtlanal.c (set_noop_p): Return true for noop jumps. - - * expr.c (emit_single_push_insn): Add call to push expander. - * expr.h (optab_index): Add OTI_push - (push_optab): New constant. - * genopinit.c (optabs): Add push_optab. - * optabs.c (init_optab): Init push optab. - * md.texi (push??1): Document - -2001-07-20 Stephane Carrez - - * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an - expand to emit the pattern; put a REG_INC note for push/pop - instructions. - ("movdf", "movdf_internal"): Likewise. - ("movsi", "movsi_internal"): Likewise. - ("movsf", "movsf_internal"): Likewise. - ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions. - -2001-07-20 Stephane Carrez - - * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use - gen_highpart. - -2001-07-20 Daniel Berlin - - * params.def: Change default max inline insns to 100. - -2001-07-20 Diego Novillo - - * combine.c (combine_simplify_rtx): Generate a new shift operation - when simplifying the first operand of a (neg (ashift)) expression. - -2001-07-20 Roman Lechtchinsky - - * regclass.c (N_REG_INTS): Use only 32 bits per element. - -2001-07-20 Kelley Cook - - * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug - information. Move rest into ... - (*-*-solaris): ... here. Eliminate redundant information and - reword necessary packages section. Delete 4.x assembler bug info. - (sparc-sun-*): Merge into ... - (sparc-sun-sunos*): here. - -2001-07-20 Catherine Moore - - * config/v850/v850.md (casesi): Generate LABEL_REF - with Pmode. - -Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka - - * i386-protos.h (ix86_zero_extend_to_Pmode): Declare. - * i386.c (ix86_zero_extend_to_Pmode): Make global. - * i386.md (strclrsi expander): Use it. - -Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka - - * integrate.c (copy_insn_list): handle - NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL. - (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL - identically as to CODE_LABEL. - - * fold-const (fold): Convert A/B/C to A/(B*C) and - A/(B/C) to (A/B)*C - - * except.c (connect_post_landing_pads): Delete the RESX insns. - -2001-07-20 Aldy Hernandez - - * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro. - - * config/mips/mips.md (nmadd/nmsub): Use macro. - -2001-07-20 Nathan Sidwell - - * cppinit.c (remove_dup_dir): Make static. - (remove_dup_dirs): Make static. Only warn about preempting a - system directory with a non-system directory. - -2001-07-19 Geoffrey Keating - - * ifcvt.c (noce_try_store_flag_constants): Correct order - of parameters to trunc_int_for_mode. - -2001-07-19 Mark Mitchell - - * reorg.c (fill_simple_delay_slots): If an instruction might throw - an exception that will be caught within this function, do not fill - its delay slot with any subsequent instruction. - -2001-07-19 Steve Ellcey - - * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition. - * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized - pointer extension instruction. - * combine.c (nonzero_bits,num_sign_bit_copies) Likewise. - * simplify-rtx.c (simplify_unary_operation) Likewise. - * explow.c (convert_memory_address) Check value of - POINTERS_EXTEND_UNSIGNED to avoid some conversions when - less than zero. - * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS, - MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support. - * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES) - Add Multilib Support. - (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support. - * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES) - Add Multilib Support. - (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32 - support. - * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4. - * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle" - a 32 bit HP-UX pointer into a 64 bit HP-UX pointer. - -2001-07-19 Alexandre Oliva - - * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from - old and new operands in `<', `3' and `b'. - -2001-07-19 Neil Booth - - * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h. - (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h. - (toplev.o): Don't depend on xcoffout.h. - * c-decl.c: Include debug.h - (duplicate_decls): Use debug hook. - * dbxout.c (dbxout_source_file, dbxout_args): Make static. - (dbx_debug_hooks, xcoff_debug_hooks): Update. - (dbxout_types): Remove. - * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove. - * debug.c (do_nothing_debug_hooks): Update. - (debug_true_tree, debug_nothing_rtx): New. - * debug.h (struct rtx_def): New. - (struct gcc_debug_hooks): New hooks ignore_block, - outlining_inline_function and label. - (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init, - dwarf2out_frame_finish): New. - * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function): - Make static, update prototype. - (dwarf2_debug_hooks): Update. - * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function, - dwarf2out_frame_init, dwarf2out_frame_finish): Remove. - * dwarfout.c (dwarf_debug_hooks): Update. - * emit-rtl.c: Include debug.h. - (remove_unnecessary_notes): Use debug hook. - * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h. - (final_scan_insn): Use debug hook. - * integrate.c (output_inline_function): Use debug hook. - * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static. - (sdb_debug_hooks): Update. - * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove. - * toplev.c: Don't include xcoffout.h. - (note_outlining_of_inline_function, debug_ignore_block): Remove. - * toplev.h (note_outlining_of_inline_function, debug_ignore_block): - Remove. - * tree.h (dwarf2out_do_frame): Remove. - -2001-07-19 Catherine Moore - - * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore. - -2001-07-19 Geoffrey Keating - - * reload1.c (eliminate_regs_in_insn): When updating a set - to the frame pointer to the hardware frame pointer, perform - the update always not just when REPLACE is set. - - * reload1.c (choose_reload_regs): Don't inherit a reload - that crosses multiple registers if registers past the first - don't fit in the desired class. - - * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode - when negating constants. - -2001-07-19 Toon Moene - - * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument. - * doc/tree.texi: Ditto. - -2001-07-19 Mark Kettenis - Jakub Jelinek - - * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr. - (extract_cie_info): Handle "eh" augmentation properly, - remember eh_ptr. - (struct frame_state, __frame_state_for): New. - -2001-07-19 Rainer Orth - - * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL, - HANDLE_SYSV_PRAGMA): Define. - * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline - previous args. - (copy_object): Caller changed. - -2001-07-19 Andreas Schwab - - * configure.in (assembler dwarf2 debug_line support): Define nop - insn for m68k. - * configure: Regenerated. - -2001-07-19 Neil Booth - - * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on - dwarfout.h. - * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move - to conditionally compiled block. - (dbx_debug_hooks, xcoff_debug_hooks): Update. - * dbxout.h (dbxout_function): Remove. - * debug.c (do_nothing_debug_hooks): Update. - * debug.h (struct gcc_debug_hooks): New hooks function_decl, - global_decl, deferred_inline_function. - * dwarf2out.c (dwarf2_debug_hooks): Update. - (dwarf2out_global_decl): New. - * dwarfout.c: Don't include dwarfout.h. - (dwarfout_global_decl, dwarfout_function_decl, - dwarfout_deferred_inline_function): New. - (dwarf_debug_hooks): Update. - * dwarfout.h: Remove. - * final.c: Don't include dwarfout.h. - * sdbout.c (sdbout_global_decl): New. - (sdbout_debug_hooks): Update. - * toplev.c: Don't include dwarfout.h. - (check_global_declarations, rest_of_compilation): Use new debug hooks. - (note_deferral_of_defined_inline_function): Remove. - * toplev.h (note_deferral_of_defined_inline_function): Remove. - * ch/Makefile.in (lex.o): No dependence on dwarfout.h. - * ch/lex.c: Don't include dwarfout.h. - * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h. - (semantics.o, optimize.o): Depend on debug.h not dwarfout.h. - * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h. - * cp/optimize.c: Include debug.h. - (maybe_clone_body): Use debug hook. - * cp/semantics.c: Include debug.h. - (expand_body): Use debug hook. - * po/POTFILES.in: Remove dwarfout.h. - -2001-07-19 Neil Booth - - * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases. - * c-parse.in (yyerror, _yylex): Similarly. - * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr): - Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough. - Update comments. - * cpplib.h (CPP_INT, CPP_FLOAT): Remove. - * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases. - -2001-07-18 Jeff Sturm - - * dwarf2out.c (dwarf2out_abstract_function): Don't emit - in-class declaration at -g1. Fixes c++/2814. - -2001-07-18 Richard Henderson - - * doc/md.texi (reload_in/out): Document restrictions in predicates - and constraints for these patterns. Document empty string matching - ALL_REGS. - -2001-07-18 Rainer Orth - - * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL. - -Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka - - * cse.c: Undo my previous patch. - -2001-07-18 Tom Tromey - - For PR java/2812: - * configure: Rebuilt. - * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV - instead. - * aclocal.m4 (AM_ICONV): New macro from Bruno Haible. - -Wed Jul 18 18:46:30 CEST 2001 Richard Henderson - Jan Hubicka - - * flow.c (redirect_edge_and_branch): Bail out on complex edges. - (try_optimize_cfg): Do not remove tail recursive labels before sibcall. - * jump.c (mark_jump_label): Do not forward branches. - -Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka - - * cse.c (delete_trivially_dead_insns): Delete the libcall block - when return value is unused. - -Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka - - * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores. - -Wed Jul 18 12:05:29 2001 Nicola Pero - - * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value - on error. We can't blindly return the result of - pthread_mutex_trylock because it returns a positive number on - error, while we must return -1 on error. - (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar - fixes. - Reported by Stephen Brandon . - -2001-07-18 Andreas Jaeger - - * integrate.c (output_inline_function): Correct type of debug_hooks. - -2001-07-18 Toon Moene - - * combine.c (combine_simplify_rtx): DIV can be treated - associatively for floats if unsafe math optimisations are enabled. - -2001-07-17 Richard Henderson - - * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS. - -2001-07-17 Richard Henderson - - * calls.c (prepare_call_address): New parameter SIBCALLP. If true, - don't force the function address into a register. - (expand_call, emit_library_call_value_1): Update callers. - * builtins.c (expand_builtin_apply): Likewise. - * expr.h (prepare_call_address): Update decl. - -2001-07-17 Chandrakala Chavva - - * config.gcc: For *-*-chorusos triplet, get chorus.h file from - config directory. - * config/i386/chorus.h: Move up. - * config/sparc/chorus.h: Likewise. - * config/rs6000/chorus.h: Likewise. - * config/chorus.h: Moved here. - -2001-07-17 Andreas Schwab - - * configure.in (assembler eh_frame optimization): Handle big - endian. - * configure: Regenerated. - -Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka - - * expr.c (epxand_expr): Convert divisions into multiplications by - reciprocals if -ffast-math. - -2001-07-17 Neil Booth - - * dbxout.c (dbxout_really_begin_function): Rename to - dbxout_begin_function. - (dbx_debug_hooks, xcoff_debug_hooks): Update. - (dbxout_begin_function): Remove. - (dbxout_function): Update. - (dbxout_source_line): Update prototype. - * dbxout.h (dbxout_begin_function): Remove. - * debug.c (do_nothing_debug_hooks): Update. - (debug_nothing_tree): Update. - (debug_nothing_charstar_rtx): Remove. - * debug.h (union tree_node): Declare. - (struct rtx_def): Remove. - (gcc_debug_hooks): New hooks begin_prologue, end_prologue, - begin_function. Change source_line prototype. - (debug_nothing_tree): New. - (debug_nothing_charstar_rtx): Delete. - (dwarf2out_begin_prologue): Moved from ... - * tree.h: ... here. - * dwarf2out.c (dwarf2_debug_hooks): Update. - (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2 - debug info, call dwarf2out_source_line. - (dwarf2out_souce_line): Update prototype. - * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue. - Change prototype, make static. - (dwarfout_source_line): Update prototype. - (dwarf_debug_hooks): Update. - * dwarfout.h (dwarfout_begin_function): Remove. - * final.c (final_start_function, final_scan_insn): Use appropriate - debug hooks, update to use notice_source_line. - (output_source_line): Rename notice_source_line. Don't call the - source_line debug hook. - * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue, - make static, update prototype. - (sdbout_mark_begin_function): Rename sdbout_begin_function, update - prototype. - (sdbout_end_prologue): New. - (sdbout_source_line): Update prototype. - (sdbout_debug_hooks): Update. - (sdbout_symbol): Remove unused var. - * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function): - Delete. - * varasm.c: Include debug.h. - (assemble_start_function): Use begin_function debug_hook. - * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function, - update with prototype. - (xcoffout_source_line): Update prototype. - * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function, - update prototype. - (xcoffout_source_line): Update prototype. - -2001-07-17 Richard Henderson - - * c-typeck.c (build_binary_op): Do not shorten unsigned - right shift after sign extension. - -Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka - - * combine.c (combine_simplify_rtx): Attempt to simplify - a*(b/c) as (a*b)/c for floats in unsafe_math mode. - - * simplify-rtx.c (avoid_constatn_pool_reference): New static function. - (simplify_binary_operation, simplify_unary_operation, - simplify_relational_operation): Use it. - - * combine.c (combine_simplify_rtx): Don't do associative law - on divisions; allow associative law on floats. - -2001-07-17 H.J. Lu - Rainer Orth - - * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and - ASM_OUTPUT_WEAK_ALIAS are defined. - * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible. - * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL): - Moved ... - * config/mips/iris5.h: ... here. - (HANDLE_SYSV_PRAGMA): Defined as 1. - * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS. - * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak - symbol. - -2001-07-17 Joseph S. Myers - - * c-parse.in (all_prefix_attributes): New variable. - (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros. - (maybe_resetattrs): New production. - (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl, - maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl, - notype_initdcl, nested_function, notype_nested_function, - component_decl, components, components_notype, - component_declarator, component_notype_declarator, - absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl, - ivars, mydecl, myparm): Update. Avoid prefix attributes just - after a comma being applied to more than one declarator. - * doc/extend.texi (Attribute Syntax): Update. Remove - documentation of bugs that are no longer present. - -2001-07-13 Eric Christopher - - * config/mips/mips.h: Change TUNE_MIPS* options to use - mips_tune. - (EXTRA_SPECS): Add cc1_cpu_spec. - * config/mips/mips.md (muldf3): Fix typo. - -2001-07-16 Richard Henderson - - * config/m68k/m68k.c: Include expr.h and reload.h. - (print_operand_address) [16 bit int]: Cast INTVAL to int for %d. - [general int]: Use HOST_WIDE_INT_PRINT_DEC. - -2001-07-16 Daniel Berlin - Richard Henderson - - * cse.c (set_live_p): Take INSN argument for cc0; update callers. - (insn_live_p): Fix fall off end of function. - (dead_libcall_p): Remove COUNTS argument; update callers. - (delete_trivially_dead_insns): Remove unused variables. - -2001-07-17 Andreas Jaeger - - * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for - x86-64 pic support. - - * lcm.c (optimize_mode_switching): Avoid warning for unused - variable if !NORMAL_MODE. - - * flow.c (try_crossjump_to_edge): Remove unused variable. - -2001-07-16 John David Anglin - - * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3 - atexit declaration in stdlib.h. - -2001-07-16 Richard Begg - - * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h - -Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka - - * basic-block.h (CLEANUP_PRE_SIBCALL): New constant. - * except.c (finish_eh_generation): Update call of cleanup_cfg; - do rebuild_jump_labels instead of jump_optimize - * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise. - * toplev.c (rest_of_compulation): Likewise for -Wreturn_type. - * flow.c (try_optimize_cfg): Remove unneeded code_labels. - - * flow.c: Include timevar.h - (find_basic_block): Push/pop timevar; - (cleanup_cfg): Likewise. - * timevar.def (TV_CFG, TV_CLEANUP_CFG): New. - * Makefile: Add dependencies on timevar.h - - * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes. - (copy_insn_list): Avoid killing of BASIC_BLOCK notes. - - * rtl.h (delete_trivially_dead_insns): Add new parameter. - * toplev.c (rest_of_compilation): Update calls. - * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ... - (delete_trivially_dead_insns): ... here; accept new argument - preserve_basic_blocks; preserve basic blocks if set. - - * reg-stack.c (stack_regs_mentioned): Return 0 if - stack_regs_mentioned_data is not initialized. - (reg_to_stack): Make stack_regs_mentioned survive after the - reg-stack is completted; do not call cleanup_cfg. - * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder; - make cleanup_cfg after bb-reorder to output to debug file. - -2001-07-16 Richard Henderson - - * regclass.c (init_reg_sets): Use only 32 bits per initializer - from int_reg_class_contents. - -2001-07-16 Richard Henderson - - * hard-reg-set.h (regs_invalidated_by_call): Declare. - * regclass.c (regs_invalidated_by_call): Move from cse.c. - (init_reg_sets_1): Move initialization from cse_main. - * cse.c (regs_invalidated_by_call): Move to regclass.c. - (cse_main): Move its initialization also. - * df.c (df_insn_refs_record): Use regs_invalidated_by_call. - * flow.c (propagate_one_insn): Likewise. - * gcse.c (compute_hash_table): Likewise. - (compute_kill_rd, compute_store_table): Likewise. - * sched-deps.c (sched_analyze_1): Likewise. - -Mon Jul 16 18:07:07 2001 J"orn Rennecke - - * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of - gen_rtx_SET. - -2001-07-16 Steve Ellcey - - * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests - in if statement so we don't access undefined memory. - -2001-07-16 Daniel Berlin - - * gcse.c: Update comment at top. - Update comment on mem handling. - mem_last_set, mem_first_set, mem_set_in_block: gone. - Declaration of reg_set_info: gone. - (oprs_unchanged_p): Don't use mem_*set_* anymore. They are - pointless with load_killed_in_block_p (they are *more* - conservative then it, not less, and less accurate). - (oprs_not_set_p): Ditto. - (alloc_gcse_mem): Don't allocate mem_set_in_block - (free_gcse_mem): Don't free it, either. - (record_last_mem_set_info): Update comment in front, remove - mem_*set_* stuff. Note the reason we don't handle stores directly - here. - (compute_hash_table): Update comments to reflect reality. Remove - mem_*set_* references. - (reset_opr_set_tables): Remove mem_*set_* references. - (mark_call): Ditto. - (mark_set): Ditto. Also remove double sets of bitmaps for REG's. - (mark_clobber): Ditto (on both parts, we double set here too). - (expr_killed_p): Remove mem_set_in_block test. - (compute_transp): Remove mem_set_in_block test. - - * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal - of edge, and removal of phi alternative to dump file. - (ssa_ccp_substitute_constants): Add note about register now being - constant, and which uses were replaced in what insns to dump file. - -2001-07-16 Andreas Jaeger - - * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output - variables of type HOST_WIDEST_INT. - - * libgcc2.c (__bb_exit_func): Handle gcov_type as long long. - (__bb_exit_func): Correct type of count_max to avoid overflow. - (num_digits): Handle long long argument. - - * combine.c (gen_lowpart_for_combine): Remove unused variable. - -2001-07-16 Neil Booth - - * output.h (sdb_begin_function_line): Restore as an extern - variable. - * sdbout.c (sdb_begin_function_line): Make extern. - -2001-07-15 Richard Henderson - - * machmode.def (Pmode): Redefine if GENERATOR_FILE. - * genrecog.c (maybe_both_true_mode): New. - (maybe_both_true_2): Use it. - (write_switch): Don't put Pmode in a switch. - * rtl.c (mode arrays): Don't explicitly size them. - -Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka - - * toplev.c (rest_of_compilation): Fix register_life_up_to_date - handling; move unconditional splitting before mode switching. - - * i386.md (type): Add fistp type. - (i387, length_attr, scheduling definitions): Handle this type. - (fix_trunc?f?i2): Revamp to use mode switching. - (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns. - * i386.h (fp_cw_mode): New enum - (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED, - MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros. - -Sun Jul 15 12:53:51 2001 Richard Kenner - - * Makefile.in (integrate.o): Add debug.h. - * integrate.c (debug.h): Add. - (output_inline_function): Save, reset, and restore debug_hooks. - -2001-07-15 Richard Henderson - - * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode - instead of COMPARE for the EQUIV expression. - -2001-07-15 Richard Henderson - - * flow.c (redirect_edge_and_branch_force): Initialize - global_live_at_start and global_live_at_end. - (allocate_bb_life_data): Export. - * basic-block.h (allocate_bb_life_data): Declare. - * toplev.c (rest_of_compilation): Call it. - -2001-07-15 Richard Henderson - - * config/alpha/alpha.c (alpha_tablejump_addr_vec): New. - (alpha_tablejump_best_label): New. - * config/alpha/alpha-protos.h: Declare them. - * config/alpha/alpha.md: Use braced strings for code blocks. - (tablejump_osf): Break out add with r29. - (tablejump_osf_internal): Remove. - (tablejump_osf_nt_internal): Rename from tablejump_nt_internal, - use alpha_tablejump_addr_vec and alpha_tablejump_best_label. - -Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka - - * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies - of the movable. - - * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching. - - * i386-protos.h (ix86_split_fp_branch): Update prototype. - (ix86_fp_jump_nontrivial_p): New. - * i386.md (fp_jcc_?): Update call of split_fp_branch; - use ix86_fp_jump_nontrivial_p. - * i386.c (ix86_fp_jump_nontrivial_p): New. - (ix86_split_fp_branch): Accept code instead of rtx. - (ix86_expand_compare): Expand comparison early in case - doing so is resonably cheap. - -2001-07-15 Nick Clifton - - * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian' - not 'machine'. - (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'. - (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'. - -2001-07-15 Neil Booth - - * dbxout.c (dbxout_source_line): Make static, update prototype. - (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks. - (dbxout_init, dbxout_finish, dbxout_source_line, - dbxout_begin_block, dbxout_end_block): Update for new prototypes. - * dbxout.h (dbxout_source_line): Delete. - * debug.c (debug_nothing_file, debug_nothing_file_int, - debug_nothing_file_charstar_rtx): New. - (do_nothing_debug_hooks): Update. - (debug_nothing_void, debug_nothing_charstar_rtx, - dwarf2out_end_epilogue): New. - (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename. - * debug.h (struct rtx_def): Declare. - (gcc_debug_hooks): New hooks source_line, end_epilogue - and end_function. - (debug_nothing_void, debug_nothing_charstar_rtx, - dwarf2out_end_epilogue): New. - (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename. - * dwarf2out.c (dwarf2out_source_line): Make static, update prototype. - (dwarf2_debug_hooks): Update. - (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line, - dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes. - * dwarf2out.h (dwarf2out_source_line): Remove. - * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function): - Make static, update prototype. - (dwarfout_init, dwarfout_finish, dwarfout_source_line, - dwarfout_begin_block, dwarfout_end_block): Update for new prototypes. - (dwarf_debug_hooks): Update. - * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line, - dwarfout_end_function): Remove. - * final.c (profile_function): Use debug hooks for ending functions - and epilogues. - (output_source_line, final_end_function): Update prototype, - use debug hooks. - (final_start_function, final_scan_insn): Update. - * output.h (sdb_begin_function_line): Remove. - (final_end_function): Update prototype. - * sdbout.c (sdb_begin_function_line): Make static. - (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue. - (sdbout_source_line): New. - (sdbout_end_epilogue, sdbout_end_function): Make static, update - prototypes. - (sdb_debug_hooks): Update. - (sdbout_init, sdbout_source_line, - sdbout_begin_block, sdbout_end_block): Update for new prototypes. - * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove. - * toplev.c (compile_file, rest_of_compilation): Update. - * tree.h (dwarf2out_end_epilogue): Move to debug.h. - * xcoffout.c (xcoffout_source_line, xcoffout_begin_block, - xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function): - Update for prototype changes. - * xcoffout.h (xcoffout_source_line, xcoffout_begin_block, - xcoffout_end_block, xcoffout_end_epilogue): Update prototypes. - -2001-07-15 Richard Henderson - - * config/alpha/alpha.h (TARGET_ABI_OSF): New. - (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users. - * config/alpha/alpha-protos.h: Update TARGET_ABI_* users. - * config/alpha/alpha.c: Likewise. - * config/alpha/alpha.md: Likewise. - * config/alpha/alpha32.h: Likewise. - * config/alpha/vms.h: Likewise. - (OPEN_VMS): Remove. - -2001-07-14 Richard Henderson - - * config/alpha/alpha.md: Use define_constants for unspec values. - Substitute throughout. - -2001-07-14 Tim Josling - - * tree.def (EXPON_EXPR) remove. Never supported anyway. - -2001-07-14 John David Anglin - - * pa.md: Remove unused constraints from define_split's. - -2001-04-14 Richard Henderson - - * ifcvt.c (find_cond_trap): Test for exit block. - -Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka - - Re-install recently reverted patch. - * emit-rtl.c (try_split): Update mark_jump_label call. - * flow.c (find_sub_basic_blocks): Likewise. - * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump, - jump_back_p): Kill. - (mark_all_labels): Kill second parameter. - (jump_optimize, jump_optimize_1): Kill cross_jump parameter. - (rebuild_jump_labels, jump_optimize_minimal): Update call - of jump_optimize_1. - (jump_optimize_1): Kill crossjumping code. - (mark_jump_label): Kill cross_jump parameter. - * rtl.h (mark_jump_label, jump_optimize): Update prototypes. - (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill. - * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do - splitting. - * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before - DFI_bpro. - (dump_file_info): Likewise. - (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass; - reorganize passes to do reg-stack first, bb-reorder second. - * invoke.texi (-d letters doc): Remove the jump2 pass. - -2001-07-14 Richard Henderson - - * ifcvt.c (find_cond_trap): New. - (find_if_header): Call it. - (merge_if_block): Relax existing jump sanity check. - * jump.c (jump_optimize_1): Remove conditional trap handling. - -2001-07-14 Alan Modra - - * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit - millicode. - (insn_refs_are_delayed): Correct comment. - * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise. - * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2 - instead of r31. Make associated insn !TARGET_64BIT, and - provide an additional 64-bit insn that clobbers r2. - (divsi3): Likewise. - (udivsi3): Likewise. - (modsi3): Likewise. - (umodsi3): Likewise. - -Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka - - * bb-reorder.c (skip_insn_after_block): Get past the line number notes. - - * flow.c (redirect_edge_and_branch_force, split_edge, - try_crossjump_to_edge): Use set_block_for_new_insns. - * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns. - -2001-07-13 H.J. Lu (hjl@gnu.org) - - * config/elfos.h (UNIQUE_SECTION): Enable .bss section with - the correct patch. - -2001-07-13 Geoffrey Keating - - Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13. - -2001-07-13 Joseph S. Myers - - * c-common.c (decl_attributes): Take a pointer to the node to - which attributes are to be attached, and a flags argument. - * c-common.h (enum attribute_flags): New. - (decl_attributes): Update prototype. - * c-decl.c (start_decl, push_parm_decl, finish_struct, - finish_enum, start_function): Update calls to decl_attributes. - * c-parse.in (component_declarator, component_notype_declarator, - label): Update calls to decl_attributes. - -Fri Jul 13 23:04:00 2001 Denis Chertykov - - * config/avr/avr.md (strlenhi): PARALLEL keyword removed. - * config/avr/avr.c (legitimate_address_p): Return value changed - from letter to register classes. For better debugging. - -2001-07-13 Kazu Hirata - - * jump.c (reversed_comparison_code_parts): Fix comment typos. - -2001-07-13 H.J. Lu (hjl@gnu.org) - - * config/elfos.h (UNIQUE_SECTION): Enable .bss section. - -2001-07-13 Marc Espie - - * config.gcc (*-*-openbsd*): Add fragment to compile libgcc - correctly for shared configurations. - * config/t-libgcc-pic: New. - * config/{i386,m68k,sparc}/t-openbsd: New. - * config/openbsd.h: Include cpu_spec in cpp_spec where needed. - Support -shared. Support debugging libraries with -g. - * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2 - frame information does not emit pointer diffs. - * config/sparc/openbsd.h: Ensure dwarf2 frame information does not - emit pointer diffs. - -2001-07-13 Geoffrey Keating - - Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001. - -2001-07-13 David Edelsohn - - * combine.c (try_combine): Ensure const_int pow2 is positive. - -2001-07-13 Hartmut Penner - - * config.gcc: Add configuration for s/390. - * config/s390/s390.c: New. Subroutines for code generation. - * config/s390/s390.h: New. Definitions for s/390. - * config/s390/s390-protos.h: New. Prototypes. - * config/s390/linux.h: New. Definitions for linux for s/390. - * config/s390/linux64.h: New. Definitions for linux for zSeries. - * config/s390/t-linux: New. Makefile fragment. - * config/s390/s390.md: New. Machine description for s/390 and zSeries. - * config/s390/fixdfdi.h: New. Fix L_fix*di. - -Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka - - * emit-rtl.c (try_split): Update mark_jump_label call. - * flow.c (find_sub_basic_blocks): Likewise. - * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump, - jump_back_p): Kill. - (mark_all_labels): Kill second parameter. - (jump_optimize, jump_optimize_1): Kill cross_jump parameter. - (rebuild_jump_labels, jump_optimize_minimal): Update call - of jump_optimize_1. - (jump_optimize_1): Kill crossjumping code. - (mark_jump_label): Kill cross_jump parameter. - * rtl.h (mark_jump_label, jump_optimize): Update prototypes. - (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill. - * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do - splitting. - * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before - DFI_bpro. - (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass; - reorganize passes to do reg-stack first, bb-reorder second. - * invoke.texi (-d letters doc): Remove the jump2 pass. - -2001-07-12 Steve Ellcey - - * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef. - -Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka - - * flow.c (try_optimize_cfg): Delete whole chain of trivially dead - basic blocks. - (verify_flow_info): Make diagnostics prettier. - -Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka - - * flow.c (find_basic_blocks_1): Do not emit NOP after call. - - * flow.c (outgoing_edges_match): Return early if condition reversal - failed. - -2001-07-06 Richard Sandiford - - * config/mips/mips.c (print_operand): Extend '%D' to memory operands. - (mips_move_2words): When splitting a move into two instructions, - prefix the second address operand with '%D'. - -2001-07-12 Neil Booth - - * Makefile.in (final.o): Depend on debug.h. - * dbxout.c (dbxout_begin_block, dbxout_end_block): New. - (dbx_debug_hooks): Add new hooks. - (xcoff_debug_hooks): New. - * debug.c (debug_nothing_file_int_int): New. - (do_nothing_debug_hooks): Update. - * debug.h (gcc_debug_hooks): New hooks begin_block and end_block. - (debug_nothing_file_int_int): New. - * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make - static, update prototype. - (dwarf2_debug_hooks): Update. - * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove. - * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make - static, update prototype. - (dwarf_debug_hooks): Update. - * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove. - * final.c: Include debug.h. - (final_scan_insn): Use debug hooks when beginning and ending blocks. - * sdbout.c (sdbout_begin_block, sdbout_end_block): Make - static, update prototype. - (sdb_debug_hooks): Update. - * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove. - * toplev.c: Distinguish between xcoff and dbx. - - * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_): - Call all debug hooks, not just dwarf ones. - -2001-07-11 Timothy Wall - - * config.gcc: Add configuration for AIX5/IA64. - * config/ia64/aix.h: New. AIX5/IA64-specific configuration. - * config/ia64/crt[in].asm: New. Generic static ctor/dtor - support prefix/suffix code. - * config/ia64/t-aix: New. Makefile fragment. - * config/ia64/unwind-aix.c: New. Unwind table entry lookup. - -2001-07-11 Kazu Hirata - - * recog.c (validate_change): Fix a comment typo. - -2001-07-11 Neil Booth - - * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h. - * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug - hooks directly. - * dbxout.c (dbx_debug_hooks): Add new hooks. - (dbxout_start_new_source_file): Rename dbxout_start_source_file, - make static. - (dbxout_resume_previous_source_file): Rename dbxout_end_source_file, - make static. - * dbxout.h (dbxout_start_new_source_file, - dbxout_resume_previous_source_file): Delete. - * debug.c (do_nothing_debug_hooks): Add new hooks. - (debug_nothing_init_finish): Rename debug_nothing_file_charstar. - (debug_nothing_int_charstar, debug_nothing_int): New. - * debug.h (gcc_debug_hooks): New hooks define, undef, - start_source_file and end_source_file. - (debug_nothing_init_finish): Rename debug_nothing_file_charstar. - (debug_nothing_int_charstar, debug_nothing_int): New. - * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into - the conditionally compiled section. - (dwarf2out_start_source_file, dwarf2out_end_source_file, - dwarf2out_define, dwarf2out_undef): Make static. - * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file, - dwarf2out_define, dwarf2out_undef): Remove. - * dwarfout.c (dwarf_debug_hooks): Add new hooks. - (dwarfout_start_source_file, dwarfout_end_source_file, - dwarfout_define, dwarfout_undef): Make static. - (dwarfout_start_source_file_check, - dwarfout_end_source_file_check): New. - (dwarfout_define, dwarfout_finish): Update. - * dwarfout.h (dwarfout_start_new_source_file, - dwarfout_resume_previous_source_file, dwarfout_define, - dwarfout_undef): Remove. - * sdbout.c (sdb_debug_hooks): Add new hooks. - (sdbout_start_new_source_file): Rename sdbout_start_source_file, - make static. - (sdbout_resume_previous_source_file): Rename sdbout_end_source_file, - make static, take an arg. - * sdbout.h (sdbout_start_new_source_file, - sdbout_resume_previous_source_file): Delete. - * toplev.c (debug_start_source_file, debug_end_source_file, - debug_define, debug_undef): Delete. - * toplev.h (debug_start_source_file, debug_end_source_file, - debug_define, debug_undef): Delete. - - * java/jcf-parse.c: Include debug.h. - (parse_class_file): Update to use debug hooks directly. - * java/Make-lang.in (jcf-parse.o): Depend on debug.h. - -Wed Jul 11 10:07:18 2001 Richard Kenner - - * alias.c (set_mem_alias_set): New function. - * rtl.h (set_mem_alias_set): Declare it. - * builtins.c (expand_builtin_return_addr): Call it instead of - using MEM_ALIAS_SET accessor. - (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise. - (get_memory_rtx, expand_builtin_va_arg): Likewise. - (expand_builtin_va_copy):Likewise. - * caller-save.c (setup_save_areas): Likewise. - * calls.c (compute_argument_addresses): Likewise. - * explow.c (set_mem_attributes): Likewise. - * expr.c (emit_single_push_insn, emit_push_insn): Likewise. - (expand_assignment, store_constructor_field, store_field): Likewise. - (expand_expr_unaligned): Likewise. - * function.c (assign_stack_temp_for_type): Likewise. - (put_reg_into_stack, gen_mem_addressof): Likewise. - * ifcvt.c (noce_try_cmove_arith): Likewise. - * reload1.c (reload, alter_reg): Likewise. - * config/alpha/alpha.c (get_aligned_mem): Likewise. - (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise. - (alpha_expand_unaligned_store): Likewise - (alpha_expand_unaligned_load_words): Likewise. - (alpha_expand_unaligned_store_words): Likewise. - (alpha_expand_block_clear, alpha_expand_prologue): Likewise. - (alpha_expand_epilogue): Likewise. - * config/arc/arc.c (arc_setup_incoming_varargs): Likewise. - * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise. - * config/i386/i386.c (legitimize_pic_address): Likewise. - * config/i960/i960.c (setup_incoming_varargs): Likewise. - * config/ia64/ia64.c (spill_restore_mem): Likewise. - * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise. - * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise. - * config/mips/mips.c (mips_va_arg): Likewise. - * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise. - * config/pa/pa.c (hppa_builtin_saveregs): Likewise. - * config/rs6000/rs6000.c (rs6000_emit_move): Likewise. - (setup_incoming_varargs, rs6000_va_arg): Likewise. - (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise. - (rs6000_emit_epilogue): Likewise. - * config/sh/sh.c (sh_builtin_saveregs): Likewise. - * config/sparc/sparc.c (sparc_va_arg): Likewise. - * config/v850/v850.c (v850_va_arg): Likewise. - -Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka - - * flow.c (merge_blocks_move_successor_nojumps): Do not crash - when fallthru edge is present. - (mege_blocks): Handle case where creation of jump insn - is required. - - * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP, - CLEANUP_POST_REGSTACK): New constants. - * except.c (finish_eh_generation): Update call of cleanup_cfg, - * jump.c (rtx_renumbered_equal_p): Handle 't' fields. - * output.h (cleanup_cfg): Update prototype. - * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize - * sibcall.c (optimize_sibling_and_tail_recursive_call): Update - cleanup_cfg call; kill missleading comment. - * toplev.c (rest_of_compilation): Update all cleanup_cfg calls. - * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode - parameter; control optimizations performed using it. - (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, - try_crossjump_bb): New functions. - -2001-07-11 John David Anglin - - * pa.c (pa_output_function_prologue): Delete prototype. Make function - extern. - * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to - pa_output_function_prologue. - * pa-protos.h (pa_output_function_prologue): New prototype. - -2001-07-11 John David Anglin - - * stmt.c (emit_case_nodes): Widen high and low instead of new_bound - and low to get correct sign extension in low+high test. - -2001-07-11 Janis Johnson - - * gcov.c (arcdata): Use gcov_type to fix branch percentage - for large hit count. - - * profile.c (branch_prob): Fix .bbg info for computed gotos - and C++ EH code. - -2001-07-11 Mark Mitchell - - * stmt.c (parse_output_constraint): New function, split out - from ... - (expand_asm_operands): ... here. Use parse_output_constraint. - * tree.h (parse_output_constraint): Declare it. - -2001-07-11 Richard Henderson - - * bitmap.c: Comment some functions; fiddle whitespace. - (bitmap_free): Don't export. - (bitmap_element_allocate): Use memset. - * bitmap.h (bitmap_free): Don't declare. - -2001-07-11 Daniel Berlin - - * gcse.c, lcm.c, sched-deps.c: - s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g - - * flow.c (flow_loops_find): Free dom if we found no loops, since - we aren't going to save it. - - * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are - done. - -Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com) - - * ssa-ccp.c (ssa_fast_dce): Free worklist when completed. - -Wed Jul 11 10:07:18 2001 Richard Kenner - - * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version - #ifndef DWARF2_DEBUGGING_INFO. - -2001-07-11 Richard Sandiford - - * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes. - -2001-07-11 Richard Sandiford - - * config/mips/mips.c (gen_int_relational): Tell the caller not to - reverse a branch if a NE comparison is implemented with GTU. - -2001-07-11 Richard Sandiford - H.J. Lu - - * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for - constant addresses. - (call_internal2): Likewise. - (call_value_internal1): Likewise. - (call_value_internal2): Likewise. - (call_value_multiple_internal1): Likewise. - (call_value_multiple_internal2): Likewise. - -2001-07-10 Kazu Hirata - - * calls.c (emit_library_call_value_1): Fix a comment typo. - * dwarf2out.c (mem_loc_descriptor): Likewise. - * config/i386/i386.c (ix86_expand_aligntest): Likewise. - -2001-07-11 David Billinghurst - - * simplify-rtx.c (simplify_subreg): Fix typo in comment - -Tue Jul 10 07:27:53 2001 Richard Kenner - - * recog.c (offsettable_address_p): Handle LO_SUM case. - * config/mips/mips.c (double_memory_operand): Use adjust_address_nv - instead of plus_constant. - -2001-07-10 Stephane Carrez - - * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge, - fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS. - -Tue Jul 10 07:27:53 2001 Richard Kenner - - * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use - adjust_address_nv instead of plus_constant. - -2001-07-10 Neil Booth - - * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o, - dwarf2out.o): Depend on debug.h, wrap long lines. - * dbxout.c: Include debug.h. - (dbx_debug_hooks): New. - (dbxout_init): Make static, take just 2 args. - (dbxout_finish): Make static. - * dbxout.h (dbxout_init, dbxout_finish): Delete. - * debug.c: New file. - * debug.h: New file. - * dwarf2out.c: Include debug.h. - (dwarf2_debug_hooks): New. - (dwarf2out_init): Make static. - (dwarf2out_finish): Make static, take 2 args. - * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete. - * dwarfout.c: Include debug.h. - (dwarf_debug_hooks): New. - (dwarfout_init): Make static. - (dwarfout_finish): Make static, take 2 args. - * dwarfout.h (dwarfout_init, dwarfout_finish): Delete. - * sdbout.c: Include debug.h. - (sdb_debug_hooks): New. - (sdbout_init): Make static, take 2 args. - * sdbout.h (sdbout_init): Delete. - * toplev.c: Include debug.h. - (debug_hooks): New. - (compile_file): Set deubg_hooks based on command line options. - Use the hooks unconditionally rather than conditional compilation. - -Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com) - - * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to - first_insn_after_basic_block_note instead. - - * df.c (df_bb_refs_unlink): #if 0 out for now. - -2001-07-10 David Billinghurst - - * diagnostic.c (finish_diagnostic): Rename to - diagnostic_finish. Make it take an 'output_buffer *'. Adjust - calls thourghout. - -2001-07-10 Jason Merrill - - * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have - .loc support. - - * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses. - (dump_file): Only pad the demangled name with spaces if the - mangled name was padded with spaces. - -2001-07-10 Bernd Schmidt - - * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru - edge detection. - -Tue Jul 10 07:27:53 2001 Richard Kenner - - * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield - extraction if no direct load if either EXPAND_CONST_ADDRESS or - EXPAND_INITIALIZER. - - * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for - whether can put offset inside LO_SUM to check mode alignment, not size. - -2001-07-10 Gabriel Dos Reis - - * doc/tm.texi (Misc): Fix thinko. - -2001-07-10 Jan van Male - - * regmove.c (replace_in_call_usage): Fix warnings. - * sched-deps.c (add_dependence): Fix warnings. - * simplify-rtx.c (simplify_subreg): Likewise. - Return NULL_RTX instead of NULL. - - * reg-stack.c (emit_swap_insn): Eliminate warnings. - (subst_asm_stack_regs): Likewise. - - * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid - warnings. - - * dwarf2out.c (output_call_frame_info): Declare i as int. - (build_abbrev_table): Declare n_alloc as int. - (dwarf2out_finish): Initialize die. - * except.c: Declare sjlj_funcdef_number as unsigned. - (connect_post_landing_pads): Declare j as unsigned. - (convert_to_eh_region_ranges): Initialize call_site. - (output_function_exception_table): Initialize tt_format_size. - * expr.c (move_by_pieces_1): Initialize to1. - (store_constructor): Initialize minelt and maxelt. - * flow.c (mark_regs_live_at_end): Declare i as unsigned. - * function.c (instantiate_decls): Avoid signed/unsigned warning. - - * c-decl.c (combine_parm_decls): Unused, remove. - * c-tree.h: Remove prototype for combine_parm_decls. - - * reload.c (push_reload): Fix warning. - (regno_clobbered_p): Likewise. - * reload1.c (replace_pseudos_in_call_usage): Likewise. - (reload_combine): Likewise. - - * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings. - * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix - warnings. - * bitmap.c (bitmap_operation): Change user. - * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise. - -2001-07-10 Eric Christopher - - * config/mips/mips.c (override_options): Fix typo. - -2001-07-09 Stan Shebs - - * target.h (struct gcc_target): New fields init_builtins and - expand_builtin. - * target-def.h (TARGET_INIT_BUILTINS): New macro. - (TARGET_EXPAND_BUILTIN): New macro. - (TARGET_INITIALIZER): Add them. - * builtins.c: Include target.h. - (expand_builtin): Use targetm.expand_builtin. - (default_init_builtins): New function. - (default_expand_builtin): New function. - * expr.h (default_init_builtins): Declare. - (default_expand_builtin): Declare. - * c-common.c (c_common_nodes_and_builtins): Use - targetm.init_builtins. - * defaults.h (MD_INIT_BUILTINS): Remove. - * Makefile.in (builtins.o): Depend on target.h. - - * config/arm/arm.c (TARGET_INIT_BUILTINS): Define. - (TARGET_EXPAND_BUILTIN): Define. - * config/arm/arm.h (MD_INIT_BUILTINS): Remove. - (MD_EXPAND_BUILTIN): Remove. - - * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define. - (TARGET_EXPAND_BUILTIN): Define. - (c4x_init_builtins): Make endlink arg a local. - (c4x_print_operand): Fix typos in adjust_address usages. - * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl. - * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove. - (MD_EXPAND_BUILTIN): Remove. - - * config/i386/i386.c (TARGET_INIT_BUILTINS): Define. - (TARGET_EXPAND_BUILTIN): Define. - (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins. - (ix86_init_builtins): Call new function only if TARGET_MMX. - * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare. - * config/i386/i386.h (MD_INIT_BUILTINS): Remove. - (MD_EXPAND_BUILTIN): Remove. - - * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define. - (TARGET_EXPAND_BUILTIN): Define. - * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove. - (MD_EXPAND_BUILTIN): Remove. - - * doc/tm.texi: Document these changes. - -2001-07-09 Diego Novillo - - * basic-block.h (tree_node): Forward declare if needed. - (struct basic_block_def): Add fields 'head_tree' and 'end_tree'. - (BLOCK_HEAD_TREE): Define. - (BLOCK_END_TREE): Define. - (struct loops): Rename field 'tree' to 'tree_root'. - * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and - 'end_tree'. - (flow_loops_tree_build): Rename reference to field 'tree' to - 'tree_root'. - (flow_loops_level_compute): Ditto. - * predict.c (estimate_bb_frequencies): Ditto. - * tree.h (struct tree_common): Add field 'aux'. - -2001-07-09 Stan Shebs - - * config/darwin.c (darwin_encode_section_info): Don't mark any - DECL_EXTERNAL node as defined. - -2001-07-09 John David Anglin - - * pa.c (pa_init_machine_status, pa_mark_machine_status, - pa_free_machine_status, hppa_init_pic_save): Delete. - (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val. - (hppa_profile_hook): Use hppa_pic_save_rtx. - * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX, - hppa_init_pic_save): Delete. - (hppa_pic_save_rtx): Declare. - * pa.md (call, call_value, sibcall, sibcall_value, - builtin_setjmp_receiver): Use hppa_pic_save_rtx. - -2001-07-09 Kazu Hirata - - * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi. - * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise. - -2001-07-09 Andreas Jaeger - - * output.h: Add declaration of final_forward_branch_p. - - * config/i386/i386.c (output_fix_trunc): Remove unused variable. - - * varray.c: Include errors.h for internal_error and trim_filename - declarations. - - * Makefile.in (varray.o): Add errors.h. - -2001-07-09 Toon Moene - - * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn. - * optabs.c (have_add2_insn): Check whether the add insn chosen - really accepts the operands. (have_sub2_insn): Ditto for sub insn. - * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn. - -Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com) - - * Makefile.in (OBJS): Add ssa-ccp.o - (ssa-ccp.o): Add dependencies. - * toplev.c (DFI_ssa_ccp): New dump file enum. - (dump_file): Add entry for dumping after SSA CCP. - (flag_ssa_ccp): New flag variable. - (f_options): Add -fssa-ccp. - (rest_of_compilation): Run SSA CCP if requested. - * timevar.def (TV_SSA_CCP): New timevar. - * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes. - * doc/gcc.texi (Passes): Add documentation for SSA CCP pass. - Fix minor typo in SSA DCE documentation. - * doc/invoke.texi: Add documentation for new flag -fssa-ccp. - Add documentation for new dump option. Renumber dump files - appropriately. - -Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka - - * emit-rtl.c (gen_highpart_mode): New. - * rtl.h (gen_highpart_mode): Declare. - * sparc.md (insn splitters): Use gen_highpart_mode, whenever the - operand can be VOIDmode constant. - -Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka - - * flow.c (redirect_edge_and_branch_force): New. - (can_fallthru): Ensure that basic blocks are succeeding. - (try_optimize_cfg): Do not delete basic block if it is the last one. - - * flow.c (try_redirect_by_replacing_jump): Do not remove - jumps with side effects, unlink chain on fallthru edge; - set block for new jump instruction; avoid basic block to - over by line number note. - - * flow.c (try_simplify_condjump): Verify that the condjump - is not always falling through. - - Re-install patch: - * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter. - - * flow.c (forwarder_block_p): Fix for fallthru blocks. - (try_redirect_by_replacing_jump): Update properly the count - and frequency information. - -Mon Jul 9 06:41:07 2001 Richard Kenner - - * emit-rtl.c (adjust_address, adjust_address_nv): Handle an - address that is a LO_SUM specially. - * explow.c (plus_constant_wide, case LO_SUM): Deleted. - - * c-lang.c (start_cdtor): Remove extra parameter from start_function. - - * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns. - (operand_subword): Use them. - (change_address_1): Renamed from change_address; new arg VALIDATE. - * expr.h: Reflect above changes; change_address now macro. - * alias.c (canon_rtx): Use replace_equiv_address_nv instead of - making MEM. - * cselib.c (add_mem_for_addr): Likewise. - * expr.c (protect_from_queue, emit_move_insn_1): Likewise. - * regmove.c (try_apply_stack_adjustment): Likewise. - * reload.c (push_reload, make_memloc): Likewise. - * reload1.c (eliminate_regs): Likewise. - * simplify-rtx.c (simplify_replace_rtx): Likewise. - * caller-save.c (setup_save_areas): Use adjust_address_nv instead of - adjust_addess. - * combine.c (make_extraction, simplify_shift_const): Likewise. - (gen_lowpart_for_combine): Likewise. - * cse.c (gen_lowpart_if_possible): Likewise. - * function.c (fixup_var_refs_1, purge_addressof_1): Likewise. - * expr.c (expand_expr, case COMPONENT_REF): Likewise. - * optabs.c (gen_move_insn): Likewise. - * reload1.c (alter_reg): Likewise. - * simplify-rtx.c (simplify_subreg): Likewise. - * stmt.c (expand_anon_union_decl): Likewise. - * recog.c (validate_replace_rtx_1): Likewise. - (expr.h): Include. - * Makefile.in (recog.o): Add $(EXPR_H). - * explow.c (stabilize): Call replace_equiv_address. - * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise. - * final.c (alter_subreg): OFFSET is HOST_WIDE_INT. - -2001-07-03 Andrew Haley - - * expmed.c (store_fixed_bit_field): Don't use a mode bigger than - the mode of the memory location. - -2001-07-09 Bo Thorsen - - * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support. - -2001-07-09 Neil Booth - - * final.c (output_addr_const): Use target opening and - closing parentheses. - * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN - defaults, add to TARGET_ASM_OUT. - * target.h (struct gcc_target): Add open_paren and close_paren. - * doc/md.texi: Update. - * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE, - TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and - TARGET_ASM_CLOSE_PAREN. - * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN): - Override. - * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN): - Override. - * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove. - * config/a29k/a29k.h: Similarly. - * config/alpha/alpha.h: Similarly. - * config/arc/arc.h: Similarly. - * config/arm/aof.h: Similarly. - * config/arm/aout.h: Similarly. - * config/avr/avr.h: Similarly. - * config/c4x/c4x.h: Similarly. - * config/clipper/clipper.h: Similarly. - * config/convex/convex.h: Similarly. - * config/d30v/d30v.h: Similarly. - * config/dsp16xx/dsp16xx.h: Similarly. - * config/elxsi/elxsi.h: Similarly. - * config/fr30/fr30.h: Similarly. - * config/h8300/h8300.h: Similarly. - * config/i370/i370.h: Similarly. - * config/i386/i386.h: Similarly. - * config/i860/i860.h: Similarly. - * config/i960/i960.h: Similarly. - * config/ia64/ia64.h: Similarly. - * config/m32r/m32r.h: Similarly. - * config/m68hc11/m68hc11.h: Similarly. - * config/m68k/m68k.h: Similarly. - * config/m88k/m88k.h: Similarly. - * config/mcore/mcore.h: Similarly. - * config/mips/mips.h: Similarly. - * config/mn10200/mn10200.h: Similarly. - * config/mn10300/mn10300.h: Similarly. - * config/ns32k/ns32k.h: Similarly. - * config/pa/pa.h: Similarly. - * config/pdp11/pdp11.h: Similarly. - * config/pj/pj.h: Similarly. - * config/romp/romp.h: Similarly. - * config/rs6000/rs6000.h: Similarly. - * config/sh/sh.h: Similarly. - * config/sparc/sparc.h: Similarly. - * config/v850/v850.h: Similarly. - * config/vax/vax.h: Similarly. - * config/we32k/we32k.h: Similarly. - -2001-07-09 Joseph S. Myers - - * doc/c-tree.texi: Document representation of attributes. - -2001-07-08 Joseph S. Myers - - * doc/tm.texi: Update some places for the rename of target to - targetm. Fix typo. - -2001-07-08 Joseph S. Myers - - * target.h (struct gcc_target): Add insert_attributes. - * target-def.h (TARGET_INSERT_ATTRIBUTES): Define. - (TARGET_INITIALIZER): Update. - * tree.c, tree.h (default_insert_attributes): New function. - Update comments on other default functions to refer to targetm, - not target. - * doc/tm.texi (INSERT_ATTRIBUTES): Update to document - TARGET_INSERT_ATTRIBUTES. - (SET_DEFAULT_DECL_ATTRIBUTES): Remove. - * c-common.c (decl_attributes): Use targetm.insert_attributes. - Don't use PRAGMA_INSERT_ATTRIBUTES. - * Makefile.in (c-common.o): Depend on $(TARGET_H). - * c-decl.c (start_decl, start_function): Don't call - SET_DEFAULT_DECL_ATTRIBUTES. - * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define. - * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't - declare. - * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define. - (c4x_check_attribute): Avoid modifying attribute list itself. - (c4x_set_default_attributes): Rename to c4x_insert_attributes. - Make static. - * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define. - * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't - declare. - * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define. - (sh_pragma_insert_attributes): Rename to sh_insert_attributes. - Make static. - * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define. - * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't - declare. - * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define. - (v850_set_default_decl_attr): Rename to v850_insert_attributes. - Adjust parameters. Make static. - -2001-07-08 Joseph S. Myers - - * c-common.c (decl_attributes): Only take a single attributes - parameter. - * c-common.h (decl_attributes): Update prototype. - * c-decl.c (start_decl, start_function): Only take a single - attributes parameter. Update calls to decl_attributes. - (finish_struct, finish_enum): Update calls to decl_attributes. - (push_parm_decl): Expect unified list of attributes. Update call - to decl_attributes. - * c-parse.in (fndef, initdcl, notype_initdcl, nested_function, - notype_nested_function, component_declarator, - component_notype_declarator, label): Update calls to - decl_attributes. - (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute - lists that are passed to push_parm_decl. - * c-tree.h (start_function, start_decl): Update prototypes. - * config/sh/sh-protos.h, config/sh/sh.c - (sh_pragma_insert_attributes): Only take a single attributes - parameter. - * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise. - * doc/tm.texi (INSERT_ATTRIBUTES): Update. - * objc/objc-act.c (define_decl, generate_objc_symtab_decl, - build_module_descriptor, generate_static_references, - generate_strings, build_selector_translation_table, - generate_descriptor_table, generate_protocols, - generate_ivars_list, generate_dispatch_table, - generate_protocol_list, generate_category, - generate_shared_structures, really_start_method, add_objc_decls, - generate_classref_translation_entry): Update calls to start_decl - and start_function. - (build_tmp_function_decl, start_method_def): Unify attribute lists - that are passed to push_parm_decl. - -2001-07-08 Neil Booth - - * final.c (no_asm_to_stream): New. - (final_scan_insn): Use target structures for prologue ends - and epilogue starts. - * output.h (no_asm_to_stream): New. - * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE, - TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New. - (TARGET_ASM_OUT): Update. - * target.h (struct gcc_target): New members function_end_prologue - and function_begin_epilogue. - * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused. - * config/alpha/alpha-protos.h (output_end_prologue): Delete. - * config/alpha/alpha.c (output_end_prologue): Rename to - alpha_output_function_end_prologue. Use in target struct - and make static. - * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete. - * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete. - * config/ia64/ia64.c (ia64_output_end_prologue): Rename to - ia64_output_function_end_prologue. Use in target struct - and make static. - (ia64_function_prologue, ia64_funciton_epilogue): Rename - mistyped prototypes. - * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete. - * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue): - Delete. - * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename - an use in target struct, make static. - * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE): - Delete. - -2001-07-08 Richard Henderson - - * stmt.c (emit_case_nodes): Convert modes properly in low+high test. - -2001-07-08 Richard Henderson - - * config/i386/i386.md: Remove constraints strings from define_split - and define_peephole2 patterns. - (eh_return_si, eh_return_di): Split eh_return_1 for modes. - (eh_return): Use them. - -2001-07-08 Richard Henderson - - * doc/tm.texi (Exception Handling): New subnode of Stack and Calling. - Document MD_FALLBACK_FRAME_STATE_FOR. - -2001-07-07 Stephane Carrez - - * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): - Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM - elimination. - * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0. - -2001-07-07 Nick Clifton - - * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end - of the label inside NAME as opposed to just the end of NAME. - -2001-07-07 Neil Booth - - * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete. - * config/alpha/alpha.c (alpha_init_machine_status, - alpha_mark_machine_status, alpha_free_machine_status): Delete. - (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS. - (vms_valid_decl_attribute_p): Make static, conditionally compile. - * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete. - -2001-07-06 Stan Shebs - - * target.h (targetm): Rename global from "target", so as not to - conflict with local variables. - * c-decl.c: Ditto. - * c-typeck.c: Ditto. - * final.c: Ditto. - * tree.c: Ditto. - * cp/decl.c: Ditto. - * cp/decl2.c: Ditto. - * cp/typeck.c: Ditto. - * 1750a/1750a.c: Ditto. - * a29k/a29k.c: Ditto. - * arc/arc.c: Ditto. - * arm/arm.c: Ditto. - * avr/avr.c: Ditto. - * clipper/clipper.c: Ditto. - * convex/convex.c: Ditto. - * d30v/d30v.c: Ditto. - * dsp16xx/dsp16xx.c: Ditto. - * elxsi/elxsi.c: Ditto. - * fr30/fr30.c: Ditto. - * h8300/h8300.c: Ditto. - * i370/i370.c: Ditto. - * i386/i386.c: Ditto. - * i860/i860.c: Ditto. - * i960/i960.c: Ditto. - * ia64/ia64.c: Ditto. - * m32r/m32r.c: Ditto. - * m68hc11/m68hc11.c: Ditto. - * m68k/m68k.c: Ditto. - * m88k/m88k.c: Ditto. - * mips/mips.c: Ditto. - * ns32k/ns32k.c: Ditto. - * pa/pa.c: Ditto. - * pdp11/pdp11.c: Ditto. - * romp/romp.c: Ditto. - * rs6000/rs6000.c: Ditto. - * sh/sh.c: Ditto. - * sparc/sparc.c: Ditto. - * vax/vax.c: Ditto. - * we32k/we32k.c: Ditto. - * doc/tm.texi: Update the manual to match. - -2001-07-06 Richard Henderson - - * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of - DWARF2_UNWIND_INFO not just whether it is defined. - -2001-07-06 Diego Novillo - - * combine.c (combine_simplify_rtx): Also recompute 'mode' if the - call to simplify_binary_operation returns a new pattern. - -2001-07-06 Roman Lechtchinsky - - * glimits.h (__SHRT_MAX__): New. - (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX. - (SHRT_MAX): Define in terms of __SHRT_MAX__. - -2001-07-06 Jan van Male - - * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to - avoid warnings. - -2001-07-06 Richard Henderson - - * bitmap.c (bitmap_release_memory): Move adjacent to the - allocation functions. - (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing - the implementation. Binary search for the set bit. - (bitmap_union_of_diff): Allocate the temporary on the stack - instead of using xmalloc. - -2001-07-06 Richard Henderson - - * genrecog.c (validate_pattern): Warn for constraints in - define_{expand,split,peephole2}. Remove strict_low_part - before looking up match_dup. - -2001-07-06 DJ Delorie - - * doc/gcc.texi (Makefile): Rename to be a more general purpose - chapter about various build hints and history. Add section - talking about the various types of native and cross builds. - -2001-07-06 Neil Booth - - * Makefile.in (final.o): Depend on target.h. - * final.c: Include target.h. - (default_function_pro_epilogue): New. - (final_start_function): Use target structure for function prologues. - (final_end_function): Use target structure for function epilogues. - * fold-const.c (real_hex_to_f): Constify s and p. - * output.h (default_function_pro_epilogue): New. - * real.h (real_hex_to_f): Update prototype. - * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE, - TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New. - (TARGET_INITIALIZER): Update. - * target.h (gcc_target): Add struct asm_out. - * doc/tm.texi: Update. - -config: - Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and - TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions - in cpu/cpu.c, or rename old functions consistently. Take - a HOST_WIDE INT not an int as the SIZE parameter. Remove now - redundant macros and prototypes. Make new functions static. - - * 1750a/1750a.c: Similarly. - * 1750a/1750a.h: Similarly. - * a29k/a29k-protos.h: Similarly. - * a29k/a29k.c: Similarly. - * a29k/a29k.h: Similarly. - * arc/arc-protos.h: Similarly. - * arc/arc.c: Similarly. - * arc/arc.h: Similarly. - * arm/arm-protos.h: Similarly. - * arm/arm.c: Similarly. - * arm/arm.h: Similarly. - * avr/avr-protos.h: Similarly. - * avr/avr.c: Similarly. - * avr/avr.h: Similarly. - * clipper/clipper-protos.h: Similarly. - * clipper/clipper.c: Similarly. - * clipper/clipper.h: Similarly. - * convex/convex.c: Similarly. - * convex/convex.h: Similarly. - * d30v/d30v-protos.h: Similarly. - * d30v/d30v.c: Similarly. - * d30v/d30v.h: Similarly. - * d30v/d30v.md: Similarly. - * dsp16xx/dsp16xx-protos.h: Similarly. - * dsp16xx/dsp16xx.c: Similarly. - * dsp16xx/dsp16xx.h: Similarly. - * elxsi/elxsi.c: Similarly. - * elxsi/elxsi.h: Similarly. - * fr30/fr30.c: Similarly. - * fr30/fr30.md: Similarly. - * h8300/h8300-protos.h: Similarly. - * h8300/h8300.c: Similarly. - * h8300/h8300.h: Similarly. - * i370/i370-protos.h: Similarly. - * i370/i370.c: Similarly. - * i370/i370.h: Similarly. - * i386/i386.c: Similarly. - * i386/osf1elf.h: Similarly. - * i386/osfrose.h: Similarly. - * i860/i860-protos.h: Similarly. - * i860/i860.c: Similarly. - * i860/i860.h: Similarly. - * i960/i960-protos.h: Similarly. - * i960/i960.c: Similarly. - * i960/i960.h: Similarly. - * ia64/ia64-protos.h: Similarly. - * ia64/ia64.c: Similarly. - * ia64/ia64.h: Similarly. - * m32r/m32r-protos.h: Similarly. - * m32r/m32r.c: Similarly. - * m32r/m32r.h: Similarly. - * m68hc11/m68hc11-protos.h: Similarly. - * m68hc11/m68hc11.c: Similarly. - * m68hc11/m68hc11.h: Similarly. - * m68k/crds.h: Similarly. - * m68k/dpx2.h: Similarly. - * m68k/m68k-protos.h: Similarly. - * m68k/m68k.c: Similarly. - * m68k/m68k.h: Similarly. - * m68k/news.h: Similarly. - * m88k/m88k-protos.h: Similarly. - * m88k/m88k.c: Similarly. - * m88k/m88k.h: Similarly. - * mips/mips-protos.h: Similarly. - * mips/mips.c: Similarly. - * mips/mips.h: Similarly. - * ns32k/merlin.h: Similarly. - * ns32k/ns32k.c: Similarly. - * ns32k/ns32k.h: Similarly. - * ns32k/tek6000.h: Similarly. - * pa/pa-protos.h: Similarly. - * pa/pa.c: Similarly. - * pa/pa.h: Similarly. - * pdp11/2bsd.h: Similarly. - * pdp11/pdp11-protos.h: Similarly. - * pdp11/pdp11.c: Similarly. - * pdp11/pdp11.h: Similarly. - * romp/romp-protos.h: Similarly. - * romp/romp.c: Similarly. - * romp/romp.h: Similarly. - * rs6000/rs6000-protos.h: Similarly. - * rs6000/rs6000.c: Similarly. - * rs6000/rs6000.h: Similarly. - * rs6000/sysv4.h: Similarly. - * sh/sh-protos.h: Similarly. - * sh/sh.c: Similarly. - * sh/sh.h: Similarly. - * sparc/sparc-protos.h: Similarly. - * sparc/sparc.c: Similarly. - * sparc/sparc.h: Similarly. - * vax/vax.c: Similarly. - * vax/vax.h: Similarly. - * vax/vms.h: Similarly. - * we32k/we32k.c: Similarly. - * we32k/we32k.h: Similarly. - -Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com) - - * basic-block.h (first_insn_after_basic_block_note): Declare. - * flow.c (first_insn_after_basic_block_note): Define. Moved - from... - * ssa.c (first_insn_after_basic_block_note): Remove. - * ssa-dce.c (find_inherently_necessary): Consider BARRIERs - necessary. - (ssa_eliminate_dead_code): Properly update the CFG and PHI - nodes when we find a dead conditional branch. Insert BARRIERs - after any blocks with no successors, but which do not have - any BARRIERs. - -2001-07-06 Zack Weinberg - - * varray.c (varray_check_failed): Use internal_error. - -2001-07-05 Andrew Haley - - * Makefile.in (LIB2_DIVMOD_FUNCS): New. - (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS. - * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS. - -2001-07-02 Jason Merrill - - * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool - reference if the target constant is also a SYMBOL_REF. - -2001-07-05 Eric Christopher - - * config/mips/mips.h (MASK_MIPS3900): Remove. - (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV, - MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal. - (TARGET_MIPS3900): Change to use mips_arch. - (TARGET_MIPS4000): New. - (TARGET_MIPS4100): New. - (TARGET_MIPS4300): New. - (TARGET_SWITCHES): Change 3900 and 4650 options to NULL. - (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text - for -mipsX. - (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900. - (ISA_HAS_BRANCHLIKELY): To here. - (CC1_CPU_SPEC): New. - (CC1_SPEC): Use here. Remove 4650 and 3900 options. - (mips_arch_string): Declare. - (mips_arch): Declare. - (TARGET_OPTIONS): Add -march and -mtune. - - * config/mips/mips.c (mips_arch_string): New. - (mips_arch): New. - (override_options): Handle -march for codegen and -mtune - for scheduling. Use mips_arch. Move tx39 target default here. - (mips_parse_cpu): Move error message to override_options. - - * config/mips/r3900.h (TARGET_DEFAULT): Remove. - - * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300. - - * doc/invoke.texi (Option Summary): Add -march and -mtune entries. - (MIPS Options): Ditto. Change mcpu entry to historical text. - -2001-07-05 H.J. Lu (hjl@gnu.org) - - * config/mips/mips.c (mips_parse_cpu): New function to parse - -march=*/-mcpu=*. - -2001-07-05 Jim Wilson - - * config/ia64/lib1funcs.asm: Revert 2001-07-02 change. - * config/ia64/t-ia64: Likewise. - (LIB1ASMFUNCS): Update comment. - -2001-07-05 David Edelsohn - - * doc/install.texi (Install GCC: Binaries): Fix typo. - -2001-07-04 Stephane Carrez - - * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory - reference using the stack pointer, adjust it since we push Y - temporarily. - ("*ashrsi3"): Likewise. - ("*lshrsi3"): Likewise. - -2001-07-05 Stephane Carrez - - * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address - when -fomit-frame-pointer is used. - -2001-07-05 Jeffrey Oldham - - * flow.c: Reverse Jan Hubicka's patch of 02July2001. - (try_redirect_by_replacing_jump): Reverse updating properly the - count and frequency information. Reverse removing cc0 setter. - (forwarder_block_p): Reverse fixing for fallthru blocks. - -2001-07-05 DJ Delorie - - * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New. - (translate_options): If the above is defined, use it to map - given options to new options. - * doc/tm.texi: Document it. - -2001-07-05 Brad Lucier - Gerald Pfeifer - - * doc/invoke.texi (Optimize Options): Document that -fgcse may - cause programs using computed gotos to run more slowly. - -2001-07-05 Rainer Orth - - * doc/install.texi (Specific): Markup, spelling and typo fixes. - Fixed sorting. - Consistently require binutils 2.11.2, not prereleases. - (Specific, decstation-*): Canonicalize as mips-dec-*. - (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement, - always necessary. - (Specific, m68k-altos): Removed reference to README.altos, deleted. - (Specific, mips-*): Reword MIPS C compiler requirements. - (Specific, powerpc*-*-*): New, mention --with-cpu once. - (Specific, sunv5): Removed, obsolete. - -2001-07-05 Nathan Sidwell - - * dwarf2out.c (output_loc_list): Use an all ones mask for - .text asm output and don't rely on long long - literals. Reformat some long lines. - -2001-07-05 Andreas Jaeger - - * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL - section. - -2001-07-04 Daniel Berlin - - * dwarf2out.c (dwarf2out_define): Update comment. - (dwarf2out_undef): Ditto. - (dwarf2out_start_source_file): Ditto. - (dwarf2out_end_source_file): Ditto. - (dwarf2out_finish): Output DW_MACINFO_end_file for primary file, - since we never call the start/end debug hook for the primary file. - -2001-07-04 Kazu Hirata - - * config/h8300/h8300.c (get_shift_alg): Remove an extra operand - from shll. - -2001-07-04 Nathan Sidwell - - * cppinit.c (remove_dup_dirs): Inform if a system include - directory is being reordered. - * doc/invoke.texi (Directory Options): GCC warns if you hide a - system include. - * doc/cpp.texi (Search Paths): Likewise. - * doc/gcc.texi (Interoperation): Remove information about - -I/usr/include. - -2001-07-04 Nathan Sidwell - - * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter. - (VARRAY_TOP_CHAR_PTR): Likewise. - -2001-07-04 Kaveh R. Ghazi - - * gcc.c (process_command): Don't assign elements of a const char*. - -Wed Jul 4 13:40:02 2001 Richard Kenner - - * emit-rtl.c (change_address): Don't abort if invalid address while - reload is in progress. - -2001-07-04 Daniel Berlin - - * c-lex.c (cb_file_change): Pass line number to - debug_start_source_file. - (cb_undefine): Pass correct line number to debug_undef. - - * toplev.c (debug_start_source_file): Add line number to - parameters. Pass it along to dwarf2out_start_source_file. - (decode_g_option): Stop resetting debug level back to normal when - we change debug formats, unless the current level is - none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than - 3). - - * toplev.h (debug_start_source_file): Add line number to - parameters. - - * dwarf2out.h (dwarf2out_start_source_file): Add line number to - parameters. - - * dwarf2out.c (dwarf2out_start_source_file): Add line number to - parameters. - Output debug_macinfo data for starting file if requested. - (dwarf2out_end_source_file): Output debug_macinfo data for ending - file if requested. - (dwarf2out_define): Output debug_macinfo data for defining a macro - if requested. - (dwarf2out_undef): Output debug_macinfo data for undefining a - macro if requested. - (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name. - (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label. - (macinfo_section_label): New. DWARF2 macro info section label. - (dwarf2out_init): If we want macro info, output the start label - for the section. - (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info - attribute to the compilation unit die pointing to the macro info. - -2001-07-04 Daniel Berlin - - * dwarf2out.c (new_loc_list): Move to inside #ifdef - DWARF2_DEBUGGING_INFO. - (add_loc_descr_to_loc_list): Ditto. - (output_loc_list): Ditto. - Also, fix thinko in curr not being initialized. - (gen_internal_sym): Ditto. - -Wed Jul 4 13:40:02 2001 Richard Kenner - - * emit-rtl.c (replace_equiv_address): New function. - * expr.h (replace_equiv_address): New declaration. - * explow.c (validize_mem): Call it instead of change_address and - also call if -fforce-addr and address is constant. - * expr.c: Replace more calls to change_address with adjust_address - and/or replace_equiv_address or to validize_mem. - * function.c, regmove.c, config/alpha/alpha.c: Likewise. - * config/arm/arm.md, config/clipper/clipper.md: Likewise. - * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise. - * config/i370/i370.md, config/i860/i860.md: Likewise. - * config/i960/i960.md, config/mips/mips.c: Likewise. - * config/mips/mips.md, config/pa/pa.md: Likewise. - * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise. - * config/rs6000/rs6000.md, config/sh/sh.md: Likewise. - -2001-07-04 Kaveh R. Ghazi - - * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA. - - * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a - function. - -2001-07-04 Joseph S. Myers - - * doc/include: New directory. - * doc/fdl.texi: Move to doc/include/fdl.texi. - * doc/texinfo.tex: Move to doc/include/texinfo.tex. - * doc/include/funding.texi, doc/include/gpl.texi: New files. - * doc/gcc.texi: Use funding.texi and gpl.texi. - * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info, - $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi): - Update dependencies and use -I $(docdir)/include. - -2001-07-04 Anthony Green - - * config/v850/t-v850 (v850-c.o): Add missing dependencies. - -2001-07-04 Gerald Pfeifer - - * doc/install.texi (sparc64-*-*): Remove garbage. - -Wed Jul 4 09:07:44 2001 Jan van Male - - * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS): - Fix typo in last change to use adjust_address. - -2001-07-04 Gerald Pfeifer - - * doc/install.texi (Specific): Update information for *-*-solaris*. - -Tue Jul 3 22:33:15 2001 Richard Kenner - - * explow.c (plus_constant_wide): Reinitialize Y for restart. - -2001-07-03 Stan Shebs - - * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove - case for flag_no_mach_text_sections. - (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION. - * config/darwin.c (flag_no_mach_text_sections): Remove. - * config/darwin-protos.h (darwin_init_pragma): Remove decl. - -Tue Jul 3 15:35:52 2001 Richard Kenner - - * explow.c (plus_constant_wide, case PLUS): Call find_constant_term - and avoid checking for constant as first operand. - * recog.c (find_constant_term_loc): No longer static. - (adj_offettable_operand): Delete. - * rtl.h (adj_offsettable_operand): Delete declaration. - (find_constant_term): Add declaration. - * caller-save.c: Replace calls to adj_offsettable_operand with calls - to adjust_address. - * config/arm/arm.c, config/c4x/c4x.c: Likewise. - * config/clipper/clipper.md, config/h8300/h8300.c: Likewise. - * config/i386/i386.c, config/i386/i386.md: Likewise. - * config/i860/i860.c, config/i960/i960.c: Likewise. - * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise. - * config/m68k/m68k.c, config/m68k/m68k.md: Likewise. - * config/m88k/m88k.md, config/mcore/mcore.c: Likewise. - * config/mips/mips.c, config/mips/mips.md: Likewise. - * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise. - * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise. - * config/pa/pa.c, config/pdp11/pdp11.c: Likewise. - * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise. - * config/vax/vax.md, config/ns32k/ns32k.c: Likewise. - * config/ns32k/ns32k.md: Likewise. - -2001-07-03 Zack Weinberg - - * rtl.c (copy_rtx): Handle 'T' format letter. - * gensupport.c (collect_insn_data): Likewise. - * print-rtl.c (print_rtx): Print 'T' slots like 's'. - -2001-07-03 Nick Clifton - - * doc/invoke.texi (Directory Options): Specifiy range for in - -B option. Use 'dir' not 'foo' as example directory name. - -2001-07-03 Rainer Orth - - * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. - Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275. - -2001-07-03 Joseph S. Myers - - * doc/cppinternals.texi: Improve formatting and logical markup. - -2001-07-03 Andreas Jaeger - - * Makefile.in (insn-recog.o): Add dependency on reload.h. - - * genrecog.c (write_header): Include reload.h for prototypes in - insn-recog.c. - -2001-07-03 Neil Booth - -config: - * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE, - VALID_MACHINE_TYPE_ATTRIBUTE): Remove. - * i386/i386-protos.h (i386_pe_valid_decl_attribute_p, - i386_pe_valid_type_attribute_p): Add. - * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets. - * i386/winnt.c (i386_valid_decl_attribute_p): Return directly. - -Mon Jul 2 21:52:19 2001 Richard Kenner - - * explow.c (plus_constant_wide, case LO_SUM): New case. - (plus_constant_for_output_wide): Delete. - * rtl.h (plus_constant_for_output): Delete. - * alias.c (canon_rtx, init_alias_analysis): Call plus_constant - instead of plus_constant_for_output. - * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise. - * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise. - * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise. - * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise. - * config/sparc/sparc.md: Likewise. - Convert some change_address calls to adjust_address. - -2001-07-03 Joseph S. Myers - - * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi, - doc/rtl.texi, doc/tm.texi: Improve formatting. Improve - documentation of -std and -Wwrite-strings. - -2001-07-02 Geoffrey Keating - - * cse.c (canon_hash): Don't register registers in very small - register classes, as extending their lifetime might cause - reload to fail. - -Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka - - * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter. - - * flow.c (forwarder_block_p): Fix for fallthru blocks. - (try_redirect_by_replacing_jump): Update properly the count - and frequency information. - -Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com) - - * toplev.c (dump_file_index): Move SSA dumps just after first - jump dump. - (dump_file): Corresponding changes. - (rest_of_compilation): Move SSA path to just after the first - jump pass. - * doc/gcc.texi (Passes): Update due to movement of SSA path. - * doc/invoke.texi: Update dump file #s as they were completely - out of date with reality. - -2001-07-02 Geoffrey Keating - - * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE. - - * expr.c (emit_move_insn_1): Deal with non-default - STACK_PUSH_CODE. - - * expr.c (emit_single_push_insn): Fix warning. - -2001-07-02 Toshiyasu Morita - - * expr.c (emit_move_insn_1): Avoid modifying - cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined. - -Mon Jul 2 15:33:31 2001 Richard Kenner - - * emit-rtl.c (adjust_address): New function. - * expr.h (adjust_address): Add declaration. - * builtins.c: Replace some calls to change_address with calls to it - or to validize_mem. - * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise. - * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise. - * config/arm/arm.c, config/convex/convex.c: Likewise. - * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise. - * config/i386/i386.c, config/i386/i386.md: Likewise. - * config/ia64/ia64.c, config/ia64/ia64.md: Likewise. - * config/m32r/m32r.c, config/m68k/m68k.md: Likewise. - * config/m88k/m88k.c, config/mips/mips.md: Likewise. - * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise. - * config/sh/sh.c, config/sparc/sparc.md: Likewise. - -2001-07-02 Jim Wilson - - * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment. - -2001-07-02 Steve Ellcey - - * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore. - * config/ia64/lib1funcs.asm: Change macro names to match t-ia64. - -2001-07-02 Zack Weinberg - - * cppinit.c (lang_defaults): New table. - (set_lang): Just read from lang_defaults into the live options - structure. - -2001-07-02 Zack Weinberg - - * Makefile.in (doc): Depend on $(GENERATED_MANPAGES). - * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1. - * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed. - -2001-07-02 Rainer Orth - - * doc/install.texi: Various spelling and markup fixes. - (Installing GCC): Component specific installation instructions are - gone. - Fix reference. - Warn about removing old install dir in the presence of shared libs. - (Configuration): Invoke with options target to match configure - --help. - Consistently refer to gas, gld pathnames. - Invert --enable-multilib documentation. - Remove references to old compiler versions. - -Mon Jul 2 12:50:51 2001 Richard Kenner - - * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags. - -2001-07-02 Rainer Orth - - * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5 - section. - (Specific, mips*-sgi-irix5): Note IDO download. - Reworded MIPS C hints. - Use GNU as instead of GAS. - Markup fixes. - Removed SGI Freeware reference, IRIX 6 only. - (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete. - Note N64 library requirement/workaround. - Update O32 hints. - Complete list of structure passing bug victims. - -2001-07-02 Gerald Pfeifer - - * doc/install.texi: Remove CVS Id. - -2001-07-02 Andreas Jaeger - - * ssa-dce.c (note_inherently_necessary_set): Add unused attribute. - (find_inherently_necessary): Remove unused variable. - -2001-07-02 Nathan Sidwell - - * c-common.h (TDI_inlined): New ast dump phase. - (dump_flag_name): New function. - * c-dump.c (dump_files): Add inlined phase. - (dump_flag_name): Define. - * doc/invoke.texi (-fdump-ast-inlined): Document. - -Mon Jul 2 06:29:36 2001 Richard Kenner - - * stor-layout.c (layout_decl): Revert change to handling of alignment - in packed types. - -Sun Jul 1 11:53:52 2001 Richard Kenner - - * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl - for FIELD_DECL. - -2001-07-01 Geoffrey Keating - - * doc/tm.texi (FUNCTION_ARG): Document that the last call - is special. - -2001-07-01 Nathan Sidwell - - * tlink.c (recompile_files): Remove COMPILER_PATH and - LIBRARY_PATH from the environment. - -2001-07-01 Zack Weinberg - - * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT, - RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST - enumerators. - (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros. - - * c-parse.in (OBJC_STRING): Kill. - (objc_string): Decompose to [objc_string] '@' STRING. - (reswords): Take the leading '@' off all the Objective C keywords. - (objc_rid_sans_at): Kill. - (init_reswords): Don't initialize it. - (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD. - (_yylex): Kill reconsider label. Look ahead one token after - an '@'; if we get an identifier, check whether it's an - Objective C @-keyword. If so, return the keyword. Otherwise, - put back the token and return the '@' as a terminal. - - * cpplib.c (lex_macro_node): Remove unnecessary check for - leading '@' on identifier. Clarify control flow and commentary. - -Sun Jul 1 11:53:52 2001 Richard Kenner - - * cse.c (new_label_ref): Variable deleted. - (insert): Remove set of new_label_ref. - (check_for_label_ref): New function. - (cse_basic_block): Don't check new_label_ref; call check_for_label_ref. - -See ChangeLog.5 for earlier changes. +See ChangeLog.6 for earlier changes. diff --git a/gcc/ChangeLog.6 b/gcc/ChangeLog.6 new file mode 100644 index 00000000000..d0e9a233be5 --- /dev/null +++ b/gcc/ChangeLog.6 @@ -0,0 +1,19208 @@ +2001-12-31 Richard Henderson + + * config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS. + +2001-12-31 Richard Henderson + + * regrename.c (build_def_use): Don't rename asm operands that + were originally hard registers. + (copyprop_hardreg_forward_1): Likewise. + (find_oldest_value_reg): Copy ORIGINAL_REGNO from source. + * varasm.c (make_decl_rtl): Use gen_rtx_raw_REG. Set ORIGINAL_REGNO. + +2001-12-31 Douglas B Rupp + + * config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove. + (NAME__MAIN, SYMBOL__MAIN): Define. + +2001-12-31 Richard Henderson + + * cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL + before decrementing LABEL_NUSES from a jump table. + + * final.c (alter_subreg): Assign REGNO after changing the rtx code. + + * config/alpha/alpha.c (reg_no_subreg_operand): Reject all + non-registers. + +2001-12-31 Graham Stott + + * halfpic.h: Remove foward defs of tree_node and rtx_def. + + * toplev.h: Remove forward def of tree_node, rtx_def. + + * except.h: Remove forward def of tree_node, rtx_def and + define of tree, rtx. Also remove undefs. + + * basic-block.h: Remove forward def of tree_node and + define of tree. + +2001-12-30 Richard Henderson + + * cfglayout.c (scope_def, scope_forest_info, forest, + relate_bbs_with_scopes, make_new_scope, build_scope_forest, + remove_scope_notes, insert_intra_before_1, insert_intra_1, + insert_intra_bb_scope_notes, insert_inter_bb_scope_notes, + rebuild_scope_notes, free_scope_forest_1, dump_scope_forest, + dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove. + (fixup_reorder_chain): Don't set scope for bb. + (insn_scopes, scope_to_insns_initialize, set_block_levels, + change_scope, scope_to_insns_finalize): New. + (cfg_layout_initialize, cfg_layout_finalize): Update to match. + * cfglayout.h (scope_def, scope): Remove. + (reorder_block_def): Remove scope member. + (scope_to_insns_initialize, scope_to_insns_finalize): Declare. + * haifa-sched.c: Revert reemit_other_notes change. + * sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes. + Use scope_to_insns_initialize and scope_to_insns_finalize. + * sched-rgn.c (schedule_insns): Likewise. + +2001-12-31 Graham Stott + + * c-lex.c: Include tree.h before expr.h + + * c-typeck.c: Include rtl.h earlier. + + * tree.h (STRIP_NOPS): Remove extraneous semicolon. + (STRIP_SIGN_NOPS): Likewise. + (STRIP_TYPE_NOPS): Likewise. + (COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around + macro paramater. + + * final.c (struct bb_list): Delete. + (struct bb_str): Likewise. + + * cfgloop.c (flow_loop_entry_edges_find): Fix typo. + (flow_loop_exit_edges_find): Likewise. + + * gcse.c (gcse_main): Fix typos. + (alloc_gcse_mem): Likewise. + + * function.h: Remove undefs for rtx and tree. + +2001-12-30 Richard Henderson + + * loop.c (check_dbra_loop): Fix last change: examine both + has_multiple_exit_targets and exit_count. + +2001-12-30 Richard Henderson + + * integrate.c (copy_rtx_and_substitute): Fix error last change: + we need to unconditionally create a new mem. + +2001-12-30 Hans-Peter Nilsson + + * config/mmix/mmix.md ("*call_real"): Fix typo in comment. + * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT + to mmix_extra_constraint. + * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle + non-global register classes. Mark now unused parameters as such. + (mmix_extra_constraint, 'U'): Use new parameter strict and call + calling memory_operand_p or strict_memory_address_p, not + address_operand. + * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter. + +2001-12-30 Kaveh R. Ghazi + + * unroll.c: Move include files above first use of `const'. + +2001-12-30 Jakub Jelinek + + * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump + to fail if target is EXIT_BLOCK_PTR, die otherwise. + (redirect_edge_and_branch): Likewise. + * cfgcleanup.c (try_forward_edge): Don't force jump redirecting + if target is EXIT_BLOCK_PTR. + +2001-12-29 David Edelsohn + + * gcc.c (init_gcc_spec): Do not link with static libgcc.a if + gcc invoked with -shared. + +2001-12-29 Graham Stott + + * config/i386/i386.c (ix86_asm_dialect): Fix enum type. + + (override_options): Delete abs macro unused. + + (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations + when testing ASSEMBLER_DIALECT. + + (print_reg): Likewise. + (print_operand): Likewise. + (print_operand_address): Likewise. + (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect. + + * config/i386/i386.h (ix86_asm_dialect): Fix enum type. + + (FIND_BASE_TERM): Fix typo. + +Sat Dec 29 15:48:54 2001 Richard Kenner + + * expr.c (store_field): Use adjust_address, not PUT_MODE. + (expand_expr, case VIEW_CONVERT_EXPR): Likewise. + * reload1.c (eliminate_regs, case SUBREG): Likewise, but use + adjust_address_nv. + * varasm.c (make_decl_rtl): Likewise. + * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use + replace_equiv_address_nv. + + * varasm.c (decode_addr_const, case INTEGER_CST): Call + output_constant_def instead of looking at TREE_CST_RTL. + + * expr.c (convert_move): If -fforce-mem, force FROM to not be memory. + + * stor-layout.c (layout_decl): Don't misalign field of variable size + for packed record. + + * dwarf2out.c (compute_section_prefix): Avoid cast warning. + (gen_decl_die): Only check DECL_IGNORED_P on decls. + (dwarf2out_decl): Check for DECL_IGNORED_P only when needed. + +2001-12-29 Jakub Jelinek + + * cfglayout.c (insert_intra_before_1): New. + (insert_inter_bb_scope_notes): Emit sibling block notes which don't + span multiple basic blocks. + +2001-12-29 Richard Henderson + + * loop.c (prescan_loop): Set has_multiple_exit_targets for exception + edges. Rearrange jump interpretation code to use pc_set. + (check_dbra_loop): Examine has_multiple_exit_targets not exit_count. + + * sched-deps.c (sched_analyze_insn): Set scheduling barrier for + all insns that can throw, not just if flag_non_call_exceptions. + +2001-12-29 Stan Shebs + + * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove. + (default_constant_string_class_name): New global. + (objc_init): Set it. + (synth_module_prologue): Use it. + + * objc/objc-act.c: Apply various cosmetic and formatting changes. + +2001-12-29 Kazu Hirata + + * config/rs6000/darwin-tramp.asm: Fix comment formatting. + * config/rs6000/freebsd.h: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/sh/sh.c: Likewise. + * config/sh/sh.h: Likewise. + +2001-12-28 Stan Shebs + + * objc/objc-act.c (build_module_descriptor): Make sure the init + function is not deferred. + (build_dispatch_table_initializer): Compute the method encoding if + not already done. + +2001-12-28 Kazu Hirata + + * doc/md.texi: Add @findex define_insn_and_split. + +2001-12-28 Hans Bohem + + * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New. + * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp, + bsp setup. Set pri_unat_loc to something reasonable. + (uw_install_context): Add missing cast. + (unw_access_gr): Fix off-by-1 indexing error. + +2001-12-28 Kazu Hirata + + * except.c: Fix comment formatting. + * flags.h: Likewise. + * flow.c: Likewise. + * predict.c: Likewise. + * simplify-rtx.c: Likewise. + * system.h: Likewise. + * vmsdbg.h: Likewise. + * vmsdbgout.c: Likewise. + +2001-12-28 Kazu Hirata + + * config/h8300/h8300.md: Fix formatting. + +2001-12-28 Geoff Keating + + * varasm.c (record_constant_1): Correct parameter to recursive + call in default case. + +2001-12-28 Jakub Jelinek + + * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT, + ASM_OUTPUT_DWARF_PCREL): Define. + * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. + * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports + .uaword %r_disp32() and linker handles it correctly. + * configure, config.in: Rebuilt. + +2001-12-28 Jakub Jelinek + + * c-typeck.c (store_init_value): If initializing object with array + type of unknown size by a compound literal, set object's size from + compound literal size. + * doc/extend.texi (Compound Literals): Adjust documentation. + +2001-12-28 Richard Henderson + + * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT. + (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT. + (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT. + * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case + INTEL_EXTENDED_IEEE_FORMAT. + +2001-12-27 Geoff Keating + + * combine.c (try_combine): Mask off sign bits when combining + stores to the low and high parts of a two-word value. + + * expr.c (expand_expr): Don't mark memory for non-constants as + constant. + +Thu Dec 27 20:39:55 2001 Richard Kenner + + * integrate.c (copy_rtx_and_substitute, case MEM): If inlining + and not for LHS, clear RTX_UNCHANGING_P. + +2001-12-28 Philipp Thomas + + * cppfiles.c (stack_include_file): Don't translate . + +2001-12-27 Roger Sayle + + * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in + when all arguments are known constant. Fixes PR opt/3508. + +2001-12-27 Kazu Hirata + + * config/h8300/h8300.md (two anonymous patterns): Remove. + +2001-12-27 Richard Henderson + + * haifa-sched.c (reemit_other_notes): New. + (schedule_block): Use it. + * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes. + * sched-rgn.c (schedule_insns): Likewise. + * cfglayout.c (remove_scope_notes): Handle removing note at + the end of the insn chain. + * function.c (debug_find_var_in_block_tree): New. + +2001-12-27 Alan Modra + David Edelsohn + + * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify. + +2001-12-27 Jakub Jelinek + + * toplev.c (independent_decode_option): Re-add -aux-info option + handling. + +Thu Dec 27 09:50:44 2001 Richard Kenner + + * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note + if special value. + +2001-12-26 Kaveh R. Ghazi + + * collect2.c (is_ctor_dtor): Const-ify. + * m88k-protos.h (output_file_start): Likewise. + * m88k.c (m88k_lang_independent_options, output_options, + output_file_start): Likewise. + * fix-header.c (files_to_ignore, std_include_entry, include_entry, + std_include_table, main): Likewise. + * protoize.c (longopts): Likewise. + * regclass.c (int_reg_class_contents): Likewise. + * toplev.c (dump_file, f_options, W_options): Make static. + (lang_independent_options, f_options, W_options): Const-ify. + * tree-dump.c (dump_file_info): Likewise. + * unroll.c (_factor): Make static. + +Wed Dec 26 17:55:50 2001 Richard Kenner + + * config/alpha/alpha.c (alpha_align_insns): Remove warning. + + * config/sparc/sparc.md (call struct patterns): Show starting + at two words long. + +2001-12-26 David Edelsohn + + * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405. + * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405. + +2001-12-26 DJ Delorie + + * function.c (expand_main_function): Make sure stack adjustments + happen before sjlj exception setup. + +2001-12-26 David Edelsohn + + * rs6000.md (indirect_jump): Prefer CTR over LR. + * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function. + +Tue Dec 25 12:04:47 2001 Richard Kenner + + * dwarf2out.c: Reformatting and minor code rearrangement. + +2001-12-24 Douglas B. Rupp (rupp@gnat.com) + + * configure.in (quoted_stage_prefix_set_by_configure): Generate. + * configure: Regenerated. + * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use + quoted_stage_prefix_set_by_configure. + +Mon Dec 24 10:24:59 2001 Richard Kenner + + * rtl.h (in_expr_list_p): New declaration. + * rtlanal.c (in_expr_list_p): New function. + * cfgcleanup.c: Reformatting and minor code rearrangement. + * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise. + +2001-12-23 Richard Henderson + + PR c/5163: + * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when + we have a function body associated. Minor cleanups. + (grokdeclarator): Do not set DECL_INLINE without a function body. + +2001-12-23 Richard Henderson + + * stmt.c (resolve_operand_names): Handle operand modifiers. + +2001-12-23 Richard Henderson + + * stmt.c (parse_input_constraint): Break out from ... + (expand_asm_operands): ... here. Loop over the operands twice, + the first time only calling mark_addressable. Correct and simplify + the conditions for spilling an output operand to memory. + +2001-12-23 Richard Henderson + + * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs. + + * config/alpha/alpha.md (UNSPEC_SIBCALL): New. + (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it. + (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise. + +2001-12-23 Joseph S. Myers + + * c-typeck.c (c_start_case): Don't strip conversions from the + controlling expression. Partially fixes PR c/2454. + +2001-12-23 Joseph S. Myers + + * Makefile.in (USER_H): Remove proto.h. + * config.gcc (c*-convex-*): Set extra_headers=proto.h. + +2001-12-23 Kaveh R. Ghazi + + * arc.c (arc_hard_regno_mode_ok): Const-ify. + * arc.h (arc_hard_regno_mode_ok): Likewise. + * i386.c (x86_64_reg_class_name): Make static. + * m68k.c (regno_reg_class): Const-ify. + * m68k.h (regno_reg_class): Likewise. + * mcore.c (reg_class_from_letter): Likewise. + * mcore.h (reg_class_from_letter): Likewise. + * sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns, + ext_shift_insns, ext_shift_amounts): Likewise. + * sh.h (reg_class_from_letter): Likewise. + * sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes, + hard_64bit_mode_classes): Likewise. + * sparc.h (hard_regno_mode_classes): Likewise. + + * gcc.c (modify_target): Make static. + * gengenrtl.c (defs, formats): Likewise. + * reload1.c (elim_table_1, init_elim_table): Const-ify. + * tradcpp.c (directive, directive_table, handle_directive, + skip_if_group, run_directive): Likewise. + +2001-12-23 Richard Henderson + + * calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for + an invalid result register; do end the sequence properly. + (emit_library_call_value_1): Likewise. + +2001-12-22 Aldy Hernandez + + * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants. + + * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same. + + * config/rs6000/rs6000.c: Clean up some spacing and indentation. + (altivec_init_builtins): Add tree types for builtins with 4 bit + literals. + (bdesc_3arg): Add vsldoi variants. + +2001-12-22 Kaveh R. Ghazi + + * 1750a.h (datalbl, jmplbl): Declare array size explicitly. + * a29k.h (a29k_debug_reg_map): Likewise. + * arc.h (arc_regno_reg_class): Likewise. + * c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise. + * convex.h (regno_reg_class, reg_class_from_letter): Likewise. + * d30v.h (regno_reg_class, reg_class_from_letter): Likewise. + * i386.h (regclass_map): Likewise. + * m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise. + * mcore.h (regno_reg_class): Likewise. + * mips.h (mips_print_operand_punct, mips_char_to_class): + Likewise. + * ns32k.h (regclass_map): Likewise. + * pj.h (pj_debugreg_renumber_vec): Likewise. + * s390.h (regclass_map): Likewise. + * sh.h (regno_reg_class): Likewise. + * sparc.h (sparc_regno_reg_class): Likewise. + + * hard-reg-set.h (reg_class_contents): Likewise. + * machmode.h (class_narrowest_mode): Likewise. + +2001-12-22 David Edelsohn + + * loop.c (scan_loop, move_movables, count_one_set): Do not + overlook hard registers when computing statistics. + +Sun Dec 23 00:49:37 CET 2001 Jan Hubicka + + * calls.c (ECF_LIBCALL_BLOCK): New constant. + (emit_call_1, initialize_argument_information, + precompute_arguments, expand_call, + emit_library_call_value_1): Use ECF_LIBCALL_BLOCK + instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE. + +2001-12-22 Joseph S. Myers + + * config.gcc (extra_headers): Move settings to math-68881.h and + ppc-asm.h to common code for CPU types. Use math-68881.h on all + m68k targets. + (header_files): Remove unused setting. + +2001-12-22 Kaveh R. Ghazi + + * elxsi.c: Include "hard-reg-set.h" and/or don't declare + `call_used_regs' explicitly. + * i860.c: Likewise. + * m68k.c: Likewise. + * ns32k.c: Likewise. + * pa.c: Likewise. + * vax.c: Likewise. + * we32k.c: Likewise. + +Fri Dec 21 23:30:14 CET 2001 Jan Hubicka + + * i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New. + (TARGET_CPU_DEFAULT_*): Renumber. + +Sat Dec 22 12:20:20 EST 2001 John Wehle (john@feith.com) + + * rtl.h (subreg_lsb): Declare. + * rtlanal.c (subreg_lsb): Implement. + +Sat Dec 22 08:59:50 2001 Richard Kenner + + * predict.c: Reformatting and minor cleanups. + * cfg.c, cfganal.c, cfgbuild.c: Likewise. + + * expr.c (expand_expr, case ADDR_EXPR): Handling taking address of + SAVE_EXPR. + * function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR. + (put_addressof_into_stack): Clarify code in setting of used_p. + + * calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here. + (expand_call): Delete from here. + Do pending stack adjustments if ECF_SP_DEPRESSED. + + * dwarf2out.c (save_rtx): Deleted. + (mem_loc_descriptor): Do equivalent operation. + (add_const_value_attribute, case CONST): Likewise. + (add_name_and_src_coords_attributes): Likewise. + +2001-12-21 Kazu Hirata + + * config/h8300/h8300.h: Fix comment formatting. + +Fri Dec 21 17:30:15 2001 Jeffrey A Law (law@redhat.com) + + * pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG. + (CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG. + +2001-12-21 Robert Lipe + + * system.h (PREFETCH): Explictly undefine. + +2001-12-21 Richard Henderson + + * c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional. + (RESTORE_WARN_FLAGS): Restore it. + (extension): Zero warn_traditional. + +2001-12-21 Kazu Hirata + + * doc/passes.texi: Fix a typo. + +2001-12-21 Kazu Hirata + + * config/h8300/h8300.h: Fix a comment typo. + +2001-12-21 Jakub Jelinek + + * combine.c (nonzero_bits): If using reg_nonzero_bits, + we don't know anything about bits outside of X mode. + (num_sign_bit_copies): Likewise. + +2001-12-21 Nick Clifton + + * config/arm/arm.md (prefetch): Use 'a' operand code. + +2001-12-20 Kaveh R. Ghazi + + * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in + subshells. + * configure.in: Likewise for perl Pod::Man. + + * configure: Regenerated. + +2001-12-20 Kaveh R. Ghazi + + * builtin-attrs.def (__builtin_printf_unlocked, + __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked): + Mark with the __printf__ attribute. + + * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter + and set the replacement function depending on it. + (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing. + Handle BUILT_IN_*_UNLOCKED when optimizing. + + * builtins.def (DEF_EXT_FALLBACK_BUILTIN, + DEF_EXT_FRONT_END_LIB_BUILTIN): New macros. + Declare the "unlocked" stdio functions. + + * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf): + Add an `unlocked' parameter and set the replacement function + depending on it. + (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and + BUILT_IN_FPRINTF_UNLOCKED. + + * doc/extend.texi (printf_unlocked, fprintf_unlocked, + fputs_unlocked): Document. + +2001-12-20 Josef Zlomek + + * cfgloop.c (flow_loops_find): Use the information of the depth + first search order of the CFG correctly when finding natural loops. + +2001-12-20 Richard Henderson + + * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs. + +2001-12-20 Richard Henderson + + * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos. + * config/alpha/alpha.md (call_osf, call_value_osf): Don't force + operand into $27. + +2001-12-20 Joseph S. Myers + + * configure.in (all_headers, all_lib2funcs): Remove. + * configure: Regenerate. + * Makefile.in (LANG_EXTRA_HEADERS): Remove. + (USER_H): Don't include $(LANG_EXTRA_HEADERS). + * config/alpha/t-interix (USER_H): Don't include + $(LANG_EXTRA_HEADERS). + * config/i386/t-interix: Likewise. + * config/t-openbsd: Likewise. + +2001-12-20 Andreas Jaeger + + * libgcc2.c (__bb_exit_func): Remove unused variable. + (num_digits): Remove unused function. + +2001-12-20 Alan Shieh + + * config/arm/arm.c (arm_output_epilogue): Changed IP restore + to use ldmfd instead of ldmea. + * config/arm/arm.c (arm_compute_initial_elimination_offset): + Modified to reflect behavior of arm_expand_prologue when generating + interrupt handlers + +2001-12-20 Nick Clifton + + * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): New + function. Compute which of registers r0 through r12 should be + saved onto the stack during a function's prologue. + (arm_compute_save_reg_mask): Use + arm_compute_save_reg0_reg12_mask. + (arm_compute_initial_elimination_offset): Use + arm_compute_save_reg0_reg12_mask. + + (arm_expand_prologue): Do not mark as save of the IP register + for an interrupt handler as being part of the frame creation + code. + +2001-12-20 Richard Henderson + + * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer + to emit floating point values. + (assemble_real_1): Remove. + + * 1750a/1750a.c (real_value_to_target_single): New. + (real_value_to_target_double): New. + * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New. + (REAL_VALUE_TO_TARGET_SINGLE): New. + (REAL_VALUE_TO_TARGET_DOUBLE): New. + * 1750a/1750a-protos.h: Update. + + * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h, + alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c, + avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h, + d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h, + fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h, + i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h, + i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c, + i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c, + m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h, + m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h, + m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h, + m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h, + mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c, + mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h, + ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h, + romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h, + sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h, + vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT, + ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT, + ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all + associated support routines. + +Thu Dec 20 16:58:46 CET 2001 Jan Hubicka + + * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns + if one of block does not contain jump. + (outgoing_edge_math): Revert last path; require edges to be noncomplex + nonfake to match single exit edge; require conditional jumps to not + have side effect. + +2001-12-20 Turly O'Connor + + * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to + "recog_operand" to "recog_data.operand". + * rtl.def: Likewise. + +2001-12-20 Jakub Jelinek + + * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has + narrower mode than op0, only return the bits in DIV's mode. + +2001-12-20 Jakub Jelinek + + * combine.c (distribute_notes): Avoid adding REG_LABEL notes + to JUMP_INSNs with JUMP_LABEL. + +2001-12-19 Aldy Hernandez + + * doc/install.texi: Add documentation for --enable-altivec. + + * config.gcc: Add support for --enable-altivec. + + * config/rs6000/altivec.h: New. + + * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS): + Define. Fix typo. + + * config/rs6000/rs6000.c (vrsave_operation): Change unspec to + unspec_volatile. + (generate_set_vrsave): Generate the unspec here instead of calling + an .md pattern. + (generate_set_vrsave): Use gen_rtvec. + (rs6000_emit_prologue): Replace call to gen_get_vrsave with + gen_rtx_SET. + + * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints + for setting special registers. + ("*set_vrsave_internal"): Use unspec_volatile. + ("set_vrsave"): Remove. + ("get_vrsave"): Remove. + + * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to + SPECIAL_REGS. + +2001-12-19 Bruce Korb + + * gcc/fixinc/inclhack.def: Remove all the fix suppression "fixes". + (strict_ansi_not_ctd): accommodate __STDC__ == 0 tests in UW 2.1.2 + * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program + * gcc/fixinc/base/...: adjust for changes in fixes + +2001-12-20 Joseph S. Myers + + * po/gcc.pot: Regenerate. + + * configure.in (all_diff_excludes, diff_excludes): Remove. + * configure: Regenerate. + * Makefile.in (LANG_DIFF_EXCLUDES): Remove. + * objc/config-lang.in (diff_excludes): Remove. + +2001-12-19 Dan Nicolaescu + + * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass + the destination register as a parameter to mems_ok_for_ldd_peep. + For store peepholes pass NULL_RTX. Move all volatile checks ... + * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here. Add a + register parameter, check it's not the same as base for an address. + * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update. + +2001-12-19 Jakub Jelinek + + * config/ia64/ia64.c (ia64_single_set): Return first set for + prologue_allocate_stack and epilogue_deallocate_stack instructions. + +2001-12-19 Dale Johannesen + + * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS: + redefine in terms of rs6000_legitimize_reload_address(). + * config/rs6000/rs6000-protos.h: Add this function. + * config/rs6000/rs6000.c: Add this function. Includes + handling for Darwin FP constants. + +Wed Dec 19 11:01:21 2001 Jeffrey A Law (law@redhat.com) + + * config/pa/t-hpux-shlib: New file. + * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file + for 32bit hpux10 & hpux11 configurations. + +2001-12-19 Nick Clifton + + * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass + -mno-fpu onto gas unless -mhard-float is specified. + (MULTILIB_DEFAULTS): Include msoft-float. + + * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition. + + * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false). + * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true). + +Wed Dec 19 06:12:34 2001 Douglas B. Rupp + + * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure + descriptor output. + +2001-12-18 Stan Shebs + + * rs6000.h (LOCAL_ALIGNMENT): Fix parens. + +Tue Dec 18 17:02:06 2001 Richard Kenner + + * emit-rtl.c (widen_memory_access): Only call compare_tree_int + on an INTEGER_CST. + +2001-12-18 David Edelsohn + + * rs6000.c (rs6000_override_options): Only use DI ops when + TARGET_64BIT. Fix typo. + +Tue Dec 18 16:39:46 CET 2001 Jan Hubicka + + * att.h (ASM_FILE_START): Use asm_dialect. + * linux.h (ASM_FILE_START): Likewise. + * gas.h (ASM_FILE_START): Likewise. + * i386.c (ix86_debug_arg_string, ix86_debug_addr_string, + ix86_asm_string, ix86_asm_dialect): New. + (override_options): Set asm_dialect. + * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG, + MASK_DEBUG_ADDR): Kill. + (MASK_64BIT, MASK_NO_RED_ZONE): renumber. + (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string. + (ASSEMBLER_DIALECT): Use asm_dialect. + (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax; + remove debug-addr and debug-arg. + (TARGET_OPTIONS): Add debug-arg, debug-addr, asm. + (asm_dialect): New enum. + (ix86_debug_arg_string, ix86_debug_addr_string, + ix86_asm_string, ix86_asm_dialect): Declare. + * invoke.texi (-mintel-syntax): Remove. + (-masm): Document. + +Tue Dec 18 16:37:42 CET 2001 Jan Hubicka + + * libgcc2.c (__bb_exit_func): Kill -ax dumping code. + +2001-12-18 Jason Merrill + + C++ ABI change: destroy value arguments in caller. + * calls.c (initialize_argument_information): Pass the address of + the TARGET_EXPR temporary rather than storing it into another. + +Tue Dec 18 07:09:06 2001 Douglas B. Rupp + + * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include. + * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS. + +2001-12-18 Jakub Jelinek + + * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove. + * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove. + * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove. + (CC1_SPEC): Don't default to -gstabs+ if -m32. + +2001-12-05 David O'Brien + + * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG. + +2001-12-18 Joseph S. Myers + + * po/gcc.pot: Regenerate. + +2001-12-18 Kazu Hirata + + * config/h8300/h8300.c: Fix comment typos. + * config/h8300/h8300.h: Fix comment formatting. + +2001-12-17 Kaveh R. Ghazi + + * machmode.h (mode_name, mode_class, mode_size, mode_unit_size, + mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in + declaration to NUM_MACHINE_MODES. + (mode_size, mode_unit_size): Set array type to unsigned char. + (mode_bitsize): Set array type to unsigned short. + + * rtl.c (rtx_length): Set array type to unsigned char. + (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to + NUM_RTX_CODE. + (mode_bitsize): Set array type to unsigned short. + (mode_size, mode_unit_size): Set array type to unsigned char. + (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size, + mode_wider_mode, mode_mask_array): Set array size to + NUM_MACHINE_MODES. + + * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array + size in declaration to NUM_RTX_CODE. + +2001-12-17 Richard Henderson + + * config/alpha/alpha.md (unop): Encode RB as $sp. + +2001-12-17 Neil Booth + + * Makefile.in: Update dependencies. + * c-lang.c: Remove unnecessary includes. + (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to + c-objc-common.c. + (finish_file): Move body to c_common_finish_file. + * c-objc-common.c: Include varray.h and ggc.h. + (deferred_fns, start_cdtor, finish_cdtor, defer_fn, + expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c. + (c_objc_common_init): Initialize deferred function array. + * c-tree.h (c_objc_common_finish_file, + static_ctors, static_dtors): New. +objc: + * Make-lang.in: Update dependencies. + * objc/objc-act.c: Don't include varray.h. + (defer_fn, deferred_fns): Move to c-objc-common.c. + (objc_init): Similarly for initialization of it. + (finish_file): Move some to c-objc-common.c, use + c_objc_common_finish_file. + +2001-12-17 Aldy Hernandez + + * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype. + +2001-12-17 Neil Booth + + * doc/cppinternals.texi: Update. + +Mon Dec 17 14:21:21 2001 Jeffrey A Law (law@redhat.com) + + * expmed.c (emit_store_flag): Extract updated comparison code + from the return value of compare_from_rtx. + * expr.c (do_store_flag): Similarly. + +2001-12-17 Nick Clifton + + * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in + preference to BASE_REG_CLASS. + * recog.c (preprocess_constraints): Ditto. + * regclass.c (record_operand_costs, scan_one_insn, regclass, + record_reg_classes, record_address_regs): Ditto. + * regrename.c (scan_rtx_address, scan_rtx, + replace_oldest_value_addr, replace_oldest_value_mem): Ditto. + * reload.c (find_reloads, find_reloads_address, + find_reloads_address_1): Ditto. + * reload1.c (maybe_fix_stack_asms): Ditto. + * defaults.h (MODE_BASE_REG_CLASS): Provide default + definition. + * doc/tm.texi: Document MODE_BASE_REG_CLASS. + + * config/arm/arm.h (MODE_BASE_REG_CLASS): Define. + +2001-12-17 Joseph S. Myers + + * doc/install.texi2html: Use -I $SOURCEDIR. + + Separate user and internals manuals. + * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update + dependencies. + ($(docdir)/gccint.info, gccint.dvi): New targets. + (maintainer-clean, install-info, uninstall): Update. + * doc/.cvsignore: Add gccint.info*. + * doc/include/gcc-common.texi: New file. + * doc/gcc.texi: Use it. Adjust to be a user-only manual. Put + copyright notice in a macro. Don't include ISBN unless FSFPRINT + is defined. + * doc/gccint.texi: New file. + * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi, + doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi: + Update for separate user and internals manuals. + +2001-12-17 Dale Johannesen + + * config/rs6000/rs6000.h: CPP_CPU_SPEC: add mcpu=7400. + ASM_CPU_SPEC: Ditto. + RTX_COSTS: Fix timing info for 7450 multiply. + * config/rs6000/rs6000.md: Fix timing info for 7450 imul. + Allow floats to be kept in int regs in movsf_low, + movsf_low_st (Darwin only) + +2001-12-17 Aldy Hernandez + + * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in + parallel. + (is_gpr_return_reg): New. + (rs6000_emit_prologue): Call generate_set_vrsave with additional + argument. Save only registers in the mask. Attach + REG_FRAME_RELATED_EXPR note to altivec offsets. Do not call + rs6000_frame_related when saving VRSAVE. + (rs6000_emit_epilogue): Call generate_set_vrsave with additional + argument. Restore only registers in the mask. Restore altivec + registers after we restore CR. + (generate_set_vrsave): New parameter epiloguep. Generate unspec + sets instead of clobbers for call saved registers. + (altivec_frame_fixup): New. + +2001-12-17 Richard Henderson + + * config/sparc/sparc.md (movdi_zero): Remove. + (movdi_insn_sp32_v9): New. + +2001-12-17 Richard Henderson + + * cfgcleanup.c (outgoing_edges_match): Check for insn match with + a single outgoing edge too. + +Mon Dec 17 18:27:52 CET 2001 Jan Hubicka + + * cfgrtl.c (redirect_edge_and_branch): Do simplify abnormal + edges resulting from computed jump + +Mon Dec 17 17:57:05 CET 2001 Jan Hubicka + + * Makefile.in (cfgcleanup.o): Add cselib.h dependancy. + * basic-block.h (CLEANUP_THREADING): New constant. + * cfgcleanup.c: Include cselib.h + (thread_jump, mark_effect): New functions. + (try_forward_edges): Do jump threading when asked for. + * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs, + modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill. + * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill. + * toplev.c (rest_of_compilation): Do now call thread_jumps; use + CLEANUP_THREAD instead. + +2001-12-17 Kaveh R. Ghazi + + * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change. + +2001-12-17 Tom Rix + + * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size + of bytes. + +2001-12-17 Richard Sandiford + + * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op, + asm_out.integer): New fields. + * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP, + TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers. + (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect + the individual initialisers together. + (TARGET_ASM_OUT): Add the new initialisers. + * output.h (assemble_integer): Return bool. + (integer_asm_op): Declare. + (default_assemble_integer): Declare. + (assemble_aligned_integer): New interface to assemble_integer. + * varasm.c (integer_asm_op): New function to select pseudo-op. + (default_assemble_integer): Default implementation of asm_out.integer. + (assemble_integer): Use the new target hook. Split objects into + words or bytes if the target hook fails. Return bool. + * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT, + ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT, + UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, + UNALIGNED_DOUBLE_INT_ASM_OP): Undocument. + Document new target hooks. + + * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op. + * dwarf2asm.c (unaligned_integer_asm_op): Remove. + (dw2_assemble_integer): New. + (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset, + dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx, + dw2_asm_output_encoded_addr_rtx): Use it. + (dw2_asm_output_nstring): Use assemble_integer for the null terminator. + (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use + integer_asm_op to get the byte pseudo-op. Use assemble_integer + if it returns NULL. + * dwarf2asm.h (dw2_assemble_integer): Declare. + * dwarfout.c: Include dwarf2asm.h. Use dwarf2 functions for the + default implementation of most macros. + (output_unsigned_leb128): Use dw2_asm_output_data. + (output_signed_leb128, dwarfout_source_line): Likewise. + (output_reg_number): Use dw2_assemble_integer. + (generate_macinfo_entry): Separate the type and offset arguments. + Use assemble_integer to write the value. + (dwarfout_start_source_file): Update generate_macinfo_entry usage. + (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise. + * final.c (output_addr_const): Don't put brackets round a subtracted + symbol value or ".". + * halfpic.c (half_pic_finish): Use assemble_aligned_integer. + + * config/1750a/1750a.c (assemble_integer_1750a): New, + * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT. + * config/arc/arc.c (arc_assemble_integer): New. + * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. + * config/arm/arm.c (arm_poke_function_name): Likewise. + (arm_assemble_integer): New, extracted from... + * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed. + (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT. + (ARM_FUNCTION_PROFILER): Likewise. + * config/avr/avr-protos.h (asm_output_byte): Remove. + (asm_output_char, asm_output_short): Remove. + * config/avr/avr.c (avr_assemble_integer): New. + (asm_output_byte, asm_output_char, asm_output_short): Remove. + * config/clipper/clipper.h (ASM_LONG): Remove. + * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove. + * config/dsp16xx/dsp16xx.c (asm_output_long): Remove. + * config/elxsi/elxsi.c (elxsi_assemble_integer): New. + * config/i370/i370.c (i370_hlasm_assemble_integer): New. + * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT. + (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete. + * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. + * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use + ASM_LONG instead of UNALIGNED_INT_ASM_OP. + * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise. + (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. + * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use + ASM_LONG instead of UNALIGNED_INT_ASM_OP. + * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG. + * config/i860/i860.c (i860_output_function_epilogue): Likewise. + * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. + (ASM_SHORT, ASM_LONG): Undefine. + * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. + * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise. + * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. + * config/ia64/ia64.c (ia64_assemble_integer): New. + * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op. + (ASM_OUTPUT_DWARF_PCREL): Likewise. + * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, + ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG. + (ASM_SHORT, ASM_LONG): Remove. + * config/m68k/m68k.h (INT_OP_GROUP): New macro. + (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New + macros, the allowed values for INT_OP_GROUP. + * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP + * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise + * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise + * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove. + (INT_OP_GROUP): Define to INT_OP_NO_DOT. + * config/m68k/dpx2.h (ASM_LONG): Undefine. + (INT_OP_GROUP): Define to INT_OP_DC. + * config/m68k/dpx2g.h (ASM_LONG): Undefine. + * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT. + * config/m68k/lynx.h (ASM_LONG): Undefine. + * config/m68k/dpx2g.h (ASM_LONG): Undefine. + * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. + * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise. + (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*. + * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD + for GAS and INT_OP_NO_DOT otherwise. + (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove. + (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, + ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG. + (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. + * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove. + (INT_OP_GROUP): Define to INT_OP_STANDARD. + (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, + ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP. + (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP. + * config/m68k/tower-as.h (ASM_LONG): Remove. + (INT_OP_GROUP): Define to INT_OP_NO_DOT. + * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG. + * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. + (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG. + * config/mips/iris5.h (TARGET_IRIX5): Define. + * config/mips/mips.c (mips_assemble_integer): New. + * config/mips/sni-svr4.h (ASM_LONG): Undefine. + * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove. + * config/mmix/mmix.c (mmix_assemble_integer): New. + (mmix_asm_output_double_int): Remove. + (mmix_print_operand): Call mmix_output_octa directly. + * config/mmix/mmix.h (ASM_LONG): Remove. + * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT. + * config/pa/pa.c (pa_assemble_integer): New. + (pa_override_options): Only use aligned DI ops on 64-bit targets. + Only use the unaligned ops if TARGET_GAS. + * config/pdp11/pdp11.c (pdp11_assemble_integer): New. + * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT. + * config/pj/pj.h (ASM_LONG): Undefine. + * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine. + * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly + extracted from ASM_OUTPUT_INT in sysv4.h. Use in_text_section() + and in_toc_section() rather than the in_section variable. + (rs6000_override_options): Only use DI ops when TARGET_POWERPC64. + * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section(). + (RELOCATABLE_NEEDS_FIXUP): Define. + * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab. + * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove. + (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op + to get the word directive. + (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP. + * config/s390/s390.c (s390_assemble_integer): New. + * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use + integer_asm_op to get the word directive. + * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove. + * config/sparc/sparc-protos.h (output_double_int): Remove. + * config/sparc/sparc.c (output_double_int): Move to... + (sparc_assemble_integer): ...this new function. + (sparc_override_options): Only use .uaxword if TARGET_ARCH64. + * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove. + * config/sparc/sysv4.h (ASM_LONG): Remove. + (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid + ASM_LONG. + * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer. + * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise. + + * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c, + config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c, + config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c, + config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c, + config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c, + config/i386/i386.c, config/i860/i860.c, config/i960/i960.c, + config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c, + config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c, + config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c, + config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c, + config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c, + config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c + (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP, + TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP, + TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP, + TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as + appropriate. + + * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h, + config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h, + config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h, + config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h, + config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h, + config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h, + config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h, + config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h, + config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h, + config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h, + config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h, + config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h, + config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h, + config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h, + config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h + config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h, + config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h, + config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h, + config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h, + config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h, + config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h, + config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h, + config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP, + ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, + UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, + UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined. + +2001-12-17 Stan Shebs + + * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define. + (STACK_BOUNDARY): Remove definition. + (CPP_PREDEFINES): Define __POWERPC__. + +2001-12-17 Gerald Pfeifer + + * doc/c-tree.texi (Trees): Only refer to GCC. + +2001-12-17 Andreas Jaeger + + * c-common.def: Fix typo in comment. + +2001-12-16 David O'Brien + + * config.gcc (sparc64-*-freebsd*): Add target. + * config/sparc/freebsd.h: New file. + * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define. + * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define. + * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining. + +2001-12-16 Aldy Hernandez + + * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both + PLUS operands into registers for altivec mode. + +2001-12-16 Aldy Hernandez + + * builtins.c (apply_args_size): Change regno to unsigned. + +2001-12-16 Aldy Hernandez + + * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change + ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG. + +2001-12-16 Zack Weinberg + + * c-typeck.c (error_init, pedwarn_init, warning_init): Call + gettext on argument before printing. + + * fold-const.c (negate_expr): Always call fold on new + NEGATE_EXPR. + +2001-12-17 Joseph S. Myers + + * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not + a DECL directly. + * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New. + (COMPOUND_LITERAL_EXPR_DECL): Adjust definition. + * c-decl.c (build_compound_literal): Put the decl inside a + DECL_STMT. + * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation. + Fixes PR c/5105. + +2001-12-16 Aldy Hernandez + + * config.gcc: Add powerpc-*-eabisimaltivec*. + +2001-12-16 Neil Booth + + * c-common.c, c-common.h (back_end_hook): Remove. + * c-lang.c (finish_file): Remove back_end_hook. + +Sun Dec 16 13:13:01 2001 Richard Kenner + + * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in + last change. + +2001-12-16 Richard Henderson + + * toplev.c (parse_options_and_default_flags): Don't enable + flag_cprop_registers at -O1. + +2001-12-16 Kaveh R. Ghazi + + * avr.c (avr_simplify_comparision_p, adjust_insn_length, + mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix. + * avr.h (reg_class): Likewise. + * avr.md: Likewise. + * mcore.c (try_constant_tricks, mcore_byte_offset, + mcore_halfword_offset): Likewise. + * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise. + * v850.c (not_power_of_two_operand): Likewise. + + * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned + warnings. + * convex.h (ASM_OUTPUT_ASCII): Likewise. + * i370.h (ASM_OUTPUT_ASCII): Likewise. + * i386/att.h (ASM_OUTPUT_ASCII): Likewise. + * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise. + * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise. + * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise. + * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise. + * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise. + * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise. + * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise. + * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise. + * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise. + * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise. + * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise. + * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise. + * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise. + * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise. + * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise. + + * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings. + * interix.h (TARGET_MEM_FUNCTIONS): Likewise. + * psos.h (CPP_PREDEFINES): Likewise. + * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise. + * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC, + ASM_OUTPUT_EXTERNAL): Likewise. + * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO): + Likewise. + * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise. + * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO): + Likewise. + * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise. + + * c-lex.c (lex_number): Use ISXDIGIT/hex_value. + * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER. + * fold-const.c (real_hex_to_f): Use hex_value. + * real.c (asctoeg): Use hex_value & ISXDIGIT. + * toplev.c (toplev_main): Call hex_init. + * tradcpp.c (main): Call hex_init. + + * nextstep-protos.h: New file. + * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h". + * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and + STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause. + (nextstep_asm_out_constructor, nextstep_asm_out_destructor, + handle_pragma): Move prototypes to nextstep-protos.h. + * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*, + m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file. + +2001-12-16 Craig Rodrigues + + PR other/3725 + * configure.in: Add AC_SUBST(target_alias). + * configure: Regenerated. + +2001-12-15 Richard Henderson + + * config/alpha/alpha.md (sibcall_osf_1_er): New. + (sibcall_value_osf_1_er): New. + +2001-12-15 Dan Nicolaescu + + * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from + addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not + addrs; eliminate restriction of only using fp and sp as base + registers. + * config/sparc/sparc-protos.h: Update. + * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64. + (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived + from old define_peepholes. + Convert all the ldd/std peepholes to peephole2. + +2001-12-15 Ulrich Weigand + + * s390.md (prologue, epilogue, *return_si, *return_di): New. + s390.c (find_unused_clobbered_reg, s390_frame_info, + save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New. + s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare. + s390.c (s390_arg_frame_offset): Use s390_frame_info. + (leaf_function_flag, cur_is_leaf_function, + save_fprs, restore_fprs, force_const_mem_late): Remove. + (s390_function_prologue, s390_function_epilogue): Mostly remove. + s390.md (lit): New. Uses ... + s390.c (s390_output_constant_pool): ... this, so adapt and make global. + s390-protos.h (s390_output_constant_pool): Declare. + s390.md (load_multiple, store_multiple): Allow use after reload. + s390.c (load_multiple_operation, store_multiple_operation): Likewise. + s390.h (INCOMING_FRAME_SP_OFFSET): Define. + s390.h (CALL_REALLY_USED_REGISTERS): Define. + config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ... + s390.h (CONDITIONAL_REGISTER_USAGE): ... here. + s390.c (s390_sr_alias_set): New global variable, initialized ... + (override_options): ... here. New. + s390-protos.h (override_options): Declare. + s390.h (OVERRIDE_OPTIONS): Call it. + s390.c (s390_function_profiler): New. + s390-protos.h (s390_function_profiler): Declare. + s390.h (FUNCTION_PROFILER): Call it. + s390.c (s390_profile): Remove. + + * s390.c (reg_used_in_mem_p): PC reload counts as memory access. + (addr_generation_dependency_p): Consider literal pool register loads. + (s390_adjust_priority): Do not schedule load_multiple. + s390.md (attribute "type"): Define some additional types. + (function_unit "integer"): Adapt. + (many insns): Adapt "type" attribute setting. + + * s390.c (general_s_operand, s_imm_operand): New. + (s_operand): Remove old definition, call general_s_operand instead. + s390-protos.h (s_imm_operand): Declare. + s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand, + r_or_x_or_im16_operand, r_or_im8_operand): Remove. + s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand, + r_or_x_or_im16_operand, r_or_im8_operand): Likewise. + s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand. + s390.md (many insns): Rework insn predicates. + + * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all + non-symbolic constants. Reload will force them because of ... + (s390_preferred_reload_class): ... this. New. + s390-protos.h (s390_preferred_reload_class): Declare. + s390.h (PREFERRED_RELOAD_CLASS): Call it. + s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters, + *reload_la_31 splitters): Handle constants after reload. + (many insns): no longer force all constants immediately. + s390.c (legitimate_reload_constant_p): New helper routine. + s390-protos.h (legitimate_reload_constant_p): Declare. + s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case. + + * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM, + HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer. + (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update. + (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise. + (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise. + (DWARF_FRAME_REGISTERS): Define. + s390.c (regclass_map): Add virtual frame pointer. + (legitimate_la_operand_p): Allow use of virtual frame pointer. + s390.md (*la_ccclobber, *addaddr_ccclobber): New. + (addaddr, addsi_64): Delete. + + * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in + floating point registers. + (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define. + (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes. + (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update. + + * s390.md (movti): Replace multi-insn output with splitters. + (movdi_31, movdf_31): Likewise. + (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New. + (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New. + (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt. + (movdf_soft_64, movdf_soft_31, movsf_soft): Remove. + (movsf_64, movsf_31): Remove, replace by ... + (movsf): ... this. + (movqi_64): Use lhi instead of llill. + (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)). + + * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2, + extendqidi2, extendhisi2, *extendhisi2, extendqisi2, + extendqihi2 and associated splitters): Reworked. + (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2, + zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2, + zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2, + *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2, + *zero_extendqisi2_64, *zero_extendqisi2_mem_31, + zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64, + zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31, + and associated splitters): Likewise. + (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31 + and associated splitters): New. + (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2, + *truncsihi2_64, truncsiqi2, trunchiqi2): Remove. + (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove. + s390.h (PROMOTE_PROTOTYPES): Remove. + config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise. + + * s390.md (muldi3): Delete, use instead ... + (mulsidi3): ... this. + (*muldi3_64): Rename to muldi3. + (mulsi_6432): Fix template. + (divdi3, moddi3): Delete, replace by ... + (divmoddi4): ... this. + (divmodtidi3): Fix template. + (divmodtisi3): New. + (udivdi3, umoddi3): Delete, replace by ... + (udivmoddi4): ... this. + (udivmodtidi3): Fix template. + (divsi3, modsi3): Delete, replace by ... + (divmodsi4): ... this. + (divmoddisi3): Fix template. + (udivsi3, umodsi3): Adapt. + + * s390.md (anddi3): Remove SS alternative, use instead ... + (anddi3_ss, anddi3_ss_inv): ... these. + (anddi3_ni): New. + (andsi3*, andhi3*, andqi3*): Likewise. + (iordi3): Remove SS alternative, use instead ... + (iordi3_ss, iordi3_ss_inv): ... these. + (iordi3_oi): New. + (iorsi3*, iorhi3*, iorqi3*): Likewise. + (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New. + (xordi3): Remove SS alternative, use instead ... + (xordi3_ss, xordi3_ss_inv): ... these. + (xordi3_oi): New. + (xorsi3*, xorhi3*, xorqi3*): Likewise. + (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New. + (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2): + Expand to XOR with -1. + (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove. + (cmpdi_tm): Delete, replace by ... + (cmpdi_tm_reg, cmpdi_tm_mem): ... these. + (cmpsi_cct): Delete, replace by ... + (cmpsi_tm_reg, cmpsi_tm_mem): ... these. + (cmpdi_tm2, cmpsi_tm2): Improve. + (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New. + s390.c (s390_single_hi, s390_extract_hi, + s390_single_qi, s390_extract_qi): New helper routines. + s390-protos.h (s390_single_hi, s390_extract_hi, + s390_single_qi, s390_extract_qi): Declare. + s390.c (tmxx_operand, const1_operand): Remove. + s390-protos.h (tmxx_operand, const1_operand): Likewise. + s390.h (PREDICATE_CODES): Likewise. + + * s390.md (sqrtdf2, sqrtsf2): New. + + * s390.h (CRT_CALL_STATIC_FUNCTION): Define. + (check_and_change_labels): Remove section-change special case. + + * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address + in leaf functions. Needs ... + (DYNAMIC_CHAIN_RTX): ... this. New. + + * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos. + + * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31, + clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber + input operands using a match_dup clause. + (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt. + + * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee, + floatsisf2, floatsisf2_ieee): Add missing CC clobber. + + * s390.md (floatsidf2_ibm): Use correct operand. + + * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2, + fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of + non-portable constants. + s390.c (s390_gen_rtx_const_DI): New helper routine. + s390-protos.h (s390_gen_rtx_const_DI): Declare. + + * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment. + + * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR, + ASM_OUTPUT_BYTE): Clean up assembly output. + (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions. + (ASM_OUTPUT_ASCII): Remove. + + * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define. + +2001-12-15 Zack Weinberg + + * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself + before including unwind-dw2-fde.c, if we are not using the + special code in this file. + +2001-12-15 Richard Henderson + + * config/alpha/alpha.h (TARGET_SWITCHES): Turn on + MASK_EXPLICIT_RELOCS if the assembler supports it. + * configure.in (HAVE_AS_EXPLICIT_RELOCS): New. + * configure, config.in: Rebuild. + +Sat Dec 15 17:53:03 2001 Richard Kenner + + * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted + for rounded_stack_size. + +2001-12-15 Joseph S. Myers + + * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h, + config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c, + toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and + "bit-field" spellings in messages. + * po/gcc.pot: Regenerate. + +2001-12-15 Joseph S. Myers + + * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use + American spelling in messages. + * po/gcc.pot: Regenerate. + +2001-12-15 Kazu Hirata + + * config/h8300/h8300.md: Adjust whitespacing. Remove + constraints from expanders. Replace \@ with @. + +2001-12-15 Richard Earnshaw + + * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default. + +2001-12-15 Ulrich Weigand + + * regrename.c (copyprop_hardreg_forward): Do not keep register + value data live across abnormal call or eh egdes. + +Sat Dec 15 08:29:45 2001 Richard Kenner + + * expr.c (highest_pow2_factor, case INTEGER_CST): Return + BIGGEST_ALIGNMENT for 0. + +Sat Dec 15 14:13:03 CET 2001 Jan Hubicka + + * predict.def (PRED_NORETURN): Make probabilities match reality. + (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN): + Likewise. + +2001-12-15 Jakub Jelinek + + * configure.in: Check for ld. + (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option. + * configure, config.in: Rebuilt. + * config.gcc: Add crtbeginT.o to extra_parts where needed. + * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc + frame unwinding on Linux. + * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde + frame unwinding. + * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static. + (LINK_EH_SPEC): Define. + * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static. + * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define. + * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't + iterate further if pc falls into current library, but fde was not + found. + * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static + if using glibc. + (LINK_EH_SPEC): Define. + * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64): + Use crtbeginT.o for -static. + (LINK_EH_SPEC): Define. + * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o. + * Makefile.in (crtbeginT.o): Add rule. + * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh. + If neither -static-libgcc nor -shared-libgcc is passed and -shared, + use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not. + If none of the above switches are passed, use -lgcc -lgcc_eh. + (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec. + * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if + creating libgcc_s.so, put them into separate libgcc_eh.a instead. + * unwind-dw2-fde.c: Don't include any headers if this file + is included from other .c file. + * unwind-dw2-fde-glibc.c: New file. + * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define. + Use it instead of EH_FRAME_SECTION_NAME where appropriate. + +2001-12-14 Kaveh R. Ghazi + + * builtins.c (expand_builtin_memcmp): Mark parameter with + ATTRIBUTE_UNUSED. + * cfgcleanup.c (insns_match_p): Likewise. + * regrename.c (mode_change_ok): Likewise. + * gcc.c (execute): Const-ify. + +2001-12-14 Aldy Hernandez + + * c-parse.in (typename): Do not split attributes. + Remove unsupported attributes warning. + + * c-decl.c (groktypename): Apply attributes. + +2001-12-14 Richard Henderson + + * config/ia64/ia64.c (spill_restore_mem): Mark iterator + initialization as possibly dead. + +2001-12-14 Richard Henderson + + * regrename.c (mode_change_ok): New. + (find_oldest_value_reg): Use it. + +2001-12-14 Richard Henderson + + * regrename.c (struct value_data): Add max_value_regs. + (init_value_data): Initialize it. + (kill_value): Kill values that overlap the dying register. + (set_value_regno): New. + (kill_set_value, kill_autoinc_value, copy_value): Use it. + (copyprop_hardreg_forward_1): Kill earlyclobber operands + before looking at inputs. + +2001-12-14 David Edelsohn + + * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle + DECL_WEAK for function descriptors. + * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler + weak support present. + (ASM_WEAKEN_LABEL): Same. + +2001-12-14 Kazu Hirata + + * config/h8300/h8300.md (anonymous pattern): Add a missing + mode. + +2001-12-14 Kazu Hirata + + * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a + comment typo. + +2001-12-14 Kazu Hirata + + * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute): + Remove the initialization requierment. + (h8300_handle_tiny_data_attribute): Likewise. + +2001-12-14 Kazu Hirata + + * config/h8300/h8300.md (udivqi3): Remove. + (divqi3): Likewise. + (udivhi3): Likewise. + (divhi3): Likewise. + (umodqi3): Likewise. + (modqi3): Likewise. + (umodhi3): Likewise. + (modhi3): Likewise. + (udivmodqi3): New. + (divmodqi3): Likewise. + (udivmodhi3): Likewise. + (divmodhi3): Likewise. + +Sat Dec 15 01:39:12 CET 2001 Jan Hubicka + + * cfgcleanup.c (flow_find_cross_jump): Replace tests for note + by active_insn_p; count conditional jump as instruction. + +2001-12-14 DJ Delorie + Danny Smith + + * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*' + at SYM_NAME[0] or SYM_NAME[3]. + (STRIP_NAME_ENCODING): Don't check for leading '*'. + +2001-12-14 Ira Ruben + + Add -### option (displays driver-generated commands without + executing and quotes all arguments). + * doc/invoke.texi: Add -###. + * gcc.c (verbose_only_flag) - New flag. + * (execute): If -### write quoted arguments and return. + * (display_help): Print meaning of -###. + * (process_command): Handle -###. + +2001-12-14 Ira Ruben + + Fix to no allow -save-temps to clobber user's source file. + * gcc.c: Add static globals input_stat and input_stat_set. + (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag + set, check that user's input file is not overwritten. + (set_input): Reset input_stat_set for each new file. + +Fri Dec 14 22:14:44 CET 2001 Jan Hubicka + + * predict.c (estimate_probability): Fix LOOP_EXIT heuristic. + +2001-12-14 Zack Weinberg + + * combine.c (record_dead_and_set_regs): Use + regs_invalidated_by_call. Don't note stores for CALL_INSNs. + +2001-12-14 Roger Sayle + + * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and + __builtin_fsqrt to __builtin_sqrt. + + * builtins.c (expand_builtin_mathfn,expand_builtin): Same. + * doc/extend.texi: Simplify documentation to match patch. + +Fri Dec 14 21:23:54 CET 2001 Jan Hubicka + + * config.gcc: Revamp target_cpu_default2 to strings; + support new x86 variants. + * i386.c (override_options): Default x86_cpu_string and x86_arch_string + properly; set prefetch_sse. + * i386.h (x86_prefetch_sse): Declare. + (TARGET_PREFETCH_SSE): New. + (CPP_CPU_DEFAULT_SPEC): Define according to the new macros. + (TARGET_CPU_DEFAULT_*): New. + +Thu Dec 13 21:57:13 CET 2001 Janis Johnson + Jan Hubicka + + * config/i386/i386.h (struct processor_costs): Add new members + prefetch_block and simultaneous_prefetches. + (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New. + * config/i386/i386.c (processor_costs structs): Add values for + prefetch_block and simultaneous_prefetches. + * config/i386/i386.md (unspec values): Remove values for prefetch + operations, which now use the PREFETCH rtx code. + (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new + unified prefetch support. + +2001-12-14 Jason Merrill + + * diagnostic.c (sorry): Increment sorrycount before saving the + buffer state. + +Fri Dec 14 19:53:23 CET 2001 Jan Hubicka + + * i386.md (sqrt?f): Fix conditionals. + +Fri Dec 14 07:29:52 2001 Douglas B. Rupp + + * config.gcc (alpha64-dec-*vms*): New case. + * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files. + * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise. + * config/alpha/xm-vms64.h: Likewise. + + * config/alpha/alpha.c (vms_attribute_table): Add new attributes. + (alpha_write_linkage): Test for null alpha_links. + (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes. + (vms_section_type_flags, vms_asm_named_section): Handle them. + +Fri Dec 14 12:05:14 CET 2001 Jan Hubicka + + * i386.c (ix86_fpmath, ix86_fpmath_string): New. + (override_option): Set ix86_fpmath. + * i386.h (MASK_MIX_SSE_I387): Remove. + (TARGET_SSE_MATH): New. + (TARGET_MIX_SSE_I387): Use ix86_fpmath. + (TARGET_SWITCHES): Remove "mix-sse-i387". + (fpmath_unit): New enum. + (ix86_fpmath, ix86_fpmath_string): Declare. + * i386.md (swapsf): Fix condition. + (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH. + (fp_?f_*_nosse): New. + (fp_*): Use TARGET_SSE_MATH. + * invoke.texi (-mfpmath): Document. + (-msse2): Add. + +2001-12-14 Jason Merrill + + * dwarf2out.c (output_die): Print the string in the comment for + a DW_FORM_strp. + +2001-12-14 Richard Earnshaw + + * netbsd.h (COLLECT_SHARED_INIT_FUNC) + (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon. + * doc/tm.texi (COLLECT_SHARED_INIT_FUNC) + (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate. + +2001-12-13 Richard Henderson + + * regrename.c (kill_value_regno): Simplify chain removal. + (kill_value): Kill all of HARD_REGNO_NREGS. + (kill_set_value): Use kill_value not kill_value_regno. + (kill_autoinc_value): Likewise. + (copyprop_hardreg_forward): Don't collect refresh_blocks. + Call delete_noop_moves. + +2001-12-13 Aldy Hernandez + + * attribs.c (c_common_attribute_table): Swap decl_req and type_req + for the mode attribute. + (handle_mode_attribute): Handle types, not decls. + +2001-12-13 Jason Merrill + + * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro. + +2001-12-13 Aldy Hernandez + + * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch + constraint to base register. + (eh_set_lr_si): Same. + +2001-12-13 Hans-Peter Nilsson + + * expr.c (expand_expr, case ADDR_EXPR): Don't honor + flag_force_addr for modifier != EXPAND_CONST_ADDRESS, + modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM. + +Thu Dec 13 20:30:08 2001 Richard Kenner + + * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate + warning and reformat comments. + (expand_assignment): Don't pass EXPAND_WRITE if LHS is component. + (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT + if overflow. + +2001-12-12 Aldy Hernandez + + * config/rs6000/rs6000.c (rs6000_override_options): Add + SUBSUBTARGET_OVERRIDE_OPTIONS. + + * config/rs6000/eabialtivec.h: New file. + + * config/rs6000/linuxaltivec.h: New file. + + * config.gcc: Add powerpc-*-eabialtivec and + powerpc-*-linux-gnualtivec. + +2001-12-13 Neil Booth + + * toplev.c (process_options, parse_options_and_default_flags): + Set flag_no_inline before the post_options hook. + +2001-12-13 Richard Henderson + + * emit-rtl.c (adjust_address_1): Don't adjust address if adjust + is false. + +2001-12-13 Richard Earnshaw + + * collect2.c (COLLECT_SHARED_INIT_FUNC) + (COLLECT_SHARD_FINI_FUNC): Define default values. + (write_c_file_stat): Use them to call construtor and destructor + functions in shared libraries. + * doc/tm.texi (COLLECT_SHARED_INIT_FUNC) + (COLLECT_SHARD_FINI_FUNC): Document them. + * config/netbsd.h (COLLECT_SHARED_INIT_FUNC) + (COLLECT_SHARD_FINI_FUNC): Define. + + * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a + shared library. Pass -shared through to the linker. + * config/arm/netbsd.h (LINK_SPEC): Likewise. + + * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic. + (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK) + (SHLIB_INSTALL): Define. + +2001-12-13 Richard Earnshaw + + * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially + the same way as we handle SYMBOL_REFS. + +Thu Dec 13 07:47:24 2001 Richard Kenner + + * loop.c (remove_constant_addition): Fix prototype and whitespace. + (emit_prefetch_instructions): Remove warnings and whitespace + changes. + +Thu Dec 13 06:48:38 2001 Douglas B. Rupp + + * config/alpha/vms-cc.c (preprocess_args): Fix forward + declaration. + +Thu Dec 13 12:31:07 CET 2001 Jan Hubicka + + * predict.c (estimate_probability): Reorganize opcode heuristics. + * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, + PRED_FPOPCODE): New. + + * i386.c (override_options): Recognize various CPU variants and set + SSE/MMX/3dNOW flags accordingly. + * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, + MASK_3DNOW_A_SET): New. + (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New. + (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete. + (MASK_*): Renumber. + (TARGET_FLAGS): Use new masks. + (CPP_CPU_SPECS): Recognize new CPU variants. + * invoke.texi (-mcpu): Update documentation. + + * flags.h (flag_prefetch_loop_arrays): Declare. + * loop.h (LOOP_PREFETCH): Define new constant. + * loop.c (strength_reduce): Call emit_prefetch_instructions. + (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX, + PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New + constants. + (check_store_data): New structure. + (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p): + New functions. + * toplev.c: Include insn-flags.h. + (flag_prefetch_loop_arrays): New global variable. + (lang_independent_option): Add -fprefetch-loop-arrays. + (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays + is set. + * Makefile.in (toplev.c): Depend on insn-flags.h. + * invoke.texi (-fprefetch-loop-arrays): Document. + + * predict.c (estimate_probability): Distribute the loop exit + probability according to number of exit edges. + + * cfgcleanup.c (insns_match_p): Break out from ...; + (flow_find_cross_jump): ... here; + (outgoing_edges_match): Add parameter MODE; attempt to match everything + except for tablejumps. + (try_crossjump_to_edge): Accept complex edges. + (try_crossjump_bb): Likewise. + +2001-11-29 Corey Minyard + + * recog.c (validate_replace_rtx_1): Use simplify_gen_binary + instead of plus_constant. + * simplify-rtx.c (neg_const_int): New. + (simplify_gen_binary, simplify_plus_minus): Use it. + +2001-12-12 Roger Sayle + + * builtins.c (expand_builtin_memset, expand_builtin_memcpy, + expand_builtin_strcpy): Additional arguments TARGET and MODE. + (expand_builtin_bzero, expand_builtin_strcpy, + expand_builtin_strncpy, expand_builtin_bzero): Pass additional + TARGET and MODE parameters to the above functions. + (expand_builtin_memset, expand_builtin_memcpy): Optimize the + case where the LEN parameter is constant zero. + (expand_builtin_memcmp): No longer conditional on + HAVE_cmpstrsi. Take an additional mode parameter. Optimize + the cases where len is either constant zero or one. + Optimize to call to memcpy, even if the memcpy isn't inlined. + (expand_builtin_strncpy): Optimize to call memcpy, even if the + memcpy isn't inlined. + (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt + to optimize to a call to memcmp. + (expand_builtin): expand_builtin_memcmp can always be called, + and pass the required parameters to expand_builtin_memcmp, + expand_builtin_memset, expand_builtin_memcpy and + expand_builtin_strcpy. + +2001-12-12 David O'Brien + + * config.gcc (arm-*-freebsd*): Add target. + * config/arm/freebsd.h: New file. + * config/arm/arm.h (CPP_PREDEFINES): Do not define. + (CPP_SPEC): #undef before defining. + (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm. + * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm + -Amachine=arm. + * config/arm/linux-elf.h: Likewise. + * config/arm/netbsd.h: Likewise. + * config/arm/riscix.h: Likewise. + * config/arm/riscix1-1.h: Likewise. + * config/arm/semiaof.h: Likewise. + +2001-12-12 Richard Henderson + + * regrename.c (copyprop_hardreg_forward): New optimization. + (kill_value_regno, kill_value, init_value_data, kill_clobbered_value, + kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg, + replace_oldest_value_reg, replace_oldest_value_addr, + replace_oldest_value_mem, copyprop_hardreg_forward_1, + debug_value_data, validate_value_data): New. + * rtl.h (copyprop_hardreg_forward): Declare. + * toplev.c (flag_cprop_registers): New. + (f_options): Add -fcprop-registers + (rest_of_compilation): Invoke it. + (parse_options_and_default_flags): Set it at -O1. + * doc/invoke.texi: Document it. + +2001-12-12 Jakub Jelinek + + * dwarf2out.c (dw_val_class): Add dw_val_class_range_list. + (DEBUG_RANGES_SECTION_LABEL): Define. + (ranges_section_label): Add. + (add_AT_range_list): New. + (print_die, sizeof_die, value_format): Handle dw_val_class_range_list. + (output_loc_list): Location expression length is always 2-byte. + (output_die): Handle dw_val_class_range_list. + (gen_lexical_block_die): Call add_AT_range_list. + (dwarf2out_init): Initialize ranges_section_label. + (dwarf2out_finish): Emit ranges_section_label. + +2001-12-12 Jakub Jelinek + + * c-typeck.c (digest_init): Allow initializing + static storage duration objects with compound literals. + * doc/extend.texi (Compound literals): Document the extension. + +2001-12-12 Richard Henderson + + * emit-rtl.c (adjust_address_1): Always copy address to avoid + shared rtl. + +Wed Dec 12 07:37:52 2001 Olivier Hainque + + * stmt.c (expand_end_case): Do subtraction of lower bound as trees + to avoid overflow. + +Wed Dec 12 07:35:24 2001 Douglas B. Rupp + + * cppfiles.c (read_include_file): Set buffer size properly when + file is shorter than expected. + +Wed Dec 12 08:35:33 2001 Nicola Pero + + * objc/objc-act.c (encode_complete_bitfield): Fixed encoding + enumeral types - encode them using 'i'. + +2001-12-12 Nathan Sidwell + + * doc/extend.texi (Deprecated Features): Deprecate implicit + typename. Document that named return and initializer lists are now + removed. + +2001-12-11 Roger Sayle + + * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid + compiler warning about enumeration values not being handled. + +2001-12-11 Momchil Velikov + + * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long + shifts. + +2001-12-11 Richard Henderson + + * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New. + * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New. + * config/alpha/alpha.md (prefetch): New. + +2001-12-11 Richard Henderson + + * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C) + if C has only low bits set and doesn't intersect with X or Y. + +Tue Dec 11 23:58:39 EST 2001 John Wehle (john@feith.com) + + * basic-block.h (flow_preorder_transversal_compute): Declare. + * cfganal.c (flow_preorder_transversal_compute): Implement. + +Tue Dec 11 23:54:27 EST 2001 John Wehle (john@feith.com) + + * cfganal.c (flow_depth_first_order_compute): Always + increment dfsnum. + +2001-11-30 Alan Matsuoka + + * combine.c (combine_simplify_rtx) : Can't simplify + cases that use mode class MODE_CC. + +2001-12-11 Richard Henderson + + * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in + which there is no divide expander. + +2001-12-11 Richard Henderson + + * except.c (sjlj_find_directly_reachable_regions): Don't + consider RNL_BLOCKED a directly reachable region. + (sjlj_assign_call_site_values): Trust directly_reachable. + (sjlj_emit_dispatch_table): Likewise. + +2001-12-11 Richard Henderson + + * config/alpha/alpha.md (divmodsi_internal_er): Split, so that + we represent the address load's dependency on the gp. + (divmoddi_internal_er): Likewise. + (divmodsi_internal_er_1, divmoddi_internal_er_1): New. + +2001-12-11 Richard Henderson + + * emit-rtl.c (widen_memory_access): New. + * expr.h (widen_memory_access): Declare it. + * config/alpha/alpha.c (get_aligned_mem): Use it. + +2001-12-11 Richard Henderson + + * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED + simplification above out of range check. + +2001-12-11 Dan Nicolaescu + + * config/sparc/sparc.md (prefetch): New. + +2001-12-11 Aldy Hernandez + + * output.h (regno_uninitialized): Make argument unsigned. + + * flow.c (regno_uninitialized): Make regno unsigned. + +2001-12-11 David O'Brien + + * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define. + * config/cris/cris.h (ENDFILE_SPEC): Define. + * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define. + * config/pa/elf.h: Likewise. + +2001-12-11 Richard Henderson + + * objc/objc-act.c (build_string_class_template): New. + (build_objc_string_object): Call it. + +2001-12-11 Steve Ellcey + + * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. + * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New. + * calls.c (store_unaligned_arguments_into_pseudos): Check + FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures + are passed/returned. + * expr.c (move_block_from_reg): Ditto. + (move_block_from_reg): Ditto. + (copy_blkmode_from_reg): Ditto. + * stmt.c (expand_return): Ditto. + * stor-layout.c (compute_record_mode): If + FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check + MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode. + * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true + so that Structures of one field are still treated as structures. + (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true. + (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding(). + (PAD_VARARGS_DOWN): Modify from default to not pad structures down. + * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New. + * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function + to special case handling of structure padding. + +2001-12-11 Daniel Berlin + + * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P. + (may_trap_exp): Stores only are risk if they trap, too, not just + if code == MEM. + +2001-12-11 Aldy Hernandez + + * flow.c (find_regno_partial): Indent properly. Add a default to + switch. + +2001-12-11 Neil Booth + + * c-common.c (combine_strings): Complain if concatenating + __FUNCTION__. + * c-parse.in (yylexname): Flag artificial strings. + * tree.h (TREE_ARTIFICIAL_STRING_P): New. +doc: + * extend.texi: Update. + +2001-12-11 Aldy Hernandez + + * c-common.c (type_for_mode): Handle unsigned vectors. + (type_for_mode): Remove redundant calls to TYPE_MODE. + + * tree.c (make_vector): New. + (build_common_tree_nodes_2): Use make_vector for vector types. + Add unsigned vector types. + + * tree.h (tree_index): Add unsigned types for vectors. + (unsigned_V16QI_type_node): New. + (unsigned_V4SI_type_node): New. + (unsigned_V8QI_type_node): New. + (unsigned_V8HI_type_node): New. + (unsigned_V4HI_type_node): New. + (unsigned_V2SI_type_node): New. + +2001-12-11 Stan Shebs + + * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a + test of class names. + +2001-12-11 David O'Brien + + * config.gcc (m68020-*-elf*): Expand tm_file to include all needed + cpu configuration headers. + * config/h8300/elf.h: Include dbxelf.h. + * config/m68k/linux.h: Likewise. + * config/m68k/m68020-elf.h: Likewise. + * config/m68k/m68kv4.h: Likewise. + * config/sh/elf.h: Likewise. + * config/m68k/m68kemb.h: Add comment about the its purpose. + +2001-12-11 Richard Henderson + + * objc/objc-act.c (build_constructor): Cast initializer values + to the proper field types. + +2001-12-11 Jakub Jelinek + + * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling. + +2001-12-10 Roger Sayle + + * builtins.c (expand_builtin): Use a switch statement to list + those functions not expanded without optimizations, instead of a + series of equality tests. + +Tue Dec 11 07:08:57 2001 Douglas B. Rupp + + * config/alpha/vms.h (LIB_SPEC): Define. + * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field. + + * libgcc2.c (_bb): Remove ctime declaration. + + * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner + that works if LN_S = cp. + + * config/alpha/x-vms (version): Change "." to "_". + + * configure.in: Hardcode that vfork works on VMS host. + * configure: Regenerated. + +Mon Dec 10 18:37:31 2001 Douglas B. Rupp + + * gcc.c (convert_filename): Add do_obj parameter. Don't convert + unless do_obj true. + (process_command): Modify calls to convert_filename. + +2001-12-11 Rainer Orth + + * config/sparc/sol2-sld-64.h: Include dbxelf.h again. + +Mon Dec 10 15:54:27 2001 Jeffrey A Law (law@cygnus.com) + + * combine.c (known_cond): Check mode of each operand to determine + if COND is comparing floating point values. + +2001-12-10 David Edelsohn + + * rs6000.h (processor_type): Add PPC405. + (RTX_COSTS): Add PPC405. Correct rs64 and ppc630 multiply costs. + * rs6000.md: Add PPC405 information. Utilize imul2 and imul3 for + rios1, rs64, and ppc630 processors. + * rs6000.c (processor_target_table): Add PPC405. + +2001-12-10 Richard Henderson + + * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart + instead of hardcoding subregs into the _be and _le patterns. + +2001-12-10 Neil Booth + + * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes. + +Mon Dec 10 09:19:11 2001 Richard Kenner + + * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match + what insn does. + +2001-12-10 Joseph S. Myers + + * doc/cpp.texi: Don't condition menus on @ifinfo. Condition the + copyright notice formerly conditioned on @ifinfo on @ifnottex + instead. + +Mon Dec 10 06:15:44 2001 Richard Kenner + + * vmsdbgout.c (lookup_filename): Remove warning. + +Mon Dec 10 06:09:57 2001 Douglas B. Rupp + + * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules. + + * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms* + (exeext, target_alias, prefix, local_prefix): Define. + * config/alpha/x-vms (USE_COLLECT2): Make empty. + * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style + file specifications. Remove ".". + (GCC_INCLUDE_DIR): Remove redefinition (redundant). + * fixinc/mkfixinc.sh (alpha*-dec-vms*): Change to alpha*-dec-*vms* + +2001-12-09 Nathan Sidwell + + * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering. + +Sun Dec 9 21:57:24 2001 Douglas B. Rupp + + * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS) + Add rules for building [vp]crt0.o + * config/alpha/vms.h (START_FILE_SPEC): Define. + * config/alpha/x-vms (VMS_EXTRA_PARTS): Define + * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files. + * doc/invoke.texi: Document special Alpha/VMS options. + +Sun Dec 9 20:25:17 2001 Richard Kenner + + * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type. + * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64, + not GNUC. + +Sun Dec 9 20:19:32 2001 Richard Kenner + Douglas B. Rupp + + * tree.c (append_random_char): Conditionalize INO for VMS. + +2001-12-09 Richard Henderson + + * cfgcleanup.c (label_is_jump_target_p): New function. + (try_optimize_cfg): Use label_is_jump_target_p to check if label is + target of a JUMP_INSN from the preceding block. + +Sun Dec 9 18:40:07 2001 Douglas B. Rupp + + * vmsdbgout.c (lookup_filename): Assign null string instead + of null pointer to fnam. + +2001-12-09 Richard Henderson + + * config/alpha/alpha.c (alpha_align_insns): Suppress realignment + immediately after a call; insert nops before a call. + +2001-12-09 Richard Henderson + + * config/alpha/alpha.c (alpha_align_insns): Use align_functions, + not FUNCTION_BOUNDARY. + * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New. + * config/alpha/alpha32.h, config/alpha/vms.h: Likewise. + * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove. + +2001-12-09 Hans-Peter Nilsson + + * config/mmix/mmix.c (mmix_function_block_profiler, + mmix_block_profiler, mmix_function_block_profiler_exit): Delete + unused functions. + * config/mmix/mmix-protos.h (mmix_function_block_profiler, + mmix_block_profiler, mmix_function_block_profiler_exit): Delete + prototypes. + + * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): + Delete obsoleted macros. + +2001-12-09 Joseph S. Myers + + * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi, + doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling. + + * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c, + cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c, + function.c, config/alpha/alpha.md, config/alpha/vms-ld.c, + config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S, + config/i370/i370.c, config/i386/i386.c, + config/i386/i386-interix.h, config/i386/i386.md, + config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c, + config/m32r/m32r-protos.h, config/mcore/mcore.h, + config/rs6000/rs6000.h, config/sparc/linux64.h, + config/sparc/sparc.c, config/v850/v850-protos.h, + config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix + spelling errors. + +2001-12-09 Daniel Berlin + + * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining + altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*). + + * config/rs6000/rs6000.c: Ditto. + + * config/rs6000/rs6000.md: Ditto. + +2001-12-09 Kaveh R. Ghazi + + * 1750a.md: Add default case in switch. + * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in + if-else statement. + * dsp16xx.c (print_operand_address): Likewise. + * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify. + * ia64.md: Add missing braces. + * rs6000-protos.h (s8bit_cint_operand): Prototype. + * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in + if-else statement. + * stormy16.h (REG_CLASS_CONTENTS): Add missing braces. + * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'. + * dbxout.c (dbxout_source_file): Move a variable into the scope + where it is used. + * final.c (profile_function): Mark parameter with + ATTRIBUTE_UNUSED. + * genemit.c (gen_expand): Likewise for generated file. + * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior. + + * vmsdbg.h: Delete spurious close-comment. + (DST_HEADER): Fix typo in ENUM_BITFIELD parameter. + * vmsdbgout.c (write_modbeg): Define return type. + + * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0). + * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise. + * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise. + * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise. + * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise. + +2001-12-08 Tom Rix + + * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING. + * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same. + * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use + for powerpc64. + * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg, + movstrsi_4reg, movstrsi_1_reg): Add powerpc64. + * config/rs6000/rs6000.c (expand_block_move): Do not use + gen_movstrsi_2reg and powerpc64. + +2001-10-08 Aldy Hernandez + + * c-common.h (rid): Add RID_CHOOSE_EXPR and + RID_TYPES_COMPATIBLE_P. + + * c-parse.in (reswords): Add __builtin_choose_expr. + Add __builtin_types_compatible_p. + Add CHOOSE_EXPR token. + Add TYPES_COMPATIBLE_P token. + Add production for CHOOSE_EXPR. + Add production for TYPES_COMPATIBLE_P. + + * doc/extend.texi (__builtin_choose_expr): Add documentation. + (__builtin_types_compatible_p): Likewise. + +2001-12-08 David Edelsohn + + * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN + to unions. + +2001-12-08 Neil Booth + + * c-parse.in: Take string literals in assembler constructs, + not expressions. + * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to + check the strings are STRING_CSTs. + +2001-12-08 Neil Booth + + * c-lex.c (c_lex): Peek a token ahead for a string to concatenate, + using combine_strings to do the concatenation. + * c-parse.in: Replace uses of the string non-terminal with STRING. + Don't attempt string concatenation. + (OBJC_STRING): New terminal. + (string): Remove non-terminal. + (_yylex): Call combine_strings on function names. Generate + OBJC_STRING terminals; don't pass '@' on to yacc. + * c-typeck.c (simple_asm_stmt): Don't concatenate strings here. + (build_asm_stmt): Similarly. + +2001-12-08 Kaveh R. Ghazi + + * rtlanal.c (get_jump_table_offset): Delete unused variable. + +2001-12-08 Richard Earnshaw + + * arm.md (VUNSPEC_PREFETCH): Delete constant definition. + (prefetch): Rewrite using PREFETCH RTL primitive. + * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH). + * arm.c (arm_init_builtins): Don't initialize a builtin for + __builtin_prefetch here. + (arm_expand_builtin): Don't expand __builtin_prefetch here. + +2001-12-08 Richard Earnshaw + + * final.c (cleanup_subreg_operands): Use recog_data.operand_loc + in test for a subreg. + +2001-12-08 John David Anglin + + * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx + strings. + +2001-12-07 Richard Henderson + + * doc/extend.texi: Fix typo last change. + + * c-decl.c (c_language): Remove duplicate. + +2001-12-07 Dale Johannesen + + * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32. + * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin- + specific codegen, eliminate a register copy. + (print_operand_address): Add support for Darwin's lo16(constant) + syntax. + (rs6000_machopic_legitimize_pic_address): Fix darwin-specific + generation of addresses within very large data objects. + (s8bit_cint_operand): New. + * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400. + Move "mtjmpr" to correct functional unit for 750/7400/7450. + Add imul2 and imul3 insn types for multiplication by 16- and + 8-bit constants. + Change tablejump patterns to strongly discourage using LR + rather than CTR. + Add %lo16 patterns for Darwin loads and stores. + +2001-12-07 Kaveh R. Ghazi + + * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000. + +2001-12-07 Stephane Carrez + + * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp + with %sp because it can cause the delayed instruction to load + below the stack. + +2001-12-07 Kaveh R. Ghazi + + * alpha.c (alpha_expand_unaligned_store, + alpha_expand_unaligned_store_words): Use constm1_rtx in place of + call to immed_double_const. + +2001-12-07 Aldy Hernandez + + * doc/extend.texi (Variable Attributes): Document vector_size. + + * attribs.c (c_common_attribute_table): Add vector_size. + (handle_vector_size_attribute): New. + (vector_size_helper): New. + (decl_attributes): Relayout the decl after calculating attribs. + +2001-12-07 Joseph S. Myers + + * doc/gcc.texi: Don't include install-old.texi. Adjust menu + description for Trouble section. + * doc/install-old.texi: Adjust for inclusion as chapter of new + installation manual. + * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html: + Adjust to include old installation chapter as chapter of new + installation manual. + +Fri Dec 7 11:07:35 EST 2001 John Wehle (john@feith.com) + + * rtl.h (get_jump_table_offset): Declare. + * rtlanal.c (get_jump_table_offset): Implement. + +Fri Dec 7 07:06:17 2001 Richard Kenner + + * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num): + Deleted; were used only by BB profiler code. + (sbb_head, sbb_tail, sbb_label_num): Likewise. + (end_final): Delete now-unused vars I, PTR, and SPTR. + + * expr.c (store_field): Remove warning. + (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise. + (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases. + (highest_pow2_factor, case *_DIV_EXPR): Only can do something if + divisor constant power of 2. + (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1. + +2001-12-07 Kaveh R. Ghazi + + * alpha.c (function_arg): Cast value to HOST_WIDE_INT before + shifting. + +2001-12-06 Aldy Hernandez + + * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New. + (DWARF_FRAME_REGISTERS): Delete. + +2001-12-06 Janis Johnson + + * builtin-types.def (BT_FN_VOID_PTR_VAR): New. + * builtins.def (BUILT_IN_PREFETCH): Change arguments. + * builtins.c (expand_builtin_prefetch): Two arguments are now optional, + with defaults for read prefetch with high degree of locality. + * doc/extend.texi (__builtin_prefetch): Update documentation. + * doc/md.texi (prefetch): Add documentation. + +2001-12-06 Rainer Orth + + * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64 + UNIX V5.1A stdio.h. + * fixinc/fixincl.x: Regenerate. + Fixes PR libf2c/4826. + +2001-12-06 Aldy Hernandez + Richard Henderson + + * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation. + (PRE_GCC3_DWARF_FRAME_REGISTERS): Same. + + * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS + to PRE_GCC3_DWARF_FRAME_REGISTERS. + (frame_state): Same. + (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined. + +2001-12-06 Kaveh R. Ghazi + + * langhooks.c (lhd_staticp): Mark parameter with + ATTRIBUTE_UNUSED. + +2001-12-06 H.J. Lu + + * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to + reduce noise. + (.po.pox): Likewise. + (o/$(PACKAGE).pot): Likewise. + +2001-12-06 Alexandre Oliva + + * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following... + * tree-inline.c (expand_call_inline): ... here. + +2001-12-06 H.J. Lu + + * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build. + (.po.pox): Likewise. + (o/$(PACKAGE).pot): Likewise. + +2001-12-06 David O'Brien + + * config.gcc: Include dbxelf.h before elfos.h. + * elfos.h: Don't include dbxelf.h, let config.gcc handle it. + +2001-12-06 Zack Weinberg + + * cppfiles.c (open_file): If we've opened a directory by + mistake, close it. + (find_include_file): Avoid turning / into // or // into ///. + +2001-12-06 Nick Clifton + + * config/arm/arm.h (STRUCT_VALUE): Suppress definition. + (STRUCT_VALUE_REGNUM): Restore definition. + +2001-12-06 Andrew MacLeod + + * flow.c (find_regno_partial): Return register, not the expression + the register is in. + +Thu Dec 6 09:24:12 2001 Richard Kenner + + * function.c (handle_epilogue_set): Check for FP setting case when + SP is set from FP in same insn. + +2001-12-06 Nick Clifton + + * config/arm/arm.c (load_multiple_sequence): Pass pointer to + RTX when calling alter_subreg(). + (store_multiple_sequence): Pass pointer to RTX when calling + alter_subreg(). + +Thu Dec 6 06:55:13 2001 Richard Kenner + + * function.c (assing_parms): Fix typo in last change. + * config/clipper.c (clipper_builtin_saveregs): Remove Checker code. + * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise. + * config/pa/pa.c (hppa_builtin_saveregs): Likewise. + * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise. + +2001-12-06 Alan Modra + + * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and + correct code selecting section. + +Thu Dec 6 12:45:33 CET 2001 Jan Hubicka + + * final.c (count_basic_block, add_bb, add_bb_string): + Kill. + (end_final, final_start_function, final, final_scan_insn, + leaf_function_p): Kill BB profiler related code. + * flags.h (profile_block_flag): Kill. + * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE, + BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func, + __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets, + bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize + reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose, + __bb_exit_trace_func, __bb_init_prg, __bb_trace_func, + __bb_trace_func_ret, __bb_init_file, __bb_trace_ret, + __bb_init_trace_func): Kill. + * toplev.c (profile_block_flag): Kill. + (indepdendent_decode_option, process_options): Kill -a related code. + * alpha.c (direct_call_operand): Likewise. + * arm.c (arm_expand_prologue, thumb_expand_prologue, + thumb_expand_epilogue): Likewise. + * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise. + * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * fr30.c (fr30_expand_prologue): Kill BB profiler related code. + * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue, + ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related + code. + (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill. + * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * fr30.c (fr30_expand_prologue): Kill BB profiler related code. + * i960.c (i960_output_function_prologue): Kill BB profiler related + code. + * ia64.c (ia64_compute_frame_size): Likewise. + * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * m32r.c (m32r_expand_prolofue): Kill BB profiler related code. + * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code. + * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue): + Kill BB profiler related code. + * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * mips.c (mips_expand_prologue): Kill BB profiler related code. + * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * rs6000.c (rs6000_override_options): Kill BB profiler related code. + * s960.c (s390_function_prologue): Kill BB profiler related code. + * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. + * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. + * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. + * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. + * sparc.c (sparc_override_options, eligible_for_sibcall_delay, + sparc_nonflat_function_epilogue): Kill BB profiler related code. + (sparc_function_block_profiler, sparc_block_profiler, + sparc_function_block_profiler_exit): Kill. + * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code. + (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. + * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill. + * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + * doc/invoke.texi: Kill documentation of -a and -ax. + * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER, + FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE, + MACHINE_STATE_RESTORE): Kill. + +2001-10-26 Steve Christiansen + + * doc/rtl.texi: Use a table to display RTL format characters. + +2001-12-06 Bo Thorsen + + * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker. + +Wed Dec 5 19:18:53 2001 Richard Kenner + + * function.c (keep_stack_depressed): Check global_live_at_start + of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src. + +2001-12-05 David O'Brien + + * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files, + as set by the generic FreeBSD configure framework. + +2001-12-04 Jason Merrill + + * langhooks.h (struct lang_hooks_for_tree_inlining): Add + start_inlining, end_inlining. + * tree-inline.c (expand_call_inline): Call them. + * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define. + (LANG_HOOKS_TREE_INLINING_END_INLINING): Define. + (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them. + * langhooks.c (lhd_tree_inlining_start_inlining): New fn. + (lhd_tree_inlining_end_inlining): New fn. + +2001-12-05 Neil Booth + + * c-common.c (shadow_warning): New function, moved from cp/decl.c. + * c-common.h (shadow_warning): New. + * c-decl.c: Include c-common.h. + (warn_if_shadowing): New, broken out of pushdecl. + (pushdecl): Use warn_if_shadowing. + (store_parm_decls): Prevent duplicate -Wshadow warnings. + +Wed Dec 5 17:59:19 2001 Douglas B. Rupp + + * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled. + (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate. + (LIB_SPEC): Remove. + +Wed Dec 5 16:03:04 2001 Richard Kenner + + * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition. + (QUAL_UNION_TYPE): New type. + + * varasm.c (output_constant, case ERROR_MARK): New case. + + * attribs.c (handle_no_check_memory_usage_atribute): Deleted. + (c_com): Delete its reference. + * builtins.c: Delete memory checking code. + * calls.c, expr.c, function.c, stmt.c: Likewise. + * builtins.c (expand_builtin_arg_info): Remove reference to + EXPAND_MEMORY_USE_* modifiers. + * explow.c (expr_size): Likewise. + * expr.c (expand_expr, expand_increment): Likewise. + * expr.h (ARGS_SIZE_RTX): Likewise. + * function.c (assign_parms, expand_pending_sizeso): Likewise. + * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE. + * expr.c (in_check_memory_usage): Delete. + (get_push_address, get_memory_usage_from_modifier): Delete. + (expand_assigment): Use EXPAND_WRITE on destination. + (expand_expr): Delete ro_modifier. + * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and + add EXPAND_WRITE. + (memory_use_mode): Delete. + * flags.h (flag_check_memory_usage): Deleted. + (flag_prefix_function_name): Likewise. + * function.c (expand_function_start): Don't set + current_function_check_memory_usage. + * function.h (check_memory_usage): Delete. + * libfuncs.h, optabs.c: Delete chkr_* stuff. + * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to + EXPAND_WRITE. + * toplev.c (flag_check_memory_usage): Deleted. + (flag_prefix_function_name): Likewise. + (f_options, process_options): Delete references to above. + * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted. + * varasm.c (CHKR_PREFIX): Deleted. + (make_decl_rtl): Remove flag_prefix_function_name handling. + (assemble_name): Likewise. + * doc/extend.texi: Remove no_check_memory_usage attribute. + * doc/invoke.texi: Remove -fcheck-memory-usage + and -fprefix-function-name. + +2001-12-05 Andreas Schwab + + * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values + from autoconf. + +2001-12-05 Nick Clifton + + * config.gcc: Include arm/xscale-coff.h before arm/arm.h. + +2001-12-05 William Cohen + + * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in + instruction. + +2001-12-05 Daniel Berlin + + * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec + builtins. + + * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to + better reflect reality (change from Apple's tree). + Add more of altivec instructions. + Add ftruncv4sf2 pattern. + Remove more unspecs (vector merge instructions, etc). + + * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec + builtins. + (bdesc_1arg): New, for 1 argument altivec builtins. + (altivec_expand_builtin): Handle unary and ternary ops. + (altivec_init_builtins): Ditto. + +Wed Dec 5 09:33:39 2001 Richard Kenner + + * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro. + * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it. + +2001-12-05 Jakub Jelinek + + * gcse.c (store_killed_in_insn): Consider pure calls + as potential store killers in addition to normal calls. + +2001-12-05 Jakub Jelinek + + * expr.c (expand_expr): When checking promoted value, use + DECL_MODE (exp) and not mode. + +2001-12-05 Jakub Jelinek + + * c-typeck.c (output_init_element): Call digest_init + just once, not in each if branch and check its return value for + error_mark_node. + +2001-12-05 Jakub Jelinek + + * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's + type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof. + (finish_struct): Break the loop if n_incomplete went to 0. + For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too. + +Wed Dec 5 07:41:13 2001 Douglas B. Rupp + + * config/alpha/alpha.c (alpha_va_start): Update VMS case. + +Wed Dec 5 07:27:42 2001 Richard Kenner + Douglas B. Rupp + + * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups. + * doc/invoke.texi: Add -gvms. + * doc/passes.texi: Add mention of vmsdbgout.c. + * doc/tm.texi: Document VMS debugging output. + +Wed Dec 5 06:26:27 2001 Richard Kenner + + * function.h (tree, rtx): Remove no-longer-needed definitions. + + * function.c (keep_stack_depressed): Refine check for register + clobbered over call. + + * expr.c (store_expr): When copying string constant into array, + use functions that update memrefs instead of computations on + addresses to better track MEMs. Also properly handle 32/64 pointers. + (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR. + (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp. + + * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl + underneath COMPONENT_REFs. + (set_mem_attributes): Also strip VIEW_CONVERT_EXPR. + +2001-12-05 Neil Booth + + * toplev.c (display_target_options): Don't print twice. + +Wed Dec 5 00:42:16 EST 2001 John Wehle (john@feith.com) + + * emit-rtl.c (set_unique_reg_note): Don't set + a REG_EQUAL or REG_EQUIV note if multiple sets + are present. + +2001-12-04 John David Anglin + + * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if + CASE_DROPS_THROUGH. + +2001-12-04 Andrew MacLeod + + * rtl.h (initialize_uninitialized_subregs): New prototype. + * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs + when optimization is on. + * flow.c (find_regno_partial): Find subregs within an expression. + (initialize_uninitialized_subregs): Initialize live on entry registers + which are used in subreg expressions. + +2001-12-04 Phil Edwards + + * Makefile.in: Add INSTALL_SCRIPT using INSTALL definition. + +2001-12-04 DJ Delorie + + * fixinc/fixincl.c (initialize): Avoid problemsome macro + parameter names (PR 3388). + +2001-12-05 Alan Modra + + * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo. + * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too. + +2001-12-04 Joseph S. Myers + + * c-common.def (COMPOUND_LITERAL_EXPR): New. + * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR. + (c_staticp): New function. + * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New. + (c_staticp): Declare. + * c-typeck.c (default_function_array_conversion, build_unary_op): + Don't handle CONSTRUCTOR specially. + (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR. + * c-decl.c (build_compound_literal): New function. + * c-tree.h (build_compound_literal): Declare. + * c-parse.in (primary): Use build_compound_literal. + * c-lang.c (LANG_HOOKS_STATICP): Define. + * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise. + * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR. + * doc/extend.texi: Update documentation of compound literals. + Fixes PR c/4787. + +2001-12-04 Joseph S. Myers + + * langhooks.h (struct lang_hooks): Add staticp. + * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New. + (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP. + * langhooks.c (lhd_staticp): New function. + * tree.c (staticp): Call lang_hooks.staticp for language-specific + tree codes. + +2001-12-04 Neil Booth + + * cppspec.c (lang_specific_driver): Set is_cpp_driver. + * gcc.c (process_command): Ensure the cpp driver sees + --help and --target-help, and that the help is printed + exactly once. + +2001-12-04 David Edelsohn + + * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned. + +2001-12-04 Hans-Peter Nilsson + + * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset + flag_strict_aliasing. Use separate assignment statements. + +2001-12-04 Zack Weinberg + + * build-make, cross-make: Delete file. + * configure.in: Set and substitute CROSS, ALL, + SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC, + HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on + whether build == host and host == target. Do not + AC_SUBST_FILE build_overrides or cross_overrides. Do not + AC_SUBST cross_defines or extra_c_flags. + * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New. + (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX, + HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set + partially or completely with autoconf-substituted @variable@ + notation. + (INSTALL_TARGET, @cross_defines@, @cross_overrides@, + @build_overrides@, @extra_c_flags@, all.build, install-build, + install-cross-rest, install-float-h-cross): Deleted. + (install-normal): Rename to install. Delete old "install" + indirection rule. + +2001-12-04 Andrew MacLeod + + * stmt.c (expand_return): Clear destination instead of clobbering it + when setting a return value via bitsets. + +2001-12-04 Alexandre Oliva + + * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if + it has DECL_SAVED_TREE. + + * c-decl.c (duplicate_decls): Revert rth's patch. If newdecl + is in a different binding level, get its abstract origin to be + olddecl. + * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity + check earlier. + * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if + DECL_INITIAL is NULL. + +2001-12-04 Jakub Jelinek + + * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized. + Return correct value if one of the subexpressions was optimized to + 0 resp. 1. Optimize (x | A) | x and (x & A) | x. + (and_reg_cond): Similarly. + +2001-12-04 Jakub Jelinek + + * function.c (assign_parms): Set last_named only for last named + argument. + +2001-12-04 Joseph S. Myers + + * doc/install.texi: Use the GFDL. Include years from old install + manual in copyright notice. Include copyright and GFDL notice on + HTML index page. Include usual footer on testing.html. + * doc/install.texi2html: Build gfdl.html. Use -I + $SOURCEDIR/include. + * doc/include/fdl.texi: Adapt for use in the install manual. + +2001-12-04 Joseph S. Myers + + * doc/install.texi: Document that installed native compiler for + building cross compilers should be GCC 2.95 or later. + +2001-12-03 Eric Christopher + + * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro. + * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split + patterns. + +2001-12-03 Janis Johnson + + * rtl.def (PREFETCH): New rtx code. + * doc/rtl.texi (PREFETCH): Add documentation. + * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx. + * rtlanal.c (reg_referenced_p): Ditto. + * sched-vis.c (print_exp): Ditto. + * ssa-dce.c (find_inherently_necessary): Ditto. + + * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define. + (PREFETCH_BLOCK): Define. + * config/ia64/ia64.md (itanium_class): Add lfetch. + (prefetch, prefetch_internal): New. + + * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New. + * builtins.def (BUILT_IN_PREFETCH): New. + * builtins.c (expand_builtin_expect): New. + (expand_builtin): Call it. + * doc/extend.texi: Document __builtin_prefetch. + + * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid + conflicts with new generic prefetch functionality. + * config/i386/i386.c (ix86_expand_builtin): Use new name for + prefetch_sse. + +2001-12-02 Ziemowit Laski + + * objc/Make-lang.in: Update copyright. + (OBJC_OBJS): Add objc-lang.o. + (objc-lang.o): New rule. + * objc/config-lang.in: Fix file description and update + copyright. + * objc/objc-act.c: Do not include langhooks.h and + langhooks-def.h + (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c. + (objc_post_options): Move to objc-lang.c. + (objc_init_options): Move to objc-lang.c. + (objc_init): Make non-static. + (objc_decode_option): Make non-static. + (HASHFUNCTION): Remove macro. + (hash_func): New function. + (hash_enter): Replace HASHFUNCTION with hash_func. + (hash_lookup): Replace HASHFUNCTION with hash_func. + (maybe_objc_tree_codes): New function. + (init_objc): Move ObjC tree code initialization to + maybe_objc_tree_codes(). + * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard. + (objc_init): New public prototype. + (objc_decode_option): New public prototype. + (maybe_add_objc_tree_codes): New public prototype. + * objc/objc-lang.c: New file. + (lang_hooks): Moved from objc-act.c. + (objc_post_options): Moved from objc-act.c. + (objc_init_options): Moved from objc-act.c. + +2001-12-03 Geoff Keating + + * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension + of array elements. + +2001-12-03 Neil Booth + + PR c/4988 + * gcc.c (process_command): Don't add a preprocessor option for + --help and --target-help; cc1 is enough. + +2001-12-03 Neil Booth + + * c-decl.c (grokdeclarator): Use ISO word. + * cppinit.c: Remove leading capital from diagnostic messages, as + per GNU coding standards. + * emit-rtl.c: Similarly. + * final.c: Similarly. + * gcc.c: Similarly. + * tradcpp.c: Similarly. + * config/arm/arm.c: Similarly. + * config/arm/arm.h: Similarly. + * config/avr/avr.c: Similarly. + * config/avr/avr.h: Similarly. + * config/c4x/c4x.c: Similarly. + * config/cris/cris.c: Similarly. + * config/cris/cris.h: Similarly. + * config/d30v/d30v.c: Similarly. + * config/dsp16xx/dsp16xx.c: Similarly. + * config/dsp16xx/dsp16xx.h: Similarly. + * config/h8300/h8300.c: Similarly. + * config/i386/i386.c: Similarly. + * config/i386/xm-djgpp.h: Similarly. + * config/i960/i960.h: Similarly. + * config/m32r/m32r.c: Similarly. + * config/m68hc11/m68hc11.c: Similarly. + * config/m88k/m88k.c: Similarly. + * config/m88k/m88k.h: Similarly. + * config/mcore/mcore.c: Similarly. + * config/mcore/mcore.h: Similarly. + * config/mips/mips.c: Similarly. + * config/mmix/mmix.c: Similarly. + * config/pa/pa.c: Similarly. + * config/rs6000/rs6000.c: Similarly. + * config/rs6000/sysv4.h: Similarly. + * config/s390/s390.c: Similarly. + * config/sparc/sparc.c: Similarly. + * config/v850/v850-c.c: Similarly. + * config/v850/v850.c: Similarly. + +2001-12-03 Zack Weinberg + + * rs6000.h (RETURN_IN_MEMORY): Cast result of + int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8. + +Mon Dec 3 09:18:34 2001 Jeffrey A Law (law@cygnus.com) + + * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for + bit twiddling constant. + +Mon Dec 3 16:16:37 CET 2001 Jan Hubicka + + * gcse.c (delete_null_pointer_checks_1): Do not use delete_list; + call purge_dead_edges after removing. + (delete_null_pointer_checks): Do not handle delete_list. + + * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ... + (count_basic_blocks): ... here. + (find_basic_blocks, find_bb_boundaries): Cleanup. + + * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid + overflow for types greater then 2 * HOST_WIDE_INT. + + * reload.c (find_reloads): Update the duplicates after swapingg. + +Mon Dec 3 13:52:19 CET 2001 Jan Hubicka + + * i386.md (movabsqi*): Use 'b' prefix instead of 'q'. + +2001-12-02 Zack Weinberg + + * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI, + MASK_LONG_DOUBLE_128): Delete. + (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET, + TARGET_AIX_STRUCT_RET): New flags. + (TARGET_SWITCHES): Remove entries for -mlong-double-128 and + -mlong-double-64. Add entries for -m(no-)aix-struct-return + and -m(no-)svr4-struct-return. + (TARGET_OPTIONS): Add entry for -mlong-double-. + (rs6000_long_double_size_string, rs6000_long_double_type_size, + rs6000_altivec_abi): Declare. + (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI, + LONG_DOUBLE_TYPE_SIZE): Change definitions to match. + (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return + structures of size <= 8 bytes in registers. + (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'. + + * config/rs6000/rs6000.c (rs6000_long_double_size_string, + rs6000_long_double_type_size, rs6000_altivec_abi): New + globals. + (rs6000_override_options): Set rs6000_long_double_type_size + from rs6000_long_double_size_string, if nonzero. Set the + MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if + not already set. + (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a + target_flags bit. + (rs6000_init_builtins): This hook now takes no arguments. + + * config/rs6000/netbsd.h, config/rs6000/linux.h: Define + DRAFT_V4_STRUCT_RET to 1. + +2001-12-03 Joseph S. Myers + + * c-typeck.c (really_start_incremental_init, push_init_level): + Avoid constructor_max_index being other than an INTEGER_CST. + +2001-12-02 David Edelsohn + + * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count + unsigned. + (ASM_GENERATE_INTERNAL_LABEL): Same. + (UNIQUE_SECTION): Fix typo. + +2001-12-02 Richard Henderson + + * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy. + +2001-12-02 Richard Henderson + + * rtl.h (mem_attrs): Rename decl to expr; adjust all users. + (MEM_EXPR): Rename from MEM_DECL; adjust all users. + * emit-rtl.c (set_mem_expr): Rename from set_mem_decl. + * expr.h, final.c, reload1.c: Adjust users. + + * alias.c (nonoverlapping_component_refs_p): New. + (decl_for_component_ref, adjust_offset_for_component_ref): New. + (nonoverlapping_memrefs_p): Use them. + * emit-rtl.c (component_ref_for_mem_expr): New. + (set_mem_attributes): Use it. + (set_mem_offset): New. + * expr.c (expand_assignment): Call set_mem_attributes for + inner references; adjust the memory offset as needed. + * print-rtl.c (print_mem_expr): New. + (print_rtx): Use it. + +Sun Dec 2 09:22:25 2001 Douglas B. Rupp + + * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default. + + * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro. + (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG. + (ASM_SPEC): Don't redefine. + (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define. + * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm. + * config/alpha/vms-dwarf2.asm: New file. + + * Makefile.in (OBJS): Add vmsdbgout.c and its rule. + * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG. + * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks. + (vmsdbgout_after_prologue): New declaration. + * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE. + * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address. + * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG. + (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG. + (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address. + (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO + * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG. + Test VMS_DEBUGGING_INFO. + (final_end_function): Test for VMS_AND_DWARF2_DEBUG. + (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG. + * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG. + * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and + VMS_AND_DWARF2_DEBUG. + (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG. + (decode_g_option): Add "vms" to debug_type_names. + (process_options): Set vmsdbg_debug_hooks if -gvms. + (lang_independent_init): Emit line number for VMS unless -g0. + * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG. + * vmsdbg.h, vmsdbgout.c: New files. + +Sun Dec 2 09:03:06 2001 Richard Kenner + + * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a + +2001-12-02 Kaveh R. Ghazi + + * cfgrtl.c (purge_all_dead_edges): Initialize variable. + * dwarf2out.c (is_cxx): Prototype. + * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true' + warning. + * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning. + +Sun Dec 2 07:12:30 2001 Richard Kenner + + * libgcc2.c (__bb_exit_func): Fix line wrap problems. + +2001-12-02 Geoff Keating + + * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify. + * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address + rather than simplify_subreg. Check for volatile-ness. Check that + we're not splitting one slow operation into two slow operations. + +2001-12-02 David Edelsohn + + * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT + before shifting. + +2001-12-02 Neil Booth + + * c-decl.c (duplicate_decls, push_parm_decl): Remove leading + capital from diagnostics. + * c-lex.c (cb_file_change): Similarly. + * c-parse.in : Similarly. + * cfgrtl.c (verify_flow_info): Similarly. + * collect2.c: Similarly. + * cppfiles.c (find_include_file): Similarly. + * cppinit.c (cpp_handle_option): Similarly. + * cpplex.c (cpp_spell_token): Similarly. + * cppmain.c (do_preprocessing): Similarly. + * gcc.c (translate_options, process_command, do_spec1, + main, pfatal_execute): Similarly. + * genattr.c (main): Similarly. + * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp, + write_test_expr, main): Similarly. + * gencodes.c (main): Similarly. + * genconfig.c (main): Similarly. + * genconstants.c (main): Similarly. + * genemit.c (main): Similarly. + * genextract.c (main): Similarly. + * genflags.c (main): Similarly. + * genopinit.c (main): Similarly. + * genoutput.c (process_template, main): Similarly. + * genpeep.c (main): Similarly. + * genrecog.c (main): Similarly. + * gensupport.c (is_predicable, identify_predicable_attribute, + alter_predicate_for_insn, init_md_reader_args, main): Similarly. + * ggc-page.c (alloc_anon): Similarly. + * mips-tfile.c (add_string, add_procedure, add_file, read_line, + parse_begin, parse_bend, parse_def, parse_end, parse_file, + parse_stabs_common, parse_stabs, write_varray, write_object, + read_seek, copy_object, main, error): Similarly. + * profile.c (compute_branch_probabilities): Similarly. + * reg-stack.c (check_asm_stack_operands): Similarly. + * reload.c (find_reloads): Similarly. + * reload1.c (spill_failure, failed_reload): Similarly. + * rtl-error.c (_fatal_insn_not_found): Similarly. + * toplev.c (read_integral_parameter, crash_signal, + decode_f_option, set_target_switch, parse_options_and_default_flags) + : Similarly. + * tradcif.y (parse_number, yylex): Similarly. + * tradcpp.c (main, fancy_abort): Similarly. + * tree.c (tree_check_failed): Similarly. + * varray.c (varray_check_failed): Similarly. + * xcoffout.c (xcoff_output_standard_types): Similarly. +objc: + * objc-act.c (get_object_ref, lookup_and_install_protocols, + build_objc_string_object, objc_declare_alias, build_ivar_chain, + finish_message_expr, build_protocol_expr, is_public, + start_class): Similarly. + +2001-12-01 Neil Booth + + * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove + trailing period from diagnostics. + * c-lex.c (cb_file_change): Similarly. + * cppmacro.c (check_trad_stringification): Similarly. + * gcc.c (do_spec_1): Similarly. + * genattr.c (main): Similarly. + * genattrtab.c (main, operate_exp, make_length_attrs): Similarly. + * gencodes.c (main): Similarly. + * genconfig.c (main): Similarly. + * genconstants.c (main): Similarly. + * genemit.c (main): Similarly. + * genextract.c (main): Similarly. + * genopinit.c (main): Similarly. + * genoutput.c (main): Similarly. + * genpeep.c (main): Similarly. + * genrecog.c (main): Similarly. + * mips-tfile.c (add_file, error): Similarly. + * profile.c (init_branch_prob): Similarly. + * reload1.c (spill_failure): Similarly. + * stmt.c (parse_output_constraint): Similarly. + * varasm.c (assemble_variable): Similarly. + +2001-12-01 Kaveh R. Ghazi + + * m68k.c (init_FPA_table): Provide static prototype. + * mips/abi64.h (mips_function_value): Move prototype to ... + * mips-protos.h (mips_function_value): ... here. + * mips.c: Include halfpic.h. + * output.h (rdata_section): Prototype. + + * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF. + * m88k.c (m88k_svr3_asm_out_constructor, + m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN && + !OBJECT_FORMAT_ELF. + * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF. + * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF. + * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF. + +2001-12-01 Geoff Keating + + * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex + LO_SUM addresses less than word size are not legitimate, + because they lead to invalid SUBREGs. + * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise. + +2001-12-01 Olivier Hainque + + * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL + while scanning for multiple back edges. + +2001-12-01 Franz Sirl + + * ginclude/ppc-asm.h (JUMP_TARGET): New macro. + * config/rs6000/tramp.asm: Use it. + +2001-12-01 Zack Weinberg + + * gencheck.c, gengenrtl.c: Don't define xmalloc. + * gensupport.c: Don't define xstrdup, xcalloc, xrealloc, + xmalloc. + +2001-11-30 John David Anglin + + * pa.c (output_ascii): Cast `p' to unsigned char. + +2001-11-30 Daniel Berlin + + * config/rs6000/rs6000.c (altivec_expand_builtin): add + ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf, + *_16qi,_8hi, rename existing V4SI ones to *_4si. + (altivec_init_builtins): Ditto. + (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file. + + * config/rs6000/rs6000.md: Add attribute types vecsimple, + veccomplex, vecfloat, and vecperm, for altivec instructions. + Modify altivec patterns to use appropriate attribute type. + Modify altivec patterns to match RTL operations where appropriate + (IE no unspec where we can avoid it). + Add vector unit scheduling for ppc7450. + Rename patterns to what they are where appropriate + (altivec_vaddfp->addv4sf3, etc) + + * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR. + Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used. + + * config/rs6000/sysv4.h: Add -mcpu=7450. + + * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed + _builtin_altivec_ld_interal function. + +2001-11-30 Kaveh R. Ghazi + + * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen, + strchr, strrchr, isascii, gettimeofday. + * config.in, configure: Regenerate. + +2001-11-30 Zoltan Hidvegi + + * unroll.c (unroll_loop): Correct special exit cases. + +2001-11-30 Stephane Carrez + + * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to + accept DFmode and DImode only. + +2001-11-30 Aldy Hernandez + + * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec. + (STACK_DYNAMIC_OFFSET): Same. + +2001-11-30 Richard Henderson + + * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE. + +2001-11-30 Aldy Hernandez + + * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New. + (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to + the values in call_used_registers. + +Fri Nov 30 12:48:26 2001 Jeffrey A Law (law@cygnus.com) + + * gthr-dce.h: If _DCE_THREADS is not defined, then just include + gthr-single. + +2001-11-30 Jason Merrill + + * dwarf2out.c (is_cxx): New fn. + (add_data_member_location_attribute): Check it. + * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++. + +Fri Nov 30 08:26:57 2001 Richard Kenner + + * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx. + +2001-11-30 Daniel Berlin + + * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and + MODE_VECTOR_FLOAT as allowed. + +2001-11-29 Zack Weinberg + + Purge cruft now we have build libiberty. + + * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR, + HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR, + USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT, + USE_HOST_STRSTR): Delete variables. + (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o, + hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o, + $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, + $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules. + (LIBIBERTY, BUILD_LIBIBERTY): New variables. + (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY). + (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY). + (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY). + (HOST_LIBS): Ditto. + (HOST_RTL): Remove hashtab.o safe-ctype.o. + (OBJS): Remove splay-tree.o. + (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a. + (distclean): No need to delete splay-tree.c obstack.c + hashtab.c safe-ctype.c. + (mostlyclean): Delete build copies of print-rtl.c bitmap.c + errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1). + * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR): + Delete. + * configure.in: Don't use them. + Set and substitute @FORBUILD@. + * config.in, configure: Regenerate. + * doprint.c: Move to libiberty/_doprnt.c. + * doc/configterms.texi: Document that libiberty is now built + up to three times. Fix typo. + +2001-11-30 Jason Merrill + + * dwarf2out.c (add_data_member_location_attribute): Do the + right thing for virtual bases. + * dbxout.c (dbxout_type): For a virtual base, print the offset + within the vtable. + +2001-11-29 Zoltan Hidvegi + + * doloop.c (doloop_valid_p): Check for LTU and GTU as well. + +2001-11-29 Aldy Hernandez + + * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments + go in memory. + Remove unused attribute for named. + +2001-11-29 Kaveh R. Ghazi + + * genattrtab.c (attr_rtx_1): New function containing the + majority of `attr_rtx'. Move variable declarations into the + scope where they are used. Eliminate unnecessary gotos. + (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN, + VA_FIXEDARG, and VA_CLOSE. + +2001-11-30 Hans-Peter Nilsson + + * config/cris/cris.c (cris_notice_update_cc): Check first + destination also against overlap with cc_status.value2 and second + destination against overlap with cc_status.value1. For overlaps, + clear overlapped value, don't just CC_STATUS_INIT. + + * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME. + Fix typo in comment. + (LINK_SPEC): Remove whitespace at end of line. + +2001-11-29 Jakub Jelinek + + * c-lex.c (init_c_lex): Canonicalize "-" filename to "". + +2001-11-29 Jakub Jelinek + + * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG + macros for the supported debugging types. + +2001-11-29 Craig Rodrigues + + PR other/4932 + * config/i386/i386.c (print_operand): Verify that the + argument to %c is a constant and not a conditional which + needs to be reversed. + +Thu Nov 29 11:12:59 2001 Geoffrey Keating (geoffk@redhat.com) + + * emit-rtl.c (gen_lowpart_common): Fix conversion of + REAL_VALUE_TYPEs to an array of target integers. Fix extraction + of low part of those arrays for 32bit and 64bit hosts. + +2001-11-29 Kaveh R. Ghazi + + * Makefile.in (insn-output.o): Depend on insn-codes.h. + +2001-11-29 Joseph S. Myers + + * configure.in (target_list): Add generated-manpages. + * configure: Regenerate. + * Makefile.in (generated-manpages): Depend on + lang.generated-manpages. + * objc/Make-lang.in (objc.generated-manpages): New dummy target. + +2001-11-29 Nick Clifton + + * config/arm/crti.asm (_init): Add .thumb_func if compiled + with -mthumb. + (_fini): Add .thumb_func if compiled with -mthumb. + +2001-11-28 Eric Christopher + + * config/mips/mips.c (override_options): Fix thinko in mips_tune + for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits. + +Thu Nov 29 00:24:15 EST 2001 John Wehle (john@feith.com) + + * alpha.md (tablejump): Use pic_offset_table_rtx + instead of gen_rtx_REG. + +Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com) + + * expr.c (store_expr): When copying a string constant into an + array, reset the known alignment of the MEM for the section to + be cleared to BITS_PER_UNIT. + +2001-11-28 Hans-Peter Nilsson + + * config/cris/cris.c: Remove whitespace at end of line. + +Wed Nov 28 14:51:23 2001 Douglas B. Rupp + + * config.gcc (i[34567]86-*-interix3*): New case. + * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h: + New files. + +2001-11-28 Richard Henderson + + * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use + symbolic_operand as the predicate. + +2001-11-28 Richard Henderson + + * doloop.c (doloop_modify_runtime): Properly select induction + variable; skip late entry test if biv initializer created by loop. + +Wed Nov 28 08:21:47 2001 Richard Kenner + + * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than + EXPR_WITH_FILE_LOCATION, so change checks and documentation. + + * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC. + + * tree.h: Add missing checks on some macros; make formatting more + consistent. + + * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top + level; only add to pending_sizes if find it. + + * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED. + + * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap): + Add casts to remove warnings. + + * Makefile.in (OBJS): Sort alphabetically. + + * print-rtl.c (print_rtx): If RTX code is bad, just say so. + Also minor cleanups. + +Wed Nov 28 06:52:27 2001 Arnaud Charlet + + * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX. + (FLAGS_TO_PASS): Add STAGE_PREFIX. + (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH + to STAGE_PREFIX. + +Wed Nov 28 10:42:19 CET 2001 Jan Hubicka + + * cse.c (true_dependence_in_rtx): New function. + (invalidate): Use it. + + * c-common.h (GOTO_FAKE_P): New macro. + * tree-inline.c (GOTO_FAKE_P): Set. + * c-tree.texi (GOTO_FAKE_P): Document. + + * varasm.c (assemble_variable): Set reloc to 3 for error_mark + containing pointers. + (output_addressed_constants): Check for local/external relocations. + * elfos.h (SELECT_SECTION): Classify data section. + * tm.texi (SELECT_SECTION): Update documentation. + + * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit. + (flow_dfs_compute_reverse_execute): Add only unvisited blocks. + +2001-11-27 Kaveh R. Ghazi + + * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, + UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have + OBJECT_FORMAT_ROSE. + +2001-11-28 Hans-Peter Nilsson + + * config/cris/cris.c: Tweak spacing for prototypes. + (LOSE_AND_RETURN): New macro. + (cris_operand_lossage): New function. + (cris_print_index, cris_print_base): Use cris_operand_lossage + rather than fatal_insn. + (cris_print_operand, cris_print_operand_address): Use + LOSE_AND_RETURN rather than fatal_insn and internal_error. + (cris_output_addr_const): Use LOSE_AND_RETURN and + output_operand_lossage rather than fatal_insn and internal_error + for valid but unexpected rtx expressions. + + * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg + for a SUBREG in src or dest, abort instead. + +2001-11-28 Bryce McKinlay + + * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining + doc. + +2001-11-27 Jakub Jelinek + + * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than + preprocessor define. If only DBX_DEBUGGING_INFO or only + DWARF2_DEBUGGING_INFO is supported for the target, provide + appropriate definitions. + +2001-11-27 Neil Booth + + * Makefile.in: Update, and add c-objc-common.o dependencies. + * c-lang.c: Remove unnecessary includes. + (c_init): Move bulk of code to c_objc_common_init, and call it. + (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits, + inline_forbidden_p, c_cannot_inline_tree_fn): Move to + c-objc-common.c. + * c-objc-common.c: New. Mostly pulled from c-lang.c. + * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn, + c_objc_common_init, c_missing_noreturn_ok_p): New. + * toplev.c: Update comment. + * doc/passes.texi: Update. +objc: + * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN, + LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS, + LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override. + (objc_init): Update to use c_objc_common_init. + +2001-11-27 Neil Booth + + * cpphash.c (_cpp_init_hashtable): Update. + * cpphash.h (struct spec_nodes): Remove n_L. + * cpplex.c (_cpp_lex_direct): Check for prefix L separately. + +2001-11-17 Richard Henderson + + * unroll.c (loop_iterations): Move last change ... + * doloop.c (doloop_modify_runtime): ... here. + +2001-11-17 Corey Minyard + Richard Henderson + + * unroll.c (loop_iterations): Detect one situation in which we + overestimate the number of iterations. + +2001-11-27 Rainer Orth + + * gcc.c (set_input): Export. + Move declaration ... + gcc.h (set_input): ... here. + +2001-11-27 Rainer Orth + + * gcc.c (set_collect_gcc_options): New function, split out from + main. + Ignore elided switches. + (do_spec): Invoke before executing command. + (do_spec_1): Likewise. + Fixes PR other/3968. + +2001-11-27 Hans-Peter Nilsson + + * config/cris/cris.h (INT_ASM_OP): Remove. + +2001-11-27 Rainer Orth + + * config/i386/sol2.h (WINT_TYPE): Redefine. + (WINT_TYPE_SIZE): Likewise. + +2001-11-27 Kaveh R. Ghazi + + * collect2.c: Check HAVE_DUP2 instead of NO_DUP2. + (dup2): Make static and add prototype. + * m68k/plexus.h: Don't define NO_DUP2. + * configure.in (AC_CHECK_FUNCS): Add dup2. + * config.in, configure: Regenerate. + + * ia64/aix.h (REG_SIZE): Don't #undef. + * sparc.h (REG_SIZE): Delete. + * flow.c (mark_used_regs): Don't use REG_SIZE. + * regs.h (REG_SIZE): Delete. + +2001-11-27 Andreas Schwab + + * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT -> + PREFERRED_DEBUGGING_TYPE. + +Tue Nov 27 08:21:47 2001 Richard Kenner + + * Makefile.in (c-lang.o): Depends on langhooks-def.h. + (expr.o, varasm.o): Depends on langhooks.h. + * c-common.c (c_safe_from_p): Always declare. + (c_expand_expr): Refine when declared. + * c-lang.c (c-common.h): Now include. + (LANG_HOOKS_SAFE_FROM_P): Define new hook. + (c_init): Don't set lang_safe_from_expr. + * expr.c (langhooks.h): Now include. + (lang_safe_from_p): No longer define. + (safe_from_p): Use lang hook. + (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too. + (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down. + * expr.h (lang_expand_constant, lang_safe_from_p): Delete. + * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls. + (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks. + * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions. + * langhooks.h (struct lang_hooks): New fields expand_constant + and safe_from_p. + * output.h (output_constant): Size arg is HOST_WIDE_INT. + * stmt.c (expand_decl_init): No longer need to expand constant + for CONST_DECL. + * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR. + * toplev.c (lang_expand_constant): Delete var. + * tree.c (save_expr): Don't put another SAVE_EXPR around simple + operations on SAVE_EXPR. + * varasm.c (langhooks.h): Now include. + (compare_constant_1): Use lang_hooks, not lang_expand_constant. + (record_constant_1, output_addressed_constants): Likewise. + (initializer_constant_valid_p, output_constant): Likewise. + (output_constant_def): Process no-defer of string constant. + (output_addressed_constants, case ADDR_EXPR): Use handled_component_p. + (output_constant): Strip more conversions. + Track our size and pad for the rest. + (array_size_for_constructor): Remove code for non-byte STRING_CST. + (output_constructor): SIZE now HOST_WIDE_INT. + +2001-11-27 Richard Henderson + + * ifcvt.c (noce_try_store_flag_constants): Test for overflow + in computing DIFF. + +2001-11-27 Zack Weinberg + + * cppfiles.c (read_include_file): Add comment. + +2001-11-26 Richard Henderson + + * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit. + +2001-11-26 Richard Henderson + + * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef. + * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove + commented out override. + +2001-11-26 Neil Booth + + * cppfiles.c (stack_include_file): Don't optimize zero-length + files. + (read_include_file): NUL-terminate read files. + * cpplex.c (handle_newline, skip_escaped_newlines, + get_effective_char, skip_whitespace, parse_identifier, + parse_identifier_slow, parse_number, parse_string, + _cpp_lex_direct): Optimize for the fact that buffers are guaranteed + NUL-terminated. + * cpplib.c (destringize_and_run, cpp_define, handle_assertion): + Be sure buffers are NUL terminated. + * cppmacro.c (warn_of_redefinition): Kill compile warning. + +2001-11-26 Neil Booth + + * c-common.c: Include tree-inline.h. + (c_language): Move separate definitions here. + (c_common_init_options, c_common_post_options): New. + (c_common_lang_init): Rename c_common_init. + * c-common.h (c_common_lang_init): Similarly. + (c_common_init_options, c_common_post_options): New. + * c-lang.c (c_post_options): Move body to c_common_post_options. + (c_init_options): Use c_common_init_options. + (c_init): Update. + * langhooks.def: Rearrange. + * langhooks.h: Rearrange, and improve comments. + * toplev.c (do_compile): New function. + (toplev_main): Use it. + (lang_independent_f_options, parse_options_and_default_flags, + process_options): Remove trailing periods. + * Makefile.in: Update. +objc: * objc-act.c (objc_post_options, objc_init_options): Use c-common.c + functions. + (ojbc_init): Update. + +2001-11-26 Richard Henderson + + * config/alpha/alpha.md (unop): Add 0 offset for some gas versions. + +2001-11-26 DJ Delorie + + * expr.c (store_constructor): Actually use the value computed + if WORD_REGISTER_OPERATIONS. + +2001-11-26 Richard Henderson + + * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY + for CONSTRUCTOR. + +2001-11-26 David Edelsohn + + * rs6000.c (output_mi_thunk): Handle minimal-toc and call + correct function on AIX. + +2001-11-26 Alexandre Oliva + + * toplev.c (process_options): Don't force + flag_optimize_sibling_calls to zero just because exceptions are + enabled. + +Mon Nov 26 12:37:05 2001 Jeffrey A Law (law@cygnus.com) + + * df.h (transfer_function_sbitmap): Use PARAMS around argument + list in function prototypes. + (transfer_function_bitmap): Likewise. + +2001-11-26 Loren J. Rittle + + * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS. + * config/i386/netbsd-elf.h: Likewise. + +2001-11-26 David Edelsohn + + * doc/trouble.texi: Remove outdated RS/6000 comments. + +Mon Nov 26 13:49:41 CET 2001 Jan Hubicka + + * final.c (walk_alter_subreg): Fix return value. + +Mon Nov 26 11:36:20 CET 2001 Jan Hubicka + + * sparc.c (sparc_absnegfloat_split_legitimate): Do not call + alter_subreg. + * sparc.md (post-reload splitters): Do not call alter_subreg. + * cfgrtl.c (purge_dead_edges): Fix typo in previous fix. + +2001-11-25 Aldy Hernandez + + * regclass.c (choose_hard_reg_mode): Handle vector arguments. + +2001-11-26 Alan Modra + + * final.c: (insn_lengths): Make it an int *, so that large jump + tables don't overflow. + +2001-11-25 Joseph S. Myers + + * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New. + (format_types): Use it for scanf. + (dollar_arguments_pointer_p): New. + (init_dollar_format_checking): Store details of which arguments + are pointers. + (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p. + (finish_dollar_format_checking): Take extra parameter + pointer_gap_ok. Treat unused arguments differently if + pointer_gap_ok and the unused arguments are pointers. + (check_format_info_main): Pass extra argument to + finish_dollar_format_checking. + * doc/invoke.texi (-Wno-format-extra-args): Document behavior when + unused arguments are present between used arguments with operand + numbers. + +2001-11-25 Daniel Berlin + + * df.c: Add prototypes for hybrid_search_bitmap and + hybrid_search_sbitmap. + (hybrid_search_bitmap): New function. + (hybrid_search_sbitmap): New function. + (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap. + (iterative_dataflow_bitmap): Ditto. + +2001-11-25 Stephane Carrez + + * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize + address computations. + +2001-11-25 Stephane Carrez + + * config/m68hc11/m68hc11.c (d_register_operand): Must accept + register b (low part of d). + +2001-11-25 Stephane Carrez + + * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name + passed to mcount. + +Sun Nov 25 06:22:09 2001 Douglas B. Rupp + + * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files. + * config/alpha/x-vms: New file, to compile the above. + * config.gcc (alpha*-dec-vms*): Add x-vms. + +2001-11-24 Hans-Peter Nilsson + + * genextract.c (main): Set ro_loc for peepholes. + +Sat Nov 24 17:04:10 2001 Douglas B. Rupp + + * fix-header.c (main): Move inf_buffer termination and inf_limit + calculation to after read. + + * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage. + (__UNIX_FOPEN): Define. + +Sat Nov 24 16:11:00 2001 Richard Kenner + + * function.c (assign_stack_temp_for_type): Clear alias set before + setting new one. + +2001-11-23 David Edelsohn + + * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX + format. + * rs6000.md (cmptf): Fix typo. + +2001-11-23 Richard Sandiford + + * final.c (output_addr_const): Output PC as '.' even if !flag_pic. + * varasm.c (output_constructor): Use assemble_integer rather + than ASM_OUTPUT_BYTE. + +2001-11-23 Andreas Jaeger + + * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign + extension. + +2001-11-23 Nick Clifton + + * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override + default definition. + (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition. + (MULTILIB_DEFAULTS): Remove previous definition. + +2001-11-23 Neil Booth + + * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic. + * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update. + +2001-11-22 Kaveh R. Ghazi + + * cris.h: Revert thinko in last patch. + +2001-11-23 Joseph S. Myers + + * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog, + FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c, + cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c, + dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h, + explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c, + sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors. + + * predict.c, reg-stack.c: Fix spelling errors. + +2001-10-09 Andrew Haley + + * calls.c (check_sibcall_argument_overlap): Use slot_offset for + start of stack slot. + +2001-11-22 Graham Stott + + * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit + replacement jump after original jump. + + (verify_flow_info): Remove redundent initialisation. + Handle reaching end of insn list before finding a BARRIER. + Only issue one missing barrier diagnostic. + +2001-11-22 Graham Stott + + * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM. + +Thu Nov 22 06:49:14 2001 Richard Kenner + + * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what + insn actually does. + +2001-11-22 Nick Clifton + + * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch. + Fix typo -mm32rx=> -m32rx. + + * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf + targets. + + * config.gcc (xscale-coff): Add necessary header files to + tm_file variable. + +2001-11-20 Zack Weinberg + + * rs6000.c (output_cbranch): Use $, not %$, in output template. + +2001-11-21 Bryce McKinlay + + * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h. + (lang_type_quals): Declare. + (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to + retrieve language-specific qualifiers for a type node, instead of + C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of + lang_dump_tree. + * tree-dump.h: Rename from c-dump.h. + * c-common.h (C_TYPE_QUALS): Removed. + Move declarations for tree-dump.c interface to... + * tree.h: ... here. Remove lang_dump_tree. + * langhooks.h (struct lang_hooks_for_tree_dump): New. + (struct lang_hooks): Add tree_dump hooks. + * langhooks.c (lhd_tree_dump_dump_tree): New function. + (lhd_tree_dump_type_quals): New function. + * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals): + Declare. + (LANG_HOOKS_INITIALIZER): Add tree_dump hooks. + * Makefile.in: Move tree-dump.o to language-independent back-end. + +2001-11-21 Kaveh R. Ghazi + + * 1750a.h (DBX_REGISTER_NUMBER): Don't define. + * alpha.h (DBX_REGISTER_NUMBER): Likewise. + * arc.h (DBX_REGISTER_NUMBER): Likewise. + * arm/aout.h (DBX_REGISTER_NUMBER): Likewise. + * avr.h (DBX_REGISTER_NUMBER): Likewise. + * c4x.h (DBX_REGISTER_NUMBER): Likewise. + * clipper.h (DBX_REGISTER_NUMBER): Likewise. + * convex.h (DBX_REGISTER_NUMBER): Likewise. + * cris.h (DBX_REGISTER_NUMBER): Likewise. + * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise. + * elxsi.h (DBX_REGISTER_NUMBER): Likewise. + * fr30.h (DBX_REGISTER_NUMBER): Likewise. + * h8300.h (DBX_REGISTER_NUMBER): Likewise. + * i370.h (DBX_REGISTER_NUMBER): Likewise. + * i860.h (DBX_REGISTER_NUMBER): Likewise. + * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise. + * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise. + * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise. + * m32r.h (DBX_REGISTER_NUMBER): Likewise. + * m68hc11.h (DBX_REGISTER_NUMBER): Likewise. + * m88k.h (DBX_REGISTER_NUMBER): Likewise. + * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise. + * mcore.h (DBX_REGISTER_NUMBER): Likewise. + * mn10200.h (DBX_REGISTER_NUMBER): Likewise. + * mn10300.h (DBX_REGISTER_NUMBER): Likewise. + * pdp11.h (DBX_REGISTER_NUMBER): Likewise. + * romp.h (DBX_REGISTER_NUMBER): Likewise. + * rs6000.h (DBX_REGISTER_NUMBER): Likewise. + * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise. + * s390/linux.h (DBX_REGISTER_NUMBER): Likewise. + * stormy16.h (DBX_REGISTER_NUMBER): Likewise. + * v850.h (DBX_REGISTER_NUMBER): Likewise. + * vax.h (DBX_REGISTER_NUMBER): Likewise. + * we32k.h (DBX_REGISTER_NUMBER): Likewise. + + * defaults.h (DBX_REGISTER_NUMBER): Provide a default. + * doc/tm.texi (DBX_REGISTER_NUMBER): Update. + +2001-11-21 H.J. Lu + + * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo. + +2001-11-21 Kaveh R. Ghazi + + * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to + emit_cmp_and_jump_insns. + + * stormy16.c (xstormy16_expand_builtin_va_arg, + xstormy16_expand_casesi): Likewise. + +Wed Nov 21 17:37:16 2001 Richard Kenner + + * function.c (keep_stack_depressed): Major rework. + (handle_epilogue_set, emit_equiv_load): New functions. + (thread_prologue_and_epilogue_insns): keep_stack_depressed now + has return value. + * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P. + * rtl.h (SET_IS_RETURN_P): New macro. + + * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly + and also support TREE_ADDRESSABLE. + * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE. + +2001-11-21 David Edelsohn + + * rs6000.md (cmptf_internal1): Replace %$ with $. + +Wed Nov 21 16:44:01 2001 Douglas B. Rupp + + * cppfiles.c (STAT_SIZE_TOO_BIG): Define. + (read_include_file): Use STAT_SIZE_TOO_BIG. + + * cppinit.c (INO_T_COPY): Define. + (INO_T_EQ): Uppercase parameters. + (append_include_chain): Use INO_T_COPY. + +2001-11-21 Richard Sandiford + + * cfg.c: Fix typos and formatting in the introductory comment. + +Wed Nov 21 12:38:37 CET 2001 Jan Hubicka + + * profile.c (compute_branch_probabilites): Compute probabilities + for entry/exit edges; estimate probabilities for zero counts. + +2001-11-21 Jakub Jelinek + + * explow.c (probe_stack_range): Use LCT_NORMAL as second argument + to emit_library_call. + * function.c (expand_main_function, expand_function_start, + expand_function_end): Likewise. + * profile.c (output_func_start_profiler): Likewise. + * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as + second argument to emit_library_call. + * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK + as second argument to emit_library_call. + * calls.c (emit_library_call): Update fn_type description. + +2001-11-21 Jakub Jelinek + + * c-decl.c (c_expand_deferred_function): Only call c_expand_body + if fndecl is still DECL_INLINE and has DECL_RESULT. + +2001-11-20 Kaveh R. Ghazi + + * clipper.c (clipper_movstr): Avoid uninitialized warning. + * i960.c (is_mask, legitimize_address): Likewise. + * m88k.c (m88k_expand_prologue): Likewise. + * m88k.md: Likewise. + * mcore.c (emit_new_cond_insn): Likewise. + * stormy16.c (xstormy16_emit_cbranch): Likewise. + +2001-11-20 Zack Weinberg + + * config.gcc: Delete powerpcle-*-solaris2* stanza. + * config/rs6000/eabi.asm, config/rs6000/rs6000.c, + config/rs6000/rs6000.h, config/rs6000/rs6000.md, + config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm, + config/rs6000/sysv4.h, config/rs6000/t-ppccomm, + config/rs6000/t-ppcos: Expunge all references to Solaris. + + * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete. + + * config/rs6000/rs6000.md: Replace '%$' with '$' in all + output templates. + * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0, + and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P. + +2001-11-20 Kaveh R. Ghazi + + * sh.md: Avoid uninitialized warnings. + * vax.c (vax_rtx_cost): Likewise. + +2001-11-15 Aldy Hernandez + + * rs6000.c (direct_return): Check if we are saving altivec + registers. + (first_altivec_reg_to_save): New. + Updated stack frame layout comments. + (rs6000_stack_info): Calculate altivec register save size. + Save link register if we saved some altivec registers. + (rs6000_stack_info): Align save size to 16 if altivec abi or + abi_darwin. + (rs6000_stack_info): Calculate altivec register offsets. + (rs6000_stack_info): Add altivec info to save_size. + (debug_stack_info): Add altivec debug info. + (rs6000_emit_prologue): Save altivec registers and vrsave. + (compute_vrsave_mask): New. + (altivec_expand_builtin): Remove unused variables. + (rs6000_parse_abi_options): Add static qualifier. + (rs6000_expand_builtin): Remove unused parameters. + (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning. + (altivec_init_builtins): Same. + (is_altivec_return_reg): New. + (vrsave_operation): New. + (ALTIVEC_REG_BIT): New. + (generate_set_vrsave): New. + + * rs6000.md (get_vrsave): New. + (set_vrsave): New. + (*set_vrsave_internal): New. + + * rs6000.h (rs6000_stack): Add first_altivec_reg_save, + altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size, + altivec_padding_size, vrsave_mask. + (TOTAL_ALTIVEC_REGS): New. + (EPILOGUE_USES): Add VRSAVE_REGNO. + +2001-11-20 Jeff Law + + * unroll.c (copy_loop_body): Update LABEL_NUSES for the + exit label as necessary. + +2001-11-20 Brad Kaiser + + * reload1.c (elimination_effects): Use function_invariant_p + instead of CONSTANT_P when considering register equivalences. + +2001-11-20 David O'Brien + + * config.gcc: Add FreeBSD/PowerPC target. + (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*, + powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*, + powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*, + powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*, + powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*, + powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add + freebsd-spec.h to tm_file. + (rs6000-*-lynxos*): Add lynx.h to tm_file. + * config/freebsd.h: Tidy up. + (USING_CONFIG_FREEBSD): Define. + (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG, + FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC, + FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h). + (TARGET_HAS_F_SETLKW): Define. + (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine. + * config/freebsd-spec.h: New file. + * config/rs6000/freebsd.h: New file. + * config/rs6000/rs6000.h (TARGET_VERSION): Do not define. + * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than + USING_SVR4_H to know when to turn on ELF support. + * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef, + define only if not already defined. + Add FreeBSD support. + * config/rs6000/aix.h (TARGET_VERSION): Define. + * config/rs6000/beos.h: Likewise. + * config/rs6000/darwin.h: Likewise. + * config/rs6000/mach.h: Likewise. + * config/rs6000/lynx.h (TARGET_VERSION): Likewise. + Don't include lynx.h directly. + +2001-11-20 Graham Stott + + * unwind-dw2-fde.c (__deregister_frame_info_bases): + Fix lossage in last change return OB. + +Tue Nov 20 11:56:12 2001 Douglas B. Rupp + + * config/alpha/xm-vms.h (_POSIX_EXIT): Define. + Remove unneeded exit related macros. + +2001-11-20 David Edelsohn + + * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm. + + * rs6000.c (rs6000_emit_move): Add TFmode case. + * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128, + LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, + LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here... + * rs6000.h: ... to here. + * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2, + trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2, + fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns. + +Tue Nov 20 06:41:38 2001 Richard Kenner + + * emit-rtl.c (get_mem_attrs): Fix typo. + +2001-11-20 Jakub Jelinek + + * c-lang.c (finish_file): Backout 2001-11-16 + changes, instead set DECL_DEFER_OUTPUT for static inline functions + before calling c_expand_deferred_function. + +2001-11-20 Jakub Jelinek + + * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame): + Don't register empty .eh_frame sections. + (__deregister_frame_info_bases, __deregister_frame): Don't + unregister them either. + +2001-11-19 Geoffrey Keating + + * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define. + (HAVE_AS_GSTABS_DEBUG_FLAG): Define. + * configure: Regenerate. + * config.in: Add dummy definitions of new flags. + * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to... + * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here. + * gcc.c (ASM_DEBUG_SPEC): New macro. + (asm_debug): New static variable. + (default_compilers): Add asm_debug when assembling from + user input. + (static_specs): Add asm_debug. + +2001-11-20 Loren J. Rittle + + * config.gcc (*-*-freebsd*): Remove configuration block. + +2001-11-19 Loren J. Rittle + + bootstrap/4422 + * configure.in: Setup ability to run ./stage[1234]/xgcc in + fixinc *as if* it were a proper lang subdirectory. + * configure: Rebuilt. + +2001-11-19 Loren J. Rittle + + * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again). + +2001-11-19 Kaveh R. Ghazi + + * 1750a.md: Don't use hex format for a const_int. + +2001-11-19 Geoffrey Keating + + * expmed.c (extract_bit_field): Don't create invalid SUBREGs. + +2001-11-19 Zack Weinberg + + * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is + defined (prevents link errors when gettext isn't in the system + library). + +2001-11-19 DJ Delorie + + * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these. + (validate_const_int): New. + (read_rtx): Validate constant integers. + * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants. + +2001-11-19 Jakub Jelinek + + * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table. + +Mon Nov 19 16:57:44 2001 Douglas B. Rupp + + * toplev.c (DUMPFILE_FORMAT): Define default. + (open_dump_file): Use DUMPFILE_FORMAT in sprintf. + (close_dump_file, compile_file): Likewise. + * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define. + * doc/hostconfig.texi (DUMPFILE_FORMAT): Document + +2001-11-19 Jeff Law + + * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create + a nop-jump. + +2000-11-19 Neil Booth + + * cppmacro.c (_cpp_backup_tokens): Revert previous check-in. + Don't fall off the base token run. + +2001-11-19 Jason Wilkins + + * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM. + +Mon Nov 19 15:13:43 2001 Richard Kenner + + * tree.def (VIEW_CONVERT_EXPR): New tree code. + * tree.h (handled_component_p): New declaration. + * alias.c (handled_component_p): Move function from here ... + * expr.c (handled_component_p): ... to here and non longer static. + (is_zeros_p, case VIEW_CONVERT_EXPR): New case. + (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call. + (get_inner_reference): Handle VIEW_CONVERT_EXPR. + (expand_expr, case VAR_DECL): Clean up handling of re-layout case. + (expand_expr, case VIEW_CONVERT_EXPR): New case. + (expand_expr, cse ADDR_EXPR): No need to copy if already + BIGGEST_ALIGNMENT. + * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case. + * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New. + (output_constant): Handle VIEW_CONVERT_EXPR. + * dwarf2out.c (loc-descriptor_from_tree, add_bound_info): + Add new case for VIEW_CONVERT_EXPR. + +2001-11-19 Kaveh R. Ghazi + + * a29k/unix.h (ASM_FILE_START): Const-ify. + * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon. + * i386/isc.h (ASM_FILE_START): Const-ify. + * i386/sun386.h (ASM_FILE_START): Likewise. + * m32r.md: Likewise. + * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets. + * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise. + * m68k/tower.h (REGISTER_NAMES): Remove semi-colon. + * mn10200.md: Initialize variable. + +Mon Nov 19 18:06:21 CET 2001 Jan Hubicka + + * gcse.c (try_replace_reg): Copy RTX before creating note. + + * df.h (df_ref_flags): New uenum. + (DF_REF_FLAGS): New macro. + (struct ref): Add field "flags". + * df.c (HANDLE_SUBREG): Remove. + (df_ref_create): Likewise; set flags field of ref. + (df_def_record_1): Strip down read_write subreg; remove + commented out code; set READ_WRITE flag. + (read_modify_subreg_p): New static function. + (df_uses_record): Cleanup SET handling; set READ_WRITE flag; + new argument "flags". + (df_insn_refs_record): Update call of df_uses_record. + (df_insn_modify): Avoid #if 0 around comment. + (df_dump): Dump the read/write flag. + + * predict.c (propagate_freq): Make cyclic_probability and frequency + volatile + + * i386.c (ix86_cc_mode): Accept USE. + + * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed + jump is turned into simplejump. + +2001-11-19 Joseph S. Myers + + * doc/fragments.texi, doc/trouble.texi: Remove links to old + installation chapter. + * doc/gcc.texi: Don't claim that this manual documents + installation. Mark Installation menu entry as being out of date. + +Mon Nov 19 07:21:35 2001 Douglas B. Rupp + + * config/alpha/xm-vms.h: Don't define macros that autoconf handles. + (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility. + * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h. + +2001-11-19 Jason Merrill + + * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing + cur_token, not after. + + * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h: + Lose ASM_OUTPUT_CONSTRUCTOR. + * system.h: Poison it and INT_ASM_OP. + * c-lang.c (finish_file): Don't check for it. + * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead. + +2001-11-18 Kaveh R. Ghazi + + * mmix.c (mmix_cc1_ignored_option): Const-ify. + (mmix_init_machine_status): Make static to match declaration. + (mmix_unique_section): Const-ify. + (mmix_output_quoted_string): Avoid automatic aggregate + initialization. + (mmix_output_register_setting): Likewise. + (mmix_output_shiftvalue_op_from_str): Likewise. + + * mmix.h (mmix_cc1_ignored_option): Const-ify. + (ASM_OUTPUT_BYTE): Fix format specifier warning. + (ASM_GENERATE_INTERNAL_LABEL): Likewise. + +2001-11-18 Craig Rodrigues + + PR c/4448 + * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable + name __objc_thread_exit_status so that it matches the + variable defined in objc/thr.h. + +2001-11-18 Craig Rodrigues + + PR bootstrap/4020 + * mklibgcc.in: Add missing semi-colons. + * Makefile.in: Same. + +Sun Nov 18 16:47:00 2001 Richard Kenner + + * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL + after re-laying out decl in incomplete case. + (expand_expr, case ADDR_EXPR): Fix typo in copy case. + +2001-11-18 Joseph S. Myers + + * doc/install-old.texi: Move some sections out to ... + * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi: + ... here. New files. Make into chapters rather than sections. + * doc/gcc.texi: Include the new files and add menu entries for + them. + * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies. + +Sun Nov 18 14:13:52 2001 Richard Kenner + + * tree.h (TYPE_ALIGN_OK): New flag. + * emit-rtl.c (set_mem_attributes): Handle it. + * expr.c (emit_single_push_insn): Only set to alias set 0 if + doing sibcall optimization. + (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case + when make temporary. + (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case. + (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy. + + * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL. + +2001-11-18 Joseph S. Myers + + * c-decl.c (c_decode_option): Give deprecation warning for + -traditional. + * doc/invoke.texi (-traditional): Note that this option is + deprecated. + +Sun Nov 18 07:40:07 2001 Douglas B. Rupp + + * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift + arg to HOST_WIDE_INT, not long. + + * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define. + (HAS_INIT_SECTION): Define. + (REAL_ARITHMETIC): Don't undefine. + +2001-11-18 Egor Duda + + * config/i386/cygwin.h: Strip leading '*' from name, if any. + +2001-11-18 Neil Booth + + * Makefile.in (c-parse.o, c-common.o): Update dependencies. + * c-common.c: Include diagnostic.h. + (c_common_finish): New. + * c-common.h (c_common_finish): New. + * c-lang.c (LANG_HOOKS_FINISH): Override. + * c-parse.in: Don't include diagnostic.h. + (finish_parse): Remove. + * langhooks.h: Update comments. + * toplev.c (lang_dependent_init): New prototype. + (finalize): New. + (compile_file): Split cleanup code out to finalize. + (lang_dependent_init): Stop if lang_hooks.init fails. + (toplev_main): Update. + * tree.h (finish_parse): Remove. +objc: + * objc-act.c (LANG_HOOKS_FINISH): Override. + +Sat Nov 17 23:30:44 2001 Douglas B. Rupp + + * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm. + * config/alpha/vms_tramp.asm: New file. + * config/alpha/vms-tramp.asm: Removed. + +2001-11-18 Joseph S. Myers + + * c-common.c (struct disabled_builtin, disabled_builtins, + disable_builtin_function, builtin_function_disabled_p): New. + (builtin_function_2): Check for disabled built-in functions. + * c-common.h (disable_builtin_function): Declare. + * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION. + * doc/invoke.texi: Document -fno-builtin-FUNCTION. + * doc/extend.texi: Mention -fno-builtin-FUNCTION. + +2001-11-17 Craig Rodrigues + + PR target/4606 + * config.gcc: Remove reference to va-clipper.h. + +2001-11-17 Stan Shebs + + * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the + AltiVec-related bitfields. + +Sat Nov 17 12:06:31 2001 Richard Kenner + + * except.c (enum eh_region_type): Add ERT_UNKNOWN. + (mark_eh_region, case ERT_UKNONW): New case. + +2001-11-17 Christopher Faylor + Corinna Vinschen + + * config/i386/cygwin.h: Search target specific include directory for + w32api stuff, if appropriate. + +Sat Nov 17 08:20:44 2001 Douglas Rupp + + * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine. + +2001-11-16 Aldy Hernandez + + * config/rs6000/rs6000.md: Change all ldvx to lvx. + +2001-11-16 Alexandre Oliva + + * gensupport.c (process_rtx): Don't assume filename is the first + argument of any rtl. + +2001-11-16 John David Anglin + + * vax-protos.h (reg_was_0_p): New prototype. + * vax.md (movsi, movhi, movqi): Use reg_was_0_p. + * vax.c (follows_p, reg_was_0_p): New functions. + +2001-11-16 John David Anglin + + * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat. + (casesi1): Likewise. Define new pattern which arises by simplification + when operand 1 is a constant int. Correct pattern which arises by + simplification when operand 1 is zero. + +2001-11-16 David O'Brien + + * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*, + arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*, + arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof, + arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout, + arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi, + arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe, + xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file. + * config/arm/aof.h: Don't include arm.h. + * config/arm/aout.h: Likewise. + * config/arm/coff.h: Don't include semi.h and aout.h. + * config/arm/elf.h: Don't include aout.h. + * config/arm/netbsd.h: Don't include netbsd.h and aout.h. + (TARGET_VERSION): Undef before defining. + (ARM_OS_NAME): Likewise + (TARGET_DEFAULT): Likewise + (TARGET_MEM_FUNCTIONS): Do not need to undefine now. + * config/arm/pe.h: Don't include arm/coff.h. + * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use + SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition. + * config/arm/riscix1-1.h: Likewise. + * config/arm/rix-gas.h: Don't include riscix.h. + (DBX_CONTIN_LENGTH): Undef before defining. + * config/arm/semi.h: Don't include aout.h. + * config/arm/semiaof.h: Don't include aof.h. + * config/arm/strongarm-coff.h: Don't include coff.h. + * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h. + * config/arm/vxarm.h: Don't include arm/coff.h. + * config/arm/xscale-coff.h: Don't include coff.h. + +Fri Nov 16 15:22:35 2001 Richard Kenner + + * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and + emit_cmp_insn. + +2001-11-16 Andreas Jaeger + + * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename + to .... + (fixup_fallthru_exit_predecessor): ... this. + Change callers and prototype. + +2001-11-16 Bernd Schmidt + + * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by + hand; don't use gen_setcc_2. + (ix86_expand_builtin): Fix pshufw. + * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special + case UNORDERED to emit the right assembler instruction. + (mmx_pshufw): Lose operand 2. + (cvtsi2ss): Fix representation. + From Graham Stott: + (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute. + +2001-11-16 Joseph S. Myers + + * doc/include/linux-and-gnu.texi: Remove. + * doc/gnu.texi: New. + * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi. + * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies. + +2001-11-16 Kazu Hirata + + * config/a29k/a29k.c: Fix comment formatting. + * config/a29k/a29k.h: Likewise. + * config/arc/arc.c: Likewise. + * config/arc/arc.h: Likewise. + * config/vax/vax.c: Likewise. + * config/vax/vax.h: Likewise. + * config/we32k/we32k.c: Likewise. + * config/we32k/we32k.h: Likewise. + +2001-11-16 Jeff Law + + * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after + creating a new jump insn. + +Fri Nov 13 09:06:25 2001 Richard Kenner + + * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to + copy misaligned data. + * varasm.c (assemble_variable): Set alignment into MEM when changed. + +2001-11-16 Graham Stott + + * optabs.c (prepare_cmp_insn): Correct lossage in last change fix + OPALIGN type. + +2001-11-16 Olivier Hainque + + * except.c: Support for catching a list of types with a single handler + (struct eh_region): Change type and filter to lists for catch regions. + (mark_eh_region): Mark the filter list for GC also. + (expand_start_catch): Always build a list if argument not NULL and + register each type of the list through add_type_for_runtime. + (duplicate_eh_region_1): Change type into type_list for catch regions. + (assign_filter_values): Assign a filter to each type associated with a + catch region. Assign filter for NULL types in a unique entry in the + filter list. + (build_post_landing_pads): Emit compare and jump for each filter of + the list associated with a catch region. + (reachable_next_level): When the type thrown is known, stop the search + as soon as one type within a catch list matches. Also, a handler is + potentially reachable only if at least one of the types it catches + has not been previously caught. + (collect_one_action_chain): Retrieve the filter for a NULL type list + from the first filter list entry. For non NULL type lists, add an + action record for every filter assigned. + * except.h: Reflect changes in comment before expand_start_catch. + +Fri Nov 16 07:12:51 2001 Richard Kenner + + * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if + BLKmode. + +Fri Nov 16 06:37:05 2001 Andreas Tobler + + * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn. + +2001-11-16 Jakub Jelinek + + * c-lang.c (finish_file): Don't emit static inline functions if + they weren't referenced. + +2001-11-15 Stan Shebs + + * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref. + +2001-11-16 Bryce McKinlay + + * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns + call. + * config/i386/i386.md: Likewise. + +Thu Nov 15 21:40:16 2001 Richard Kenner + + * timevar.c (rtl.h): Include so get fancy abort. + +2001-11-15 Dale Johannesen + + * config/darwin.h (SELECT_RTX_SECTION): Force address + initializers into 'const' section + * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of + if_then_else to match result, not operands + +Thu Nov 15 17:57:48 2001 Richard Kenner + + * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P. + * emit-rtl.c (change_address): Fix typo in default alignment. + (adjust_address_1): Use mode of NEW, not MODE, when setting size. + * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case. + * rtl.h (REGNO_PTR_FRAME_P): New macro. + + * expr.c (store_field): Pass tree instead of max size; callers changed. + Change handling of alignment. + Only copy to_rtx if is TARGET. + (expand_expr_unaligned): Delete; callers now use expand_expr. + (emit_cmp_insn): No longer take ALIGN parm; all callers changed. + (expand_assignment): Change handling of alignment. + Only copy to_rtx if was original. + (get_inner_reference): No longer return alginment; callers changed. + (expand_expr, case COMPONENT_REF): Change handling of alignment. + (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned. + (compare_from_rtx): Delete ALIGN parm; all callers changed. + (do_compare_rtx_and_jump): Likewise. + * expr.h: Reflect above changes. + * tree.h: Likewise. + * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter + to get_inner_reference. + * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns. + * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise. + * optabs.c: Likewise. + (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed. + (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed. + * expmed.c: Remove ALIGN arg from calls to compare_from_rtx, + compare_rtx_and_jump, and emit_cmp_jump_insns. + * fold-const.c: Remove PALIGN in calls to get_inner_reference. + * function.c (assign_stack_temp_for_type): No longer static. + * optabs.h (emit_cmp_insn): Remove ALIGN parm. + (prepare_cmp_insn): Delete declaration. + * rtl.h (assign_stack_temp_for_type): Add declaration. + * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes. + * config/clipper/clipper.c, config/h8300/h8300.c: Likewise. + * config/i386/i386.c,config/mips/mips.c: Likewise. + * config/i860/i860.c, config/ia64/ia64.c: Likewise. + * config/rs6000/rs6000.c, config/sh/sh.c: Likewise. + +2001-11-15 Stan Shebs + + * config/rs6000/rs6000.h: Fix a comment typo. + (RTX_COSTS): Sort processor versions better. + +2001-11-15 Kazu Hirata + + * config/h8300/h8300.md: Fix insn length of bit insns. + +2001-11-15 Jason Merrill + + * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan + DIEs if there were errors in the source. + + * config/alpha/alpha-interix.h, config/alpha/elf.h, + config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c, + config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h, + config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c, + config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h, + config/elfos.h, config/lynx.h, config/netware.h, + config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h, + config/s390/linux64.h: Remove definitions of INT_ASM_OP, change + uses to use ASM_LONG. + +2001-11-15 Alan Matsuoka + + * gensupport.c process_include : Change call to alloca to + xmalloc. + +2001-11-15 Aldy Hernandez + + * config/rs6000/rs6000.md: Use spaces instead of tabs in output + templates. + +Thu Nov 15 08:36:39 2001 Richard Kenner + + * final.c (alter_subreg): If simplify_subreg can't do anything, + handle REG ourselves and abort for others. + +2001-11-15 Richard Hodson + + * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt + routines. + +2001-11-15 Neil Booth + + * fix-header.c (read_scan_file): Update. + +Thu Nov 15 08:36:39 2001 Richard Kenner + + * toplev.c (toplev_main): Don't start timing until after + command-line options are parsed. + +2001-11-15 Andreas Schwab + + * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target + makefile frag, not host makefile frag. + (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file. + (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is + used. + (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd. + * config/m88k/t-dguxbcs: Remove definitions already in t-dgux. + * config/m88k/t-dgux (STMP_FIXPROTO): Define. + * config/i386/t-cygwin (STMP_FIXPROTO): Define. + * config/i386/t-dgux (STMP_FIXPROTO): Define. + * config/x-interix: Don't define STMP_FIXPROTO and + FIXPROTO_DEFINES. + * config/t-interix: New file, define STMP_FIXPROTO. + * config/i386/x-beos (STMP_FIXPROTO): Don't define here. + * config/i386/t-beos (STMP_FIXPROTO): Define here instead. + * config/t-svr4 (FIXPROTO_DEFINES): Define. + * config/arm/t-riscix (FIXPROTO_DEFINES): Define. + * config/i386/t-sco5 (FIXPROTO_DEFINES): Define. + * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define. + * config/m68k/t-hp3200: Renamed from x-hp3200. + * config/i370/t-oe: Renamed from x-oe. + * config/mips/t-iris: Renamed from x-iris. + * config/pa/t-bsd: Renamed from x-pa. + * config/pa/t-pa-hpux: Renamed from x-pa-hpux. + * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux, + config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix, + config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6, + config/rs6000/x-cygwin: Remove files. + + * configure.in: Check for target objdump and use that in eh_frame + optimization test. + * configure: Regenerated. + +2001-11-15 Jakub Jelinek + + * jump.c (squeeze_notes): Return true if no real insns were found. + * rtl.h (squeeze_notes): Adjust prototype. + * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If + squeeze_notes finds no real instructions, abort. + (merge_blocks_move_successor_nojumps): Likewise. + * loop.c (find_and_verify_loops): Likewise. + * stmt.c (expand_end_case): Likewise. + * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't + find any real instructions. + + * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs. + + * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized + conditional jump, request updating life into for the block + containing it. Fix a typo which prevented life info update. + Clear blocks bitmap before using it. + +2001-11-15 Neil Booth + + * c-common.c: Include c-lex.h. + (c_common_lang_init): Change prototype. Call init_c_lex and + init_pragma from here. + * c-common.h (c_common_lang_init): Change prototype. + * c-decl.c (init_decl_processing): Rename. Call c_parse_init. + * c-lang.c (c_init): Change prototype. Update. + (c_init_options): Update. + * c-lex.c (cpp_filename): Remove. + (init_c_lex): Update. Read the main file, and get the original + file name. + (yyparse): Finish the command line options. + * c-parse.in (c_parse_init): Call init_reswords here. + (init_parse): Remove. + * c-tree.h (c_init_decl_processing): New. + * cpphash.c (_cpp_init_hashtable): After initializing the hash + table, populate it. + * cppinit.c (read_original_filename, cpp_finish_options): New. + (cpp_create_reader): New prototype. Defer hash table initialization. + (cpp_start_read): Rename cpp_read_main_file. Initialize the + hash table. Get the original filename. + * cpplib.h (cpp_create_reader): Update. + (cpp_start_read): Remove. + (cpp_read_main_file, cpp_finish_options): New. + * cppmain.c (main, do_preprocessing): Update. + * langhooks.h (struct langhooks): Update init prototype. + * toplev.c (general_init, parse_options_and_default_flags, + process_options, lang_indpendent_init, lang_dependent_init, + init_asm_output): New; perform the bulk of initialization. + (compile_file): Move most of initialization to above functions. + (debug_hooks): Initialize statically. + (set_Wunused): Relocate. + (toplev_main): Move most of initialization to other init functions. + Have a clear logic flow. + * tree.h (init_parse, init_decl_processing): Remove. +objc: + * objc-act.c (objc_init): Update prototype, combine with old + init_parse. + (objc_init_options): Update. + + +2001-11-15 Andreas Jaeger + + * cfgrtl.c (purge_all_dead_edges): Use int as argument for + portability. + * basic-block.h: Adjust prototype. + +2001-11-15 Kazu Hirata + + * config/rs6000/aix31.h: Fix comment formatting. + * config/rs6000/beos.h: Likewise. + * config/rs6000/darwin.h: Likewise. + * config/rs6000/eabi.asm: Likewise. + * config/rs6000/linux.h: Likewise. + * config/rs6000/linux64.h: Likewise. + * config/rs6000/lynx.h: Likewise. + * config/rs6000/netbsd.h: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/rs6000/rs6000.h: Likewise. + * config/rs6000/rs6000.md: Likewise. + * config/rs6000/sol2.h: Likewise. + * config/rs6000/tramp.asm: Likewise. + * config/rs6000/xcoff.h: Likewise. + * config/rs6000/xm-beos.h: Likewise. + +2001-11-14 Alan Matsuoka + + * rtl.def (INCLUDE) : Define. + * gensupport.c (init_include_reader, process_include, + save_string) : New functions to implement an include facility + in .md files. + * gensupport.h : Add prototype for init_md_reader_args. + * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c + genextract.c genflags.c genopinit.c genoutput.c + genpeep.c genrecog.c: Change call to init_md_reader to + init_md_reader_args. + * md.texi: Document (include "path") and -I directives for RTL + generation tools. + +2001-11-14 DJ Delorie + + * integrate.c (get_hard_reg_initial_reg): New. + * integrate.h (get_hard_reg_initial_reg): Prototype. + * local-alloc.c (block_alloc): Don't tie pseudos that + represent call-saved hard regs' initial values. + +2001-11-14 Kaveh R. Ghazi + + * m68k/linux.h: Include not "linux.h" to avoid infinite + recursion. + +2001-11-14 Roger Sayle + + * fold-const.c (fold): Optimize strlen comparisons against zero. + +2001-11-14 David O'Brien + + * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*, + sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*, + sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*, + sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*, + sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*, + sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*, + sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*): + Include various CPU headers via tm_file. a.out based platforms now + properly include sparc/aout.h. sol2.h usage now implies including + elfos.h, svr4.h, and sparc/sysv4.h. + * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it. + Also define to '1'. + * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG, + SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, + DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): + Remove. They are a.out specific and belong in sparc/aout.h. + * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION, + ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, + DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from + sparc/sparc.h. + * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME, + TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define. + Moved here from sparc/sparc.h. + * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before + defining. + * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before + * config/sparc/lynx.h: Don't include lynx.h. + (SELECT_SECTION): Do not undef. + * config/sparc/openbsd.h: Don't include sparc/sparc.h. + * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h, + and sparc/sysv4.h. + * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h. + * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from + sparc/aout.h now. + * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO): + Don't undef, there is no need. + * config/sparc/splet.h (CPP_PREDEFINES): Define. + * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise. + * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise. + Don't include sparc/sparc.h. + * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE, + SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, + DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include + elfos.h and svr4.h. + (TARGET_VERSION): Define. + * config/sparc/vxsim.h (TARGET_VERSION): Define. + +Wed Nov 14 19:46:08 CET 2001 Jan Hubicka + + * cfglayout.c (fixup_fallthru_exit_predecesor): New static function. + (cfg_layout_finalize): Use it. + * bb-reorder.c (HAVE_epilogue): Remove. + (make_reorder_chain): Do not care special placement of + last basic block. + + * predict.c (expected_value_to_br_prob): Delete the note + once transformed. + + * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem; + measure integration time separately. + +Wed Nov 14 12:30:57 2001 Richard Kenner + + * function.c (struct temp_slot): ALIGN now unsigned. + +2001-11-14 Kazu Hirata + + * config/dsp16xx/dsp16xx.c: Fix comment formatting. + * config/dsp16xx/dsp16xx.h: Likewise. + * config/dsp16xx/dsp16xx.md: Likewise. + +2001-11-14 Kazu Hirata + + * config/h8300/h8300.c (get_shift_alg): Reorganize the code + that deals with 7-bit shifts in HImode. + +Wed Nov 14 14:17:05 CET 2001 Jan Hubicka + + * dbxout.c (dbxout_symbol_location): Update call of alter_subreg. + * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg. + (final_scan_insn): Update call of alter_subreg. + (cleanup_subreg_operands): Likewise. + (alter_subreg): Rewrite using simplify_subreg. + (output_address, output_operand): Update call of alter_subreg. + * output.h (alter_subreg): Update prototype. + * sdbout.c (sdbout_symbol): Update call of alter_subreg. + * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO. + * Makefile.in (final.o): Add dependency on expr.h + +Wed Nov 14 06:37:54 2001 Richard Kenner + + * c-lang.c (finish_file): Make I unsigned to eliminate warning. + +2001-11-13 Jeff Sturm + + * doc/install.texi (sparc-*-linux*): Mention requirements for + binutils and glibc. + +2001-11-14 Joseph S. Myers + + * Makefile.in (POD2MAN): Don't include --section=1. + (manext): Rename to man1ext. All users changed. + (man7ext): New. + (man7dir): New. + (generated-manpages): Also depend on $(docdir)/gfdl.7, + $(docdir)/gpl.7, and $(docdir)/fsf-funding.7. + ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include + --section=1 in calls to $(POD2MAN). + ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New. + (maintainer-clean, install, uninstall): Handle the new man pages. + ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi. + (installdirs): Create man7dir. + * doc/cpp.texi: Include GFDL in this manual. In the man page, + refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover + texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in + the SEE ALSO man page section. + * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7) + and fsf-funding(7) in the SEE ALSO man page section. + * doc/invoke.texi: Apply GFDL to man page. Include gpl(7), + gfdl(7) and fsf-funding(7) in the SEE ALSO man page section. + * doc/include/fdl.texi, doc/include/funding.texi, + doc/include/gpl.texi: Adjust for conversion by texi2pod.pl. + * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7. + +2001-11-13 Richard Henderson + + * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC + as appropriate for the artificial decl. + +2001-11-13 Richard Henderson + + * loop.c (combine_movables): Turn off combination until + move_movables validation bugs are fixed. + +2001-11-13 DJ Delorie + + * config.gcc (powerpc|rs6000): Set default cpp options based + on --with-cpu settings. + * config/rs6000/softfloat.h: New. + +2001-11-13 Kazu Hirata + + * config/h8300/h8300.c (shift_alg_si): Use special code for + 25-bit shifts on H8/S. + (get_shift_alg): Generate special code for 25-bit shifts on + H8/S. + +2001-11-13 Jakub Jelinek + + * emit-rtl.c (adjust_address_1): Add ADJUST argument. + (adjust_automodify_address_1): New. + * expr.h (adjust_address, adjust_address_nv): Adjust. + (adjust_automodify_address, adjust_automodify_address_nv): Define. + (adjust_address_1): Update prototype. + (adjust_automodify_address_1): Add prototype. + * expr.c (move_by_pieces_1): Use adjust_automodify_address. + (store_by_pieces_2): Likewise. + +Tue Nov 13 05:45:40 2001 Richard Kenner + + * Makefile.in (explow.o): Now depends on ggc.h. + * explow.c (ggc.h): Include. + (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root. + + * Makefile.in (expr.o): Depends on insn-attr.h. + * expr.c (insn-attr.h): New include. + (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG + of MEM. + (highest_pow2_factor, case INTEGER_CST): Handle negative values. + (expand_expr): Remove unneeded mark_temp_addr_taken calls and + clean up related usage in ADDR_EXPR. + (expand_expr_unaligned): Likewise. + + * emit-rtl.c (change_address): Fix typo in alias setting. + +2001-11-13 Kaveh R. Ghazi + + * Makefile.in (cfgcleanup.o): Depend on insn-config.h + +2001-11-12 Craig Rodrigues + + PR bootstrap/3451 + * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to + GCC_BAD, GCC_BAD2, GCC_BAD_ACTION. + +2001-11-12 David O'Brien + + * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*, + sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*, + sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*, + sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*, + sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*, + sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*, + sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, + sparc64-*-linux*): Include various CPU headers via tm_file. + * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it. + (SELECT_SECTION): Likewise. + (SELECT_RTX_SECTION): Likewise. + * config/sparc/sparc_bi.h: New file. + * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h. + * config/sparc/linux-aout.h: Likewise. + * config/sparc/linux.h: Don't include sparc/sysv4.h. + * config/sparc/linux64.h: Likewise. + (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead. + * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h. + * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h, + and dbxcoff.h + (ASM_OUTPUT_IDENT): Do not #undef. + (SELECT_SECTION): Likewise. + (SELECT_RTX_SECTION): Likewise. + * config/sparc/liteelf.h: Don't include gofast.h. + * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h. + * config/sparc/lynx.h: Don't include sparc/sparc.h. + * config/sparc/pbd.h: Likewise. + * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h. + * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h. + * config/sparc/rtemself.h: Don't include rtems.h. + * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h. + * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include + sparc_bi.h instead. + * config/sparc/sol2-sld.h: Don't include sparc/sol2.h. + * config/sparc/sol2.h: Include sparc/sparc.h directly. + * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h. + * config/sparc/sp64-elf.h: Don't include sparc/sol2.h. + * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h. + * config/sparc/sp86x-elf.h: Don't include gofast.h. + * config/sparc/splet.h: Don't include sparc/aout.h. + * config/sparc/sun4o3.h: Don't include sparc/sparc.h. + * config/sparc/sysv4.h: Don't include sparc/sparc.h directly. + * config/sparc/vxsim.h: Don't include sparc/sysv4.h. + * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h. + * config/sparc/vxsparc64.h: Don't include gofast.h. + (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead. + +2001-11-12 Joseph S. Myers + + * doc/standards.texi: Mention C99 TC1. + +2001-11-12 Kaveh R. Ghazi + + * mips-protos.h (mips_output_conditional_branch): Const-ify. + * mips.c (mips_output_conditional_branch): Likewise. + +2001-11-12 Kazu Hirata + + * config/h8300/h8300.c (shift_alg_si): Use special code for + 15-bit logical shifts and 31-bit logical shifts. + (get_shift_alg): Generate special code for 15-bit and 31-bit + logical shifts. + +2001-11-12 Kazu Hirata + + * config/h8300/h8300.c (shift_alg_qi): Use rotations when + doing 6-bit logical shifts on H8/S. + (shift_alg_qi): Use special code for 21-bit shifts on H8/S. + (get_shift_alg): Generate special code for 21-bit shifts on + H8/S. + +2001-11-12 Kazu Hirata + + * config/h8300/h8300.c (get_shift_alg): Remove a redundant + label. + +Mon Nov 12 11:58:26 2001 Richard Kenner + + * alias.c (nonoverlapping_memrefs_p): Only update size from memref + if both size and offset known. + +2001-11-12 David O'Brien + + * config/ia64/freebsd.h: Fix misspelling. + +2001-11-12 Joseph S. Myers + + * doc/gcc.texi: Move several chapters out to ... + * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi, + doc/include/linux-and-gnu.texi, doc/interface.texi, + doc/makefile.texi, doc/passes.texi, doc/portability.texi: + ... here. New files. + * doc/gcc.texi, doc/contrib.texi: Move section headings into + contrib.texi. + * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies. + +2001-11-12 Kazu Hirata + + * config/alpha/alpha-interix.h: Fix comment formatting. + * config/alpha/alpha.c: Likewise. + * config/alpha/alpha.h: Likewise. + * config/alpha/alpha32.h: Likewise. + * config/alpha/freebsd.h: Likewise. + * config/alpha/unicosmk.h: Likewise. + * config/alpha/vms.h: Likewise. + +2001-11-12 Kazu Hirata + + * config/h8300/h8300.c (get_shift_alg): Remove redundant code. + +2001-11-12 Jakub Jelinek + + * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register + numbers. + +Mon Nov 12 05:18:42 2001 Richard Kenner + + * emit-rtl.c (set_mem_attributes): If making object, can set alignment + from type. + (replace_equiv_address): Call update_temp_slot_address. + + * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case. + + * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT. + +2001-11-12 Kazu Hirata + + * config/h8300/h8300.c (shift_alg_qi): New. + (shift_alg_hi): Likewise. + (shift_alg_si): Likewise. + (get_shift_alg): Change the type of count to unsigned int. + Use the tables. + +2001-11-11 Alexandre Oliva + + * Makefile.in (c-lang.o): Depend on $(VARRAY_H). + * c-decl.c (c_expand_body): Take argument can_defer_p. Use it + to decide whether to defer a function. + (finish_function): Adjust. + (c_expand_deferred_function): New function. + * c-lang.c (deferred_fns): New variable. + (c_init): Initialize it, and mark it as a root. + (defer_fn): New function. + (finish_file): Expand all deferred functions. + * c-tree.h (defer_fn): Declare. + (c_expand_deferred_function): Likewise. + * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H). + * objc-act.c (deferred_fns): New variable. + (objc_init): Initialize it, and mark it as a root. + (defer_fn): New function. + (finish_file): Expand all deferred functions. + +2001-11-11 Kaveh R. Ghazi + + * alpha.c (unicosmk_special_name): Prototype. + (unicosmk_ssib_name): Delete unused variable. + * alpha/unicosmk.h (common_section, ssib_section): Prototype. + * alpha/vms.h (PREFIX): Undef before defining. + * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise. + * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro + controlling usage. Const-ify. + (alias_number): Delete unused variable. + * m32r/m32r.c (m32r_sched_init): Add missing argument. + (m32r_expand_block_move): Fix uninitialized warnings. + * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is + always true' warnings. + * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine. + * sh/sh.c: Include "integrate.h". + (output_far_jump): Fix uninitialized warning. + * final.c (shorten_branches): Avoid automatic aggregate + initialization. + * integrate.c (subst_constants): Likewise. + +2001-11-11 Kazu Hirata + + * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX. + (get_shift_alg): Remove redundant code. + +2001-11-11 Kazu Hirata + + * config/pa/milli64.S: Fix comment formatting. + * config/pa/pa-64.h: Likewise. + * config/pa/pa-linux.h: Likewise. + * config/pa/pa-protos.h: Likewise. + * config/pa/pa.c: Likewise. + * config/pa/pa.h: Likewise. + * config/pa/pa32-linux.h: Likewise. + * config/pa/pa32-regs.h: Likewise. + * config/pa/pa64-hpux.h: Likewise. + * config/pa/pa64-regs.h: Likewise. + * config/pa/som.h: Likewise. + +2001-11-11 Joseph S. Myers + + * doc/gcc.texi: Move several chapters out to ... + * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi, + doc/service.texi, doc/standards.texi, doc/trouble.texi, + doc/vms.texi: ... here. New files. + * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies. + +2001-11-11 Joseph S. Myers + + * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog, + cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, + collect2.c, combine.c, config.in, configure, configure.in, + conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c, + genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c, + reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix + spelling errors. + +Sun Nov 11 05:56:01 2001 Richard Kenner + + * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq): + Adjust operand number in CONST_DOUBLE. + + * expmed.c (extract_bit_field): No longer pass in alignment. + (extract_fixed_bit_field, extract_split_bit_field): Likewise. + (store_bit_field, store_fixed_bit_field, store_split_bit_field): + Likewise. + * expr.c (store_constructor, store_constructor_field): Likewise. + (store_field, emit_group_load, emit_group_store): Likewise. + * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm. + (store_bit_field, extract_bit_field): Likewise. + * calls.c, expr.c, function.c: Change calls to above functions. + * ifcvt.c, stmt.c: Likewise. + + * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is + constant and one is on frame. + If know memref offset, adjust size from decl. + +2001-11-11 Kaveh R. Ghazi + + * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix + format specifier warning. + * convex.h (ASM_OUTPUT_BYTE): Likewise. + * elfos.h (ALIGN_ASM_OP): Undef before defining. + * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier + warning. + * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * i386-interix.h (gen_stdcall_suffix): Prototype. + * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning. + * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE, + ASM_OUTPUT_LONG_DOUBLE): Likewise. + * i386/interix.c (gen_stdcall_suffix): Const-ify. + * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, + ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format + specifier warnings. + * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE, + ASM_OUTPUT_LONG_DOUBLE): Likewise. + * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, + ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise. + * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise. + * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL): + Likewise. + * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL): + Likewise. + * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise. + * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, + ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND): + Likewise. + * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE): + Likewise. + * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE): + Likewise. + * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable. + * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning. + * m68k/news.h (PRINT_OPERAND): Likewise. + * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, + ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise. + * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise. + * m68k/plexus.h (ASM_SPEC): Insert space between macro name and + definition. + * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, + ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND, + ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings. + * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise. + * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE, + ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, + PRINT_OPERAND): Likewise. + * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE): + Likewise. + * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise. + * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise. + * mips/iris5gas.h (PUT_SDB_SIZE): Likewise. + * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise. + * mips.c (mips_output_external_libcall): Mark parameter with + ATTRIBUTE_UNUSED. + (mips_asm_file_start): Move variable into the scope where it's + used. + * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise. + * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise. + * mips/sni-gas.h (PUT_SDB_SIZE): Likewise. + * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * ns32k.c (print_operand): Likewise. + * pa.c (print_operand, output_div_insn): Likewise. + * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL, + ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise. + * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify. + * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format + specifier warnings. + * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef. + * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format + specifier warnings. + * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + + * sdbout.c (sdbout_end_epilogue): Mark parameter with + ATTRIBUTE_UNUSED. + * varasm.c (assemble_global): Likewise. + +2001-11-11 H.J. Lu + + * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips. + +Sun Nov 11 01:26:00 CET 2001 Jan Hubicka + + * final.c (*_MAX_SKIP): Use *_max_skip variables. + * flags.h (align_loops_max_skip, align_jumps_max_skip, + align_labels_max_skip): New global variables. + * toplev.c (align_loops_max_skip, align_jumps_max_skip, + align_labels_max_skip): New global variables. + (toplev_main): Set new variables. + * i386.c (override_options): Set max_skip values. + +2001-11-10 Geoffrey Keating + + * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF. + * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF. + * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C', + don't print an @fptr for labels either. + (xstormy16_output_addr_vec): Don't print @fptr here. + * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro. + +Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com) + + * ssa-ccp.c (examine_flow_edges): Use old-style definition, not + an ANSI/ISO definitino. + (ssa_const_prop): Likewise. + +2001-11-10 Aldy Hernandez + + * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or + altivec registers. + +2001-11-09 Kaveh R. Ghazi + + * cppexp.c (parse_number): Use ISXDIGIT/hex_value. + * cpplex.c (hex_digit_value): Use hex_p/hex_value. + * cppmain.c (general_init): Call hex_init. + * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p. + + * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'. + + * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions + of dgux.c:output_file_start(). + + * i386/dgux.c: Delete file. + +2001-11-09 Richard Henderson + + * config/alpha/alpha.c (decl_in_text_section): New. + (current_file_function_operand): Use it. + (alpha_encode_section_info, alpha_end_function): Likewise. + +2001-11-07 David O'Brien + + * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers. + * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove, + they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES, + so OS specific files and use CPP_PREDEFINES for their needs. + * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of + target headers to tm_file. + * config/ia64/aix.h (TARGET_VERSION): Likewise. + * config/ia64/hpux.h (TARGET_VERSION): Likewise. + * config/ia64/linux.h (TARGET_VERSION): Likewise. + (FUNCTION_PROFILER): Remove. + * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the + version in config/ia64/linux.h. + * config/ia64/freebsd.h: New file. + * config/freebsd.h: Tidy up. + (_USING_CONFIG_FREEBSD): Define. + (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__. + (FBSD_CPP_SPEC): Define generic FreeBSD spec. + (FBSD_STARTFILE_SPEC): Likewise. + (FBSD_ENDFILE_SPEC): Likewise. + (FBSD_LIB_SPEC): Likewise. + (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed. + (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers + set an ELF-improper one. + +2001-11-09 John David Anglin + + * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a + constant can be loaded in a single instruction to a register. When + loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use + depdi for insertion of most significant 32-bits on 64-bit hosts. + * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built + with ldil/ldo/depdi instruction sequence on 64-bit hosts. + * pa.md: New addmove pattern for adding constant_int to HImode + register and moving result to HImode register. Remove HImode HIGH + and LO_SUM patterns. + +2001-11-09 Neil Booth + + * Makefile.in: Update. + * c-decl.c (print_lang_decl, print_lang_type): Remove. + (print_lang_identifier): Rename c_print_identifier. + * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New. + (print_lang_statistics, lang_print_xnode): Remove. + * c-parse.in (set_yydebug): Rename c_set_yydebug. + * c-tree.h (c_set_yydebug, c_print_identifier): New. + * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New. + LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE, + LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE, + LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New. + (LANG_HOOKS_INITIALIZER): Update. + * langhooks.h (struct lang_hooks): New members. + (lang_print_tree_hook): New. + * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New. + * print-tree.c: Include langhooks.h. + (print_node): Update. + * toplev.c (decode_d_option): Update. + * tree.c: Include langhooks.h. + (dump_tree_statistics): Update. + * tree.h (print_lang_statistics, print_lang_decl, print_lang_type, + print_lang_identifier, set_yydebug, lang_print_xnode): Remove. +objc: + * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER, + LANG_HOOKS_SET_YYDEBUG): Override. + (lang_print_xnode, print_lang_statistics): Remove. + +2001-11-09 Richard Henderson + + * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING + on the symbol string. + +2001-11-09 Kaveh R. Ghazi + + * pa/elf.h (ASM_DECLARE_FUNCTION_NAME, + ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining. + * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause. + + * clipper.h (ASM_OUTPUT_REG_POP): Fix typo. + + * tlink.c (recompile_files): Copy strings passed to `putenv'. + +2001-11-09 Geoffrey Keating + + * tree.h (TYPE_VOLATILE): Trap use not on TYPEs. + (TYPE_READONLY): Likewise. + + * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time. + + * config/stormy16/stormy16.h (ASM_SPEC): Revert last change, + don't pass --gdwarf2 to the assembler if the compiler will also + provide debug info. + + * config/stormy16/stormy16.c (xstormy16_expand_casesi): + Don't change INDEX. + +Fri Nov 9 17:51:09 2001 Richard Kenner + + * alias.c (nonoverlapping_memrefs_p): New function. + (true_dependence, canon_true_depenence, write_dependence_p): Call it. + + * emit-rtl.c (set_mem_attributes): Get alignments for constants. + +2001-11-09 Aldy Hernandez + + * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS. + (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless + generating altivec code. + (FIXED_REGISTERS): VRSAVE is fixed. + (CALL_USED_REGISTERS): VRSAVE is call used. + +2001-11-09 Jason Eckhardt + + * config/mips/mips.c (mips_output_conditional_branch): Do not hard + code the branch target as ".+16/.+12", but rather use labels. + +Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com) + + * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0 + to work around limitations of certain versions of GAS. + + * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues. + (muldi3): Update due to SUBREG_BYTE changes. + (casesi): Similarly. + +2001-11-09 Zack Weinberg + + * doc/invoke.texi: Remove comment referring to -xf77-version. + +2001-11-09 Kazu Hirata + + * config/convex/convex.c: Fix comment formatting. + * config/convex/convex.h: Likewise. + +2001-11-08 Zack Weinberg + + * Makefile.in (.po.pox): Look both in srcdir and builddir + for $(PACKAGE).pot. + (po/$(PACKAGE).pot): Don't move-if-change the new potfile over + to the source directory. + +2001-11-09 Ben Elliston + Michael Meissner + Andrew MacLeod + Richard Henderson + Nick Clifton + Catherine Moore + + * m32r.c: Add support for m32rx processor. + * m32r.h: Ditto. + * m32r.md: Ditto. + * t-m32r: Ditto. + * m32r-protos.h: Add prototypes for m32rx functions. + * doc/invoke.texi: Document -m32rx option. + +2001-11-09 Jakub Jelinek + + * config/sparc/sparc.md (movdf): Avoid calling validize_mem during + or after reload. + +2001-11-09 Gerald Pfeifer + + * doc/install.texi2html: Use $MAKEINFO --no-split. + +2001-11-09 Andreas Schwab + + * Makefile.in ($(HOST_PREFIX_1)rtl.o, + $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o, + $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, + $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o, + $(HOST_PREFIX_1)ggc-none.o): Update dependencies. + +2001-11-09 H.J. Lu + + * config/mips/mips.c (mips_output_function_prologues): Cast + `tsize' to long for output. + +2001-11-09 Neil Booth + + * c-lang.c (LANG_HOOKS_NAME): New. + (lang_hooks): Constify. + (c_init_options): Update. + (lang_identify): Remove. + * c-parse.in (language_string): Remove. + * dbxout.c: Include langhooks.h. + (dbxout_symbol_location): Update. + * dwarf2out.c: Include langhooks.h. + (gen_compile_unit_die): Update. + * dwarfout.c: Include langhooks.h. + (prototyped_attribute, output_compile_unit_die): Update. + * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New. + (LANG_HOOKS_INITIALIZER): Update. + * langhooks.h (struct lang_hooks): New members. Constify. + * stringpool.c: Don't include toplev.h. + (set_identifier_size): Remove. + * toplev.c (toplev_main): Initialize identifier size. + (print_version): Update. + * tree.h (language_string, init_lex, lang_identify, + set_identifier_size): Remove. + * Makefile.in: Update dependencies. + * config/darwin.c: Include langhooks.h. + (func_name_maybe_scoped): Update. + * config/darwin.h (ASM_END_FILE): Update. + * config/nextstep.h (ASM_END_FILE): Update. + * config/nextstep21.h (ASM_END_FILE): Update. + * config/i386/sun386.h (ASM_END_FILE): Update. + * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h. + (rs6000_output_function_epilogue): Update. +objc: + * objc-act.c (LANG_HOOKS_NAME): Override. + (struct lang_hooks): Constify. + (objc_init_options): Update. + (lang_identify): Remove. + +Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com) + + * fold-const.c (lshift_double): Honor PREC. + (rshift_double): Likewise. + +2001-11-08 Kazu Hirata + + * config/1750a/1750a.c: Fix comment formatting. + * config/1750a/1750a.h: Likewise. + +2001-11-08 Phil Edwards + + * configure.in (--enable-languages): Be more permissive about + syntax. Check for empty lists better. Warn about $LANGUAGES. + * configure: Regenerated. + +2001-11-08 Richard Henderson + + * dwarf2asm.c (dw2_force_const_mem): Fix typo. + +2001-11-08 Geoffrey Keating + + * config.gcc: Rename stormy16 to xstormy16. + * config/stormy16/stormy-abi: Likewise. + * config/stormy16/stormy16-protos.h: Likewise. + * config/stormy16/stormy16.c: Likewise. + * config/stormy16/stormy16.h: Likewise. + * config/stormy16/stormy16.md: Likewise. + +2001-11-06 Geoffrey Keating + + * tree.h (TYPE_VOLATILE): Add enable-checking code. + (TYPE_READONLY): Likewise. + +Thu Nov 8 18:00:55 2001 Richard Kenner + + * reload1.c (reload): Don't delete equiv insn if can throw. + + * expr.c (emit_block_move): If X is readonly emit CLOBBER for it. + (clear_storage): Likewise, for OBJECT. + +Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com) + + * pa.c (emit_move_sequence): Fix SUBREG expression to + use proper byte offset when extending a constant from + SImode to DImode. + +2001-11-09 Jakub Jelinek + + * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns + which cannot throw. + +Thu Nov 8 18:00:55 2001 Richard Kenner + + * explow.c (convert_memory_address, case SUBREG): Only return + inner object if SUBREG_PROMOTED_VAR_P or known to be pointer. + +2001-11-08 Richard Henderson + + * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include. + (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir. + (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise. + +2001-11-08 Aldy Hernandez + + * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec. + +2001-11-08 Jakub Jelinek + + * dwarf2out.c (debug_str_hash): New. + (struct indirect_string_node): New. + (struct dw_val_struct): Change type of val_str to it. + (DEBUG_STR_SECTION_FLAGS): Define. + (add_AT_string): Push string into hashtable, increment reference + counter. + (AT_string): Return string from ht_identifier. + (AT_string_form): New. + (free_AT): For dw_val_class_str, just decrement reference counter. + (size_of_string): Remove. + (size_of_die): Use AT_string_form to decide what size the string + occupies in DIE. + (size_of_pubnames): Use strlen instead of size_of_string. + (value_format): Use AT_string_form for dw_val_class_str. + (output_die): Output DW_FORM_strp strings using + dw2_asm_output_offset. + (indirect_string_alloc, output_indirect_string): New. + (dwarf2out_finish): Emit .debug_str strings if there are any. + +2001-11-08 Andreas Franck + + * configure.in: Add AC_ARG_PROGRAM to support program name + transformation with --program-prefix, --program-suffix and + --program-transform-name. + * configure: Regenerated. + * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME, + PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME, + GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME, + PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle + program_transform_name the way suggested by autoconf. + (GCC_TARGET_INSTALL_NAME): Define. + (install-driver): Use the transformed target alias name. + +2001-11-08 Richard Henderson + + * config/mips/mips.c (save_restore_insns): Remove GP from the + restore registers mask early instead of special casing it inside + the loop. + +2001-11-08 Neil Booth + + * cp/decl.c (shadow_warning): New function. + (pushdecl): Improve -Wshadow warnings. Don't give both a warning + and an error when a block scope decl shadows a parameter. + +2001-11-08 Richard Henderson + + * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST + case as well. + +2001-11-08 John David Anglin + + * pa.md (negdf2, negsf2): Use multiplication rather than subtraction + to implement floating negation on processors prior to PA 2.0. + +2001-11-08 Jakub Jelinek + + * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New. + (USE_LINKONCE_INDIRECT): Define. + (dw2_output_indirect_constant_1): Try to output indirect constants + into linkonce sections if possible. + (dw2_force_const_mem): Likewise. Register indirect_pool with GGC. + (dw2_output_indirect_constants): Likewise. + +2001-11-07 Aldy Hernandez + + * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave. + +2001-11-07 Neil Booth + + * c-decl.c (pushdecl): Remove file and line. + * c-typeck.c (pop_init_level): Remove size. + +2001-11-07 Aldy Hernandez + + * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec + for rs6000. + + * config/rs6000/rs6000.h (MASK_ALTIVEC): New. + (TARGET_ALTIVEC): New. + (TARGET_SWITCHES): Add altivec. + (FIRST_PSEUDO_REGISTER): Change to 109. + (CALL_USED_REGISTERS): Same. + (FIRST_ALTIVEC_REGNO): New. + (LAST_ALTIVEC_REGNO): New. + (ALTIVEC_REGNO_P): New. + (UNITS_PER_ALTIVEC_WORD): New. + (ALTIVEC_VECTOR_MODE): New. + (FIXED_REGISTERS): Add altivec registers. + (REG_ALLOC_ORDER): Same. + (HARD_REGNO_NREGS): Adjust for altivec registers. + (HARD_REGNO_MODE_OK): Same. + (MODES_TIEABLE_P): Same. + (REGISTER_MOVE_COST): Same. + (REGNO_REG_CLASS): Same. + (reg_class): Add ALTIVEC_REGS. + (REG_CLASS_NAMES): Same. + (REG_CLASS_CONTENTS): Same. + (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS. + (ALTIVEC_ARG_RETURN): New. + (FUNCTION_VALUE): Handle VECTOR_TYPE. + (LIBCALL_VALUE): Handle altivec vector modes. + (VECTOR_MODE_SUPPORTED_P): New. + (ALTIVEC_ARG_MIN_REG): New. + (ALTIVEC_ARG_MAX_REG): New. + (ALTIVEC_ARG_NUM_REG): New. + (FUNCTION_VALUE_REGNO_P): Return true for altivec return register. + (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers. + (REGISTER_NAMES): Add altivec regs. + (DEBUG_REGISTER_NAMES): Same. + (ADDITIONAL_REGISTER_NAMES): Same. + (rs6000_builtins): New. + (MD_EXPAND_BUILTIN): New. + (MD_INIT_BUILTINS): New. + (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid + for AltiVec instructions. + (LEGITIMATE_LO_SUM_ADDRESS_P): Same. + (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec + registers. + (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes. + (TARGET_SWITCHES): Add no-altivec. + (DATA_ALIGNMENT): Align vectors to 128 bits. + (TARGET_OPTIONS): Add abi= option. + Add rs6000_abi_string extern. + (LOCAL_ALIGNMENT): New. + (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec. + (MASK_ALTIVEC_ABI): New. + (TARGET_ALTIVEC_ABI): New. + (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to + call-saved. + (STACK_BOUNDARY): Adjust for altivec. + (BIGGEST_ALIGNMENT): Same. + (rs6000_args): Add vregno. + (USE_ALTIVEC_FOR_ARG_P): New. + (FIXED_REGISTERS): Add vrsave register. + (CALL_USED_REGISTERS): Same. + (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info. + (VRSAVE_REGNO): New. + (reg_class): Add VRSAVE_REGS. + (REG_CLASS_NAMES): Same. + (REG_CLASS_CONTENTS): Same. + (REGNO_REG_CLASS): Same. + + * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec. + (ABI_STACK_BOUNDARY): Same. + (BIGGEST_ALIGNMENT): Same. + (ADJUST_FIELD_ALIGN): Remove undef. Define anew. + (ROUND_TYPE_ALIGN): Same. + + * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT + to 64. + + * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT + to 64. + + * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT + to 64. + + * config/rs6000/rs6000.c (rs6000_expand_builtin): New. + (altivec_expand_builtin): New. + (altivec_init_builtins): New. + (TARGET_EXPAND_BUILTIN): New. + (TARGET_INIT_BUILTINS): New. + (rs6000_init_builtins): New. + (struct builtin_description): New. + (bdesc_2arg): New. + (rs6000_reg_names): Add altivec registers. + (alt_reg_names): Same. + (secondary_reload_class): Altivec regs can hold altivec regs and + memory. + (rs6000_emit_move): Force constants into memory for AltiVec moves. + (print_operand): Add 'y' case for printing altivec memory + operands. + (rs6000_legitimize_address): Legitimize vector addresses into + [REG+REG] or [REG]. + (altivec_expand_binop_builtin): New. + New string rs6000_current_abi. + (rs6000_override_options): Call rs6000_parse_abi_options. + (rs6000_parse_abi_options): New. + (function_arg_boundary): Vector arguments must be 16 + byte aligned. + (function_arg_advance): Handle vector arguments. + (function_arg_partial_nregs): Same. + (init_cumulative_args): Same. + (function_arg): Same. + + * config/rs6000/rs6000.md (altivec_lvx): New. + (type): Add altivec attribute. + (movv4si): New. + (*movv4si_internal): New. + (movv16qi): New. + (*movv16qi_internal): New. + (movv8hi): New. + (*movv8hi_internal1): New. + (movv4sf): New. + (*movv4sf_internal1): New. + (altivec_stvx): New. + (vaddubm): New. + (vadduhm): New. + (vadduwm): New. + (vaddfp): New. + (vaddcuw): New. + (vaddubs): New. + (vaddsbs): New. + (vadduhs): New. + (vaddshs): New. + (vadduws): New. + (vaddsws): New. + (vand): New. + (vandc): New. + (vavgub): New. + (vavgsb): New. + (vavguh): New. + (vavgsh): New. + (vavguw): New. + (vavgsw): New. + (vcmpbfp): New. + (vcmpequb): New. + (vcmpequh): New. + (vcmpequw): New. + (vcmpeqfp): New. + (vcmpgefp): New. + (vcmpgtub): New. + (vcmpgtsb): New. + (vcmpgtuh): New. + (vcmpgtsh): New. + (vcmpgtuw): New. + (vcmpgtsw): New. + (vcmpgtfp): New. + (vcmpgefp): New. + (vcmpgtub): New. + (vcmpgtsb): New. + (vcmpgtuh): New. + (vcmpgtsh): New. + (vcmpgtuw): New. + (vcmpgtsw): New. + (vcmpgtfp): New. + (vmaxub): New. + (vmaxsb): New. + (vmaxuh): New. + (vmaxsh): New. + (vmaxuw): New. + (vmaxsw): New. + (vmaxfp): New. + (vmrghb): New. + (vmrghh): New. + (vmrghw): New. + (vmrglb): New. + (vmrglh): New. + (vmrglw): New. + (vminub): New. + (vminsb): New. + (vminuh): New. + (vminsh): New. + (vminuw): New. + (vminsw): New. + (vminfp): New. + (vmuleub): New. + (vmulesb): New. + (vmuleuh): New. + (vmulesh): New. + (vmuloub): New. + (vmulosb): New. + (vmulouh): New. + (vmulosh): New. + (vnor): New. + (vor): New. + (vpkuhum): New. + (vpkuwum): New. + (vpkpx): New. + (vpkuhss): New. + (vpkshss): New. + (vpkuwss): New. + (vpkswss): New. + (vpkuhus): New. + (vpkshus): New. + (vpkuwus): New. + (vpkswus): New. + (vrlb): New. + (vrlh): New. + (vrlw): New. + (vslb): New. + (vslh): New. + (vslw): New. + (vsl): New. + (vslo): New. + (vsrb): New. + (vrsh): New. + (vrsw): New. + (vsrab): New. + (vsrah): New. + (vsraw): New. + (vsr): New. + (vsro): New. + (vsububm): New. + (vsubuhm): New. + (vsubuwm): New. + (vsubfp): New. + (vsubcuw): New. + (vsububs): New. + (vsubsbs): New. + (vsubuhs): New. + (vsubshs): New. + (vsubuws): New. + (vsubsws): New. + (vsum4ubs): New. + (vsum4sbs): New. + (vsum4shs): New. + (vsum2sws): New. + (vsumsws): New. + (vxor): New. + +2001-11-07 Daniel Berlin + + * Makefile.in (df.o): Add fibheap.h to dependencies. + + * df.h: Add prototypes for transfer functions, iterative_dataflow + functions. + (enum df_flow_dir): New enum. + (enum df_confluence_op): New enum. + (struct df): Add inverse_rts_map. + + * df.c: Add sbitmap.h to the list of includes. + (df_rd_global_compute): Removed. + (df_ru_global_compute): Removed. + (df_lr_global_compute): Removed. + (df_rd_transfer_function): New function. + (df_ru_transfer_function): New function. + (df_lr_transfer_function): New function. + (df_analyse_1): allocate/compute/free df->inverse_rts_map. + Use iterative_dataflow_bitmap instead of df_*_global_compute. + (iterative_dataflow_sbitmap): New function. + (iterative_dataflow_bitmap): New function. + +2001-11-07 Joseph S. Myers + + * doc/gcc.texi: Move terminology and spelling conventions to + htdocs/codingconventions.html. + +2001-11-07 Graham Stott + + * cse.c (cse_insn): Emit BARRIER after unconditional jump. + +Wed Nov 7 13:33:34 CET 2001 Jan Hubicka + + * expmed.c (expand_mult): Force operand to register before computing + cost. + * i386.c (x86_decompose_lea): New global vairable. + * i386.h (x86_decompose_lea): Declare. + (TARGET_DECOMPOSE_LEA): New macro. + (RTX_COST): Handle leas properly. + +2001-11-06 Richard Henderson + + * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not + defined for a CONSTRUCTOR; don't check it. + +2001-11-06 Danny Smith + + * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to + test for absolute pathnames. + +2001-11-06 Olivier Hainque + + * unwind-dw2.c (execute_cfa_program): Evaluate call frame + instructions up to the target pc inclusive. + +2001-11-06 Steve Christiansen + + * loop.c (loop_regs_scan): Don't invalidate PIC register. + +2001-11-06 Eric Christopher + + * config/mips/mips.md(movdf_internal2): Add constraints for float + to general register move. + * config/mips/elf64.h: Add default ABI. + +2001-11-06 Neil Booth + + * alias.c:: Include langhooks.h. + * emit-rtl.c: Similarly. + * toplev.c: Similarly. + * tree-inline.c: Similarly. + * langhooks-def.h: New, the old langhooks.h. Give the default + hooks a common prefix. + * langhooks.h: Contents extracted from toplev.h. + * toplev.h: Move langhook stuff to langhooks.h. + * langhooks.c: Give default hooks a common prefix. + + * c-lang.c: Include langhooks-def.h. + * objc/objc-act.c: Similarly. + * Makefile.in: Update. + * objc/Make-lang.in: Update. + +2001-11-06 Joseph S. Myers + + * doc/install.texi: Document that configure options not listed in + this file are unsupported. Document --with-system-zlib. + +Tue Nov 6 09:21:34 2001 Richard Kenner + + * rtl.h (mem_for_const_double): New declaration. + * varasm.c (mem_for_const_double): New function. + * config/convex/convex.md (movdf): Use it. + * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise. + * config/m68k/linux.h, config/m68k/m68k.h: Likewise. + * config/m68k/m68kv4.h: Likewise. + + * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition + of new GP reg classes. + + * expr.c (store_field): When making temp object for unaligned + component, set it to alias set 0. + +2001-11-06 Joseph S. Myers + + * c-common.c (c_expand_expr_stmt): Apply default conversions to + non-lvalue arrays if C99. + * c-typeck.c (default_conversion): Split out code handling + array-to-pointer and function-to-pointer conversions into a + separate default_function_array_conversion function. + (default_function_array_conversion): New function. Keep track of + whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue + arrays unchanged outside C99 mode instead of giving an error for + them. + (build_component_ref): Use pedantic_non_lvalue when handling + COMPOUND_EXPR. Don't handle COND_EXPR specially. + (convert_arguments): Use default_function_array_conversion. + (build_unary_op): For ADDR_EXPR, take a flag indicating whether + non-lvalues are OK. + (unary_complex_lvalue): Likewise. + (internal_build_compound_expr): Use + default_function_array_conversion. Apply default conversions to + function in compound expression. + (build_c_cast, build_modify_expr, digest_init, build_asm_stmt): + Use default_function_array_conversion. + * doc/extend.texi: Update documentation of subscripting non-lvalue + arrays. + Fixes PR c/461. + +2001-11-05 Zack Weinberg + + * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS. + (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files + corresponding to the complete set of .po and .gmo files in + the source directory's po subdir, modified by LINGUAS. Don't + look at ALL_LINGUAS. + * configure.in: Don't set ALL_LINGUAS. + * configure: Regenerate. + + * Makefile.in (.po.gmo): Don't move into source directory. + (.po.pox): Clarify comments. + (install-po): Look for .gmo files in both srcdir and objdir; + don't fail if a file is totally missing. + (distclean): rmdir ada subdirectory too. + +2001-11-05 Geoffrey Keating + + * config/rs6000/rs6000.c (rs6000_select_section): Handle + CONSTRUCTORs _correctly_. + +2001-11-05 Neil Booth + + * c-decl.c (delete_block): Remove. + * c-tree.h (delete_block): Remove. + +2001-11-05 Neil Booth + + * cppexp.c (lex, parse_defined): Update warning about defined. + +2001-11-05 Geoffrey Keating + + * config/rs6000/rs6000.c (rs6000_select_section): Handle + CONSTRUCTORs too. + +2001-11-05 Nick Clifton + + * config/arm/arm.c (arm_return_in_memory): Cope with + int_size_in_bytes returning -1. + + * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle + DECL being NULL. + +Mon Nov 5 16:15:25 CET 2001 Jan Hubicka + + * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h; + remove unneeded dependencies; + (cfglayout.o): New. + * cfglayout.c, cfglayout.h: New files; break out from ... + * bb-reorder.c: ... here; Remove unneeded includes; + +2001-11-04 Alan Modra + + * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used. + +2001-11-04 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit + mode as well. Do not explicitly create intermediate regs. + +2001-11-04 Kaveh R. Ghazi + + * arm/aof.h (aof_text_section, aof_data_section): Don't declare. + (common_section): Delete unused variable. + (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings. + (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning. + * arm-protos.h (arm_poke_function_name, aof_add_import, + aof_delete_import): Const-ify. + * arm.c (legitimize_pic_address): Wrap variables in the macro + controlling their usage. + (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED. + (arm_poke_function_name, pic_chain, import, aof_add_import, + aof_delete_import): Const-ify. + * i386.c (ix86_osf_output_function_prologue): Const-ify. + * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE, + ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings. + * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify. + * i860/sysv3.h: Add missing comment closure. + * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon. + * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call + to symbolic_operand. + + * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*. + (i960-*-*): Set tmake_file. + (sparc86x-*-elf*): Fix typo in header name. + + * sched-rgn.c (schedule_insns): Delete unused variable. + +2001-11-04 Neil Booth + + PR c/2820 + * c-typeck.c (lookup_field): Rework to return a chain down to + the looked-up field. + (build_component_ref): Use the new lookup_field to handle + nested anonymous entities correctly. + +Sun Nov 4 11:53:31 2001 Richard Kenner + + * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64): + Change parameters to gen_rtx_CONST_DOUBLE. + (GEN_INT64, sparc_emit_set_const64): Likewise. + * config/sparc/sparc.md (movdf split): Likewise. + +2001-11-03 Geoffrey Keating + + * unroll.c (calculate_giv_inc): Use find_last_value rather + than just hoping the last instruction is the right SET. + [Fixes 990604-1.c on stormy16.] + + * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss + library at all if -T is used. + + * config/stormy16/stormy16.c (stormy16_print_operand): Avoid + some uses of uninitialized variables in error cases. + + * config/stormy16/stormy16.c (stormy16_output_shift): Don't + look at 'temp' if we won't be using it. + + * config/stormy16/stormy16.h (CONST_COSTS): Define. + (RTX_COSTS): Define. + (ADDRESS_COST): Define. + (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost. + + * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler. + + * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call + stormy16_asm_output_mi_thunk. + * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New + function. + * config/stormy16/stormy16-protos.h + (stormy16_asm_output_mi_thunk): New prototype. + +2001-11-04 Joseph S. Myers + + * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog, + FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c, + caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c, + cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c, + sched-int.h, toplev.c, config/alpha/alpha.c, + config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h, + config/cris/cris.md, config/i370/i370.md, config/i386/i386.c, + config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h, + config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md, + config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h, + config/ns32k/ns32k.md, config/rs6000/rs6000.c, + config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors. + +2001-11-03 Kaveh R. Ghazi + + * Makefile.in (dbxout.o): Depend on function.h. + * collect2.c (is_in_list): Hide unused function. + * dbxout.c: Include function.h. + (source_label_number, dbxout_source_line, dbxout_source_file, + dbxout_function_end, dbxout_begin_function): Wrap/move inside + macros controlling usage. + * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining. + * output.h (exports_section): Prototype. + + * convex.c (convex_output_function_prologue): Fix format specifier + warning. + (asm_declare_function_name): Fix signed/unsigned warning. + (print_operand): Fix format specifier warning. + * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning. + * dsp16xx-protos.h (uns_comparison_operator, + num_1600_core_shifts): Prototype. + * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h. + (frame_size, frame_pointer_offset): Delete. + (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue): + Make static. Fix format specifier warnings. + * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning. + (EXTRA_SECTION_FUNCTIONS): Prototype const_section. + * dsp16xx.md: Add default case in switches. + * fr30.h (IN_RANGE): Delete. + * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings. + * mcore-protos.h (mcore_output_cmov): Const-ify. + * mcore.c (mcore_output_cmov): Likewise. + * mcore.h (switch_to_section): Make static and prototype. + * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix + unsigned>=0 warnings. + * mn10300.h (REGNO_IN_RANGE_P): Likewise. + * rs6000-protos.h (read_only_data_section, + read_only_private_data_section): Prototype. + * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning. + * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED. + * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning. + +2001-11-03 Kaveh R. Ghazi + + * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with + ATTRIBUTE_UNUSED. + * final.c (final_scan_insn): Add brackets around body of if-stmt. + * gcc.c (convert_filename): Add static prototype. Const-ify. + Wrap variable in macros controlling its use. + * output.h (sdata_section): Add prototype. + + * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype. + (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning. + * c4x.h (INIT_SECTION_FUNCTION): Add prototype. + (ASM_FILE_START): Const-ify. + (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format + specifier warning. + * c4x.md: Don't use the 'U' integer suffix. + * clipper.md (clipper_movstr): Delete declaration. + * d30v-protos.h (d30v_move_2words): Const-ify. + (debug_stack_info): Add prototype. + * d30v.c: Include "integrate.h". + (d30v_function_arg_boundary, d30v_function_arg, + d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid + signed/unsigned warnings. + (d30v_print_operand_memory_reference, d30v_move_2words): + Const-ify. + * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript. + * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype. + * fr30.md: Const-ify. + * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype. + * i370.c (i370_label_scan, mvs_get_label): Make definition static. + (mvs_get_label_page): Hide unused static function. + * i860.c (current_function_original_name): Const-ify. + * i860/sysv3.h (current_function_original_name): Likewise. + * i860/sysv4.h (current_function_original_name): Likewise. + * i960.md: Add default case in switches. Remove unused variable. + * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining. + * m32r.md: Const-ify. + * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify. + * m68hc11.c: Include "reload.h". + (static_chain_reg, print_options, m68hc11_asm_file_start): + Const-ify. + * m68hc11.md: Delete unused variable. Const-ify. Add parens + around & in comparison. + * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining. + * mn10200.c (shift_mode): Remove trailing comma. + * mn10300-protos.h (output_tst): Const-ify. + * mn10300.c (output_tst): Likewise. + * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier + warnings. + * pa-protos.h (output_ascii): Use regular char *, not unsigned. + * pa.c (output_ascii): Likewise. + * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype. + * pdp11.md (expand_unop): Delete declarations. + * pj-protos.h (pj_output_addsi3): Const-ify. + * pj.c (pj_output_push_int, pj_output_load, pj_output_inc, + pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond, + unique_src_operand): Add prototypes. + (pj_output_store_into_lval): Make definition static. + (pj_function_incoming_arg): Don't use unary plus. + (pj_output_addsi3): Const-ify. + * romp.md (get_symref): Delete declarations. + * v850-c.c (mark_current_function_as_interrupt): Don't return + value from void function. + * v850.c: Include "integrate.h". + * v850.h (ASM_OUTPUT_LABELREF): Const-ify. + * vax-protos.h (const_section): Add prototype. + +2001-11-03 Aldy Hernandez + + * machmode.def: Add documentation for the seventh argument in + vector modes. + +2001-11-04 Hans-Peter Nilsson + + * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder + consistently. + <-mno-toplevel-symbols>: Change @code{:} to @samp{:}. + <-melf>: Don't have markup for ELF acronym. + +2001-11-03 Hans-Peter Nilsson + + * config.gcc (mmix-*-*): New target. + * doc/invoke.texi: Document MMIX options. + * doc/contrib.texi: Add note about MMIX port to my entry. + * config/mmix/t-mmix: New file. + * config/mmix/mmix.h: New file. + * config/mmix/mmix-protos.h: New file. + * config/mmix/mmix.c: New file. + * config/mmix/mmix.md: New file. + * config/mmix/crti.asm: New file. + * config/mmix/crtn.asm: New file. + +2001-11-03 Kazu Hirata + + * config/sparc/linux-aout.h: Fix comment formatting. + * config/sparc/linux.h: Likewise. + * config/sparc/linux64.h: Likewise. + * config/sparc/lynx.h: Likewise. + * config/sparc/pbd.h: Likewise. + * config/sparc/sol2-sld-64.h: Likewise. + * config/sparc/sol2.h: Likewise. + * config/sparc/sparc.c: Likewise. + * config/sparc/sparc.h: Likewise. + * config/sparc/sparc.md: Likewise. + * config/sparc/sunos4.h: Likewise. + * config/sparc/vxsim.h: Likewise. + * config/sparc/vxsparc.h: Likewise. + * config/sparc/vxsparc64.h: Likewise. + +Sat Nov 3 10:37:56 2001 Richard Kenner + + * 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. + + * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call + force_const_mem. + + * reload.c (combine_reloads): Don't combine an output reload if there + are other reloads around for part of the output. + + * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a + constant expression. + (set_mem_decl): New function. + * expr.h (set_mem_decl): New declaration. + * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo. + (output_asm_operand_names): Add tab. + * reload1.c (alter_reg): Set decl of MEM from REG_DECL. + + * builtins.c (get_memory_rtx): Properly set MEM alias set and + attributes. + +2001-11-03 Joseph S. Myers + + * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi: + Use "invalid" instead of "illegal". Use @r in comments in + examples. + +2001-11-02 Neil Booth + + * c-decl.c (pushdecl): Move block inside if conditional to remove + possibility of a segfault. Lookup block-level extern + variables in enclosing scopes correctly. + + * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL. + +2001-11-02 Aldy Hernandez + + * expmed.c (store_bit_field): Use simplify_gen_subreg to make + SUBREG so we avoid SUBREGing memory. + + * expmed.c (store_bit_field): Same. + +2001-11-02 DJ Delorie + + * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that + using FP registers for DImode mem-mem moves is acceptable. + +2001-11-02 Aldy Hernandez + + * builtins.c (apply_args_size): Handle vector arguments. + (apply_result_size): Same. + + * machmode.def: Set WIDER mode field for all vector entries. + +2001-11-02 Graham Stott + + * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS. + +2001-11-01 Eric Christopher + + * config.gcc: Revert part of earlier patch. + * config/mips/linux.h: Ditto. + * df.c: Include tm_p.h to avoid warnings. + * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust + #if/#endif. + * config/mips/mips.c: Define mips_abi regardless. + (mips_output_function_prologues): Add long casts for .frame + output. + (override_options): Allow use of ABI_32. + +2001-11-01 Kazu Hirata + + * config/m68hc11/m68hc11.c: Fix comment formatting. + * config/m68hc11/m68hc11.h: Likewise. + * config/m68hc11/m68hc11.md: Likewise. + +2001-11-01 Neil Booth + + * c-typeck.c (default_conversion): Retain the original expression + codes. + * gcc.dg/Wparentheses.c: New tests. + +2001-11-01 David S. Miller + + * doc/install.texi (Specific, sparc-sun-solaris2*): Bring + 64-bit Sparc description more in line with reality. + +2001-11-01 Joseph S. Myers + + * Makefile.in (GCOV_OBJS): Add version.o. + * gcov.c: Include "version.h" and . + (gcov_version_string): Remove. + (print_usage): Take a parameter to determine whether this is a + call from --help or an error message. Give fuller output that + follows the GNU Coding Standards for --help. + (print_version): New function. + (options): New. + (process_args): Use getopt_long. Support long options. Follow + GNU Coding Standards for --help and --version. + * doc/gcov.texi: Document long options. + Addresses part of PR other/704. + +2001-11-01 John David Anglin + + * pa.c (output_move_double): Fix typo in double load. + +2001-11-01 Kazu Hirata + + * config/h8300/h8300.c (h8300_encode_label): Compute a string + before passing it to ggc_alloc_string. + +2001-11-01 Kazu Hirata + + * config/m68k/3b1.h: Fix comment formatting. + * config/m68k/3b1g.h: Likewise. + * config/m68k/a-ux.h: Likewise. + * config/m68k/amix.h: Likewise. + * config/m68k/apollo68.h: Likewise. + * config/m68k/atari.h: Likewise. + * config/m68k/aux-exit.c: Likewise. + * config/m68k/ccur-GAS.h: Likewise. + * config/m68k/crds.h: Likewise. + * config/m68k/dpx2.h: Likewise. + * config/m68k/dpx2g.h: Likewise. + * config/m68k/hp310.h: Likewise. + * config/m68k/hp320.h: Likewise. + * config/m68k/isi.h: Likewise. + * config/m68k/linux.h: Likewise. + * config/m68k/lynx.h: Likewise. + * config/m68k/m68k-psos.h: Likewise. + * config/m68k/m68k.c: Likewise. + * config/m68k/m68k.h: Likewise. + * config/m68k/m68k.md: Likewise. + * config/m68k/m68kelf.h: Likewise. + * config/m68k/m68kv4.h: Likewise. + * config/m68k/mot3300.h: Likewise. + * config/m68k/news.h: Likewise. + * config/m68k/next.h: Likewise. + * config/m68k/pbb.h: Likewise. + * config/m68k/plexus.h: Likewise. + * config/m68k/sgs.h: Likewise. + * config/m68k/sun3.h: Likewise. + * config/m68k/tower.h: Likewise. + * config/m68k/vxm68k.h: Likewise. + +2001-10-31 DJ Delorie + + * config/mips/mips.h (mips_cache_flush_func): Prototype. + (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func. + (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero. + * config/mips/mips.c (mips_cache_flush_func): New. + * doc/invoke.texi: Document the new options. + +2001-10-31 Hans-Peter Nilsson + + * config.gcc (cris-*-linux*, tm_file): Rearrange order. + * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine. + + * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting. + + * config/cris/cris.c: Include output.h after tree.h but before + target.h. + +2001-10-31 Zack Weinberg + + * Makefile.in (INTL_TARGETS, POSUB): Delete all references. + (INTL_SUBDIRS): Just intl. + (.SUFFIXES): Add .gmo .po .pox. + (native): Also depend on build-@POSUB@. + (intl.all, intl.install): Depend on config.h and things it includes. + (po-generated): New target; depend on c-parse.c and tradcif.c. + (install-normal): Also depend on install-@POSUB@. + (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables. + (build-, install-, build-po, update-po, install-po, + .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules. + + * aclocal.m4: Prefix each entry in CATALOGS with "po/" + * configure.in: Don't munge XGETTEXT. Don't generate + po/Makefile.in. + * configure: Regenerate. + + * exgettext: Delete. + * config/m68k/m68k.h: Add doc strings for -msky and -mnosky. + * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated. + +2001-10-31 Kazu Hirata + + * config/h8300/h8300.md (two anonymous patterns): New. + +2001-10-31 Aldy Hernandez + + * tree.h (tree_index): Add support for V16QI and V8HI. + (V8HI_type_node): New. + (V16QI_type_node): New. + + * tree.c (build_common_tree_nodes_2): Same. + + * c-common.c (type_for_mode): Same. + +2001-10-31 Kazu Hirata + + * config/i386/att.h: Fix comment formatting. + * config/i386/beos-elf.h: Likewise. + * config/i386/bsd.h: Likewise. + * config/i386/bsd386.h: Likewise. + * config/i386/crtdll.h: Likewise. + * config/i386/cygwin.asm: Likewise. + * config/i386/cygwin.h: Likewise. + * config/i386/djgpp.h: Likewise. + * config/i386/freebsd-aout.h: Likewise. + * config/i386/freebsd.h: Likewise. + * config/i386/gas.h: Likewise. + * config/i386/i386-interix.h: Likewise. + * config/i386/i386-protos.h: Likewise. + * config/i386/i386.c: Likewise. + * config/i386/i386.h: Likewise. + * config/i386/i386.md: Likewise. + * config/i386/i386elf.h: Likewise. + * config/i386/interix.c: Likewise. + * config/i386/isc.h: Likewise. + * config/i386/isccoff.h: Likewise. + * config/i386/iscdbx.h: Likewise. + * config/i386/linux.h: Likewise. + * config/i386/lynx.h: Likewise. + * config/i386/mingw32.h: Likewise. + * config/i386/netbsd-elf.h: Likewise. + * config/i386/next.h: Likewise. + * config/i386/osf1elf.h: Likewise. + * config/i386/osfrose.h: Likewise. + * config/i386/sco5.h: Likewise. + * config/i386/seq-gas.h: Likewise. + * config/i386/seq-sysv3.h: Likewise. + * config/i386/sequent.h: Likewise. + * config/i386/sol2.h: Likewise. + * config/i386/sun386.h: Likewise. + * config/i386/uwin.asm: Likewise. + * config/i386/uwin.h: Likewise. + * config/i386/vxi386.h: Likewise. + * config/i386/win32.h: Likewise. + * config/i386/winnt.c: Likewise. + * config/i386/xm-cygwin.h: Likewise. + * config/i386/xm-mingw32.h: Likewise. + +2001-10-31 Kazu Hirata + + * builtins.def: Fix comment typos. + * config/alpha.c: Likewise. + * config/arm/arm.c: Likewise. + * config/avr/avr.h: Likewise. + * config/d30v/d30v.c: Likewise. + * config/d30v/d30v.h: Likewise. + * config/d30v/d30v.md: Likewise. + * config/dsp16xx/dsp16xx.c: Likewise. + * config/fr30/fr30.c: Likewise. + * config/fr30/fr30.md: Likewise. + * config/i386/i386.c: Likewise. + * config/i860/i860.c: Likewise. + * config/i960/i960.c: Likewise. + * config/ia64/ia64.c: Likewise. + * config/mips/mips.c: Likewise. + * config/pa/pa.c: Likewise. + * config/rs6000/rs6000.c: Likewise. + * config/s390/s390.c: Likewise. + * config/sparc/sparc.c: Likewise. + +2001-10-30 Kazu Hirata + + * config/mips/elf.h: Fix comment formatting. + * config/mips/elf64.h: Likewise. + * config/mips/iris5.h: Likewise. + * config/mips/iris5gas.h: Likewise. + * config/mips/iris6.h: Likewise. + * config/mips/isa3264.h: Likewise. + * config/mips/linux.h: Likewise. + * config/mips/mips.c: Likewise. + * config/mips/mips.h: Likewise. + * config/mips/mips.md: Likewise. + * config/mips/mips16.S: Likewise. + * config/mips/netbsd.h: Likewise. + * config/mips/osfrose.h: Likewise. + * config/mips/r3900.h: Likewise. + * config/mips/sni-svr4.h: Likewise. + * config/mips/svr4-t.h: Likewise. + * config/mips/ultrix.h: Likewise. + +2001-10-30 Daniel Berlin + + * bitmap.c (bitmap_element_free): Don't forget to update head->indx + when we update head->current. + +2001-10-30 Neil Booth + + * tree.c (id_string_size): Remove. + (dump_tree_statistics): Update. + * toplev.c (compile_file): If dumping stats, dump tree stats too. + +Tue Oct 30 19:00:43 CET 2001 Jan Hubicka + + * sched-rgn.c (schedule_insns): Fix comment. + +2001-10-30 Zack Weinberg + + * configure.in: Correct previous change: don't assume that + gas's version number _isn't_ the last thing on the line, or + isn't the only number on the line, either. + * configure: Regenerate. + +2001-10-30 Kazu Hirata + + * cfgcleanup.c: Fix a comment typo. + +2001-10-30 Kazu Hirata + + * alias.c: Fix comment formatting. + * recog.c: Likewise. + * config/cris/cris.c: Likewise. + * config/cris/cris.h: Likewise. + * config/i960/i960.c: Likewise. + * config/i960/i960.h: Likewise. + +2001-10-30 Kazu Hirata + + * config/arm/arm.c: Fix a comment typo. + * config/arm/arm.h: Likewise. + * config/ia64/ia64.c: Likewise. + +2001-10-30 Jakub Jelinek + + * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or + REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any). + * rtl.h (set_unique_reg_note): Change return value. + * gcse.c (try_replace_reg): Use set_unique_reg_note. + * cse.c (cse_insn): Likewise. + * expr.c (emit_move_insn): Likewise. + * explow.c (force_reg): Likewise. + * local-alloc (update_equiv_regs): Likewise. + * loop.c (move_moveables, load_mems): Likewise. + * reload (find_reloads): Likewise. + +2001-10-30 Paolo Bonzini + + Localization fixes. + * c-decl.c (parmlist_tags_warning, start_struct, + check_for_loop_decls): Separate messages for struct, union and + enum cases to allow for languages in which they have different + genders. + * c-format.c (scanf_flag_specs): Separate short and long name of + the assignment suppression feature. + (check_format_types): Localize "pointer" and "different types" + strings. + * c-lex.c (lex_number): Localize "an unsigned long int" and + related strings. + (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on + warning message. + * c-typeck.c (build_unary_up): Separate messages for increment and + decrement cases to allow for languages in which they use different + articles. Localize the strings "increment" and "decrement" in one + case. + +Tue Oct 30 11:08:11 CET 2001 Jan Hubicka + + * lcm.c (optimize_mode_switching): Do not rebuild liveness information + when no changes has been made. + + * gcse.c (reg_set_bitmap): Turn into reg_set. + (modify_mem_list_set, canon_modify_mem_list_set) + (clear_modify_mem_tables, free_modify_mem_tables): New. + (gcse_main); Use free_modify_mem_tables. + (free_gcse_mem): Likewise; free the bitmaps. + (alloc_gcse_main): Initialize the bitmaps. + (canon_list_insert): Set canon_modify_mem_list_set. + (record_last_mem_set_info): Likewise; set modify_mem_list_set. + (compute_hash_table): Use clear_modify_mem_tables. + (reset_opr_set_tables): Likewise. + (oprs_not_set_p): reg_set_bitmap is regset. + (mark_set, mark_clobber): Likewise. + + * df.h (DF_EQUIV_NOTES): New constant. + (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes + when asked for. + + * sched-rgn.c (CHECK_DEAD_NOTES): New constant. + (init_regions, schedule_insns): Conditionalize the checking + code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info. + +Tue Oct 30 11:02:31 CET 2001 Jan Hubicka + + * i386.md (movti_rex64 splitter): Fix condition. + +2001-10-29 Zack Weinberg + + * configure.in: Do not assume that gas's version number is the + last thing on the first line of as --version output. + * configure: Regenerate. + + * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to + MT_WARNING, MT_ERROR, MT_FATAL. + (main): Call gcc_init_libintl. + (v_message): Call gettext on msgid and "warning: " + * tradcif.y: Include intl.h. + (yyerror): Make parameter definition consistent with + prototype. Call gettext on msgid argument. + +2001-10-29 Kaveh R. Ghazi + + * combine.c (num_sign_bit_copies): Avoid signed/unsigned + warnings. + + * sparc/sol2.h: Include when L_trampoline is defined. + +Mon Oct 29 19:22:07 2001 Richard Kenner + + * reload1.c (eliminate_regs): Test for reg_renumber being allocated + before referencing it. + +2001-10-26 DJ Delorie + + * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to + override -G, and force -G0. + +2001-10-29 Joseph S. Myers + + * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10, + FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c, + c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c, + timevar.h, tree.h, varasm.c: Fix spelling errors and typos. + + * loop.h (struct induction): Rename ext_dependant to + ext_dependent. + * loop.c: Change all uses. + (check_ext_dependant_givs): Rename to check_ext_dependent_givs. + All callers changed. + * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter. + +2001-10-29 Joseph S. Myers + + * c-parse.in (expr_no_commas, primary), c-typeck.c + (parser_build_binary_op): Use IS_EXPR_CODE_CLASS. + +2001-10-29 David Edelsohn + + Undo assemble_name change in earlier patch. + +Mon Oct 29 21:11:40 2001 Nicola Pero + + * objc/objc-act.c (finish_message_expr): For the GNU runtime: when + determining the type of the receiver, do not check that TREE_CODE + of receiver is CALL_EXPR before calling receiver_is_class_object(). + (receiver_is_class_object): For the GNU runtime: recognize + the case that the receiver is self in a class method context. + Check that TREE_CODE of receiver is CALL_EXPR when checking that + the receiver is a call to objc_get_class. + +2001-10-29 John David Anglin + + * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero. + +Mon Oct 29 07:23:33 2001 Richard Kenner + + * Makefile.in (OBJS): Put all files in alphabetical order. + + * dwarf2out.c (add_const_value_attribute): Fix error in last + change. + +Mon Oct 29 12:43:06 CET 2001 Jan Hubicka + + * basic-block.h (purge_all_dead_edges): Add update_life_p argument. + * cfgcleanup.c (merge_blocks): Update the life flag after merging; + fix warning. + * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness. + (life_analysis): call purge_all_dead_edges after deleting noops. + (delete_noop_move): Do not purge CFG. + * toplev.c (rest_of_compilation): Update purge_all_dead_edges call. + +2001-10-28 David Edelsohn + + * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name. + * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete. + (ASM_GLOBALIZE_LABEL): Use assemble_name. + (ASM_OUTPUT_COMMON): Likewise. + * config/rs6000/rs6000.c (print_operand): Use assemble_name. + (rs6000_output_function_epilogue): Likewise. + (output_mi_thunk): Fix typo. + (rs6000_output_symbol_ref): Use assemble_name. + (output_toc): Likewise. + * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete. + * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete; + assemble_name calls STRIP_NAME_ENCODING. + (ASM_OUTPUT_LABEL): Use assemble_name. + (ASM_GLOBALIZE_LABEL): Likewise. + (ASM_DECLARE_FUNCTION_NAME): Likewise. + (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name. + (ASM_OUTPUT_LOCAL): Likewise. + +Sun Oct 28 15:45:16 2001 Richard Kenner + + * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case. + (expand_builtin_apply, expand_builtin_return): Likewise. + (expand_builtin_va_arg, expand_builtin_va_copy): Likewise. + +2001-10-28 Joseph S. Myers + + * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4, + ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11, + c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc, + configure, configure.in, except.c, except.h, flow.c, function.c, + gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def, + predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c, + sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c, + unroll.c: Fix spelling errors. + + * doc/extend.texi, doc/invoke.texi: Fix spelling. + + * doc/gcc.texi: Document use of "dependent" and American spelling. + +Sun Oct 28 17:05:36 CET 2001 Jan Hubicka + + * expr.c (emit_group_load): Support CONCATs by storing them to memory + and reloading. + +Sun Oct 28 09:59:54 2001 Richard Kenner + + * expr.c (store_constructor_field): Only call adjust_address on MEM. + +Sun Oct 28 16:48:09 CET 2001 Jan Hubicka + + * genrecog.c (write_switch): Output if before switch for + DT_elt_zero_wide_safe. + +2001-10-28 Kaveh R. Ghazi + + * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h + * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma. + (FUNCTION_PROFILER): Const-ify. + * halfpic.c: Include "expr.h", "output.h" and "halfpic.h". + (eliminate_constant_term, assemble_name, output_addr_const): + Remove declarations. + (ptr_half_pic_address_p, half_pic_hash): Prototype. + (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare, + half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify. + * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype. + (half_pic_declare, half_pic_external): Const-ify. + * toplev.c: Include "halfpic.h". + +2001-10-28 Joseph S. Myers + + * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h, + config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe, + config/i386/i386.c, config/i386/i386-interix.h, + config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h, + config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c, + config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md, + config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c, + config/sparc/sparc.c, config/m68hc11/m68hc11.c, + config/cris/cris.c, config/cris/cris.h, config/s390/s390.c, + config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix + spelling errors. + + * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4, + ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS, + c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c, + collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h, + haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c, + regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c, + system.h, toplev.c: Fix spelling errors. + +Sat Oct 27 17:32:04 2001 Richard Kenner + + * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET. + + * dwarf2out.c (reg_number): Abort if pseudo. + (reg_loc_descriptor): Return 0 if pseudo. + (is_based_loc): Return 0 if pseudo. + (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from + recursive calls. + (concat_loc_descriptor): Return 0 if either part's descriptor is 0. + (loc_descriptor): Return 0 if can't find location and handle 0 + return from recursive calls. + (loc_descriptor_from_tree): Likewise. + Fix handling of indirect. + Also return 0 for PLACEHOLDER_EXPR. + Clean up COMPONENT_REF cases. + (add_AT_location_descriptor): Simplify, but handle 0 return from + loc_descriptor. + (add_const_value_attribute): Avoid shift count warning. + (add_bound_info): Remove test for PLACEHOLDER_EXPR here. + Set comp_unit_die as context if not in function. + + * config/mips/mips-protos.h: Break up long lines. + Remove needless #ifdef/#endif blocks. + Don't declare functions declared in file made by genpreds or recog.h. + * config/mips/mips.c (mips_output_function_prologue): TSIZE + is now HOST_WIDE_INT; delete unneeded casts. + * config/mips/mips.h: Don't use #elif. + + * expr.c (stor_constructor_field): Always call adjust_address. + Copy TARGET before changing its alias set. + (store_field): Likewise, for TO_RTX. + (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find + replacement. + (safe_from_p, case ADDR_EXPR): Properly check for conflict. + (find_placeholder): Return 0 if can't find object. + (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder + returns 0. + +Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka + + * ifcvt.c (if_convert): Call clear_aux_for_blocks. + +Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka + + * cfgcleanup.c (merge_blocks_move_predecessor_nojumps, + merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE. + (merge_blocks): Properly udpate life after making edge nonfallthru. + * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end. + +2001-10-26 Kazu Hirata + + * config/h8300/h8300.c (get_shift_alg): Remove redundant code. + +2001-10-26 Neil Booth + + * c-typeck.c (convert_arguments): When comparing for enumeral + type equality, use TYPE_MAIN_VARIANT. + * gcc.dg/Wconversion.c: New tests. + +2001-10-26 Kazu Hirata + + * s390/s390.c: Fix comment typos. + * s390/s390.h: Likewise. + * s390/s390.md: Likewise. + +2001-10-26 Alexandre Oliva + + * tree-inline.c (WALK_SUBTREE_TAIL): New macro. + (walk_tree): Use it for tail calls where appropriate. + +2001-10-26 Alexandre Oliva + + * cse.c (check_for_label_ref): Don't require REG_LABEL notes for + non-local label_refs. + +2001-10-26 Kazu Hirata + + * config/h8300/h8300.md (4 anonymous patterns): New. + +2001-10-26 Kazu Hirata + + * config/h8300/h8300.c (get_shift_alg): Clean up. Return the + algorithm through the shift_info structure. + (emit_a_shift): Update the use of get_shift_alg. + +2001-10-27 Daniel Berlin + + * sched-rgn.c: Remove bitset typedef. + Change bitset to sbitmap in prototypes / variable types. + Remove bbset_size. + Remove edgeset_bits. + Remove edgeset_size. + s/BITSET_ADD/SET_BIT/g + s/BITSET_INVERT/sbitmap_ones/g + s/BITSET_INTER/sbitmap_a_and_b/g + s/BITSET_UNION/sbitmap_a_or_b/g + s/BITSET_DIFFER/sbitmap_difference/g + s/bitset_member/TEST_BIT/g + (BITSET_*): Removed. + (bitset_member): Removed. + (extract_bitlst): Rewrite, now that we have sbitmaps, we can use + EXECUTE_IF_SET_IN_SBITMAP. + (split_edges): Rewrite, use sbitmap functions instead of bitset + operations. + (schedule_region): Allocate/free sbitmaps, rather than bitsets. + +2001-10-26 Andreas Schwab + + * reload1.c (emit_input_reload_insns): Fix parens in last + (undocumented) change that was supposed to change only whitespace. + +Fri Oct 26 07:18:08 2001 Richard Kenner + + * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning. + + * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for + ASM_OPERANDS. + +2001-10-26 Andreas Jaeger + + * flow.c (clear_log_links): Remove unused variable. + * cfgcleanup.c (cleanup_cfg): Likewise. + +2001-10-26 Alexandre Oliva + + * tree-inline.c (remap_decl): Don't copy size and size_unit here. + (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node. + +2001-10-26 Richard Henderson + + * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG; + rename PV_REG to R27_REG. + (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update. + (REG_CLASS_FROM_LETTER): Update. + (PREFERRED_RELOAD_CLASS): Don't widen a reg class. + * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27. + (udivsi3, modsi3, umodsi3): Likewise. + (divdi3, udivdi3, moddi3, umoddi3): Likewise. + +2001-10-26 Richard Henderson + + * cfg.c (clear_aux_for_blocks): Split out of ... + (free_aux_for_blocks): here. + (clear_aux_for_edges): Split from ... + (free_aux_for_edges): here. + * basic-block.h: Declare them. + * lcm.c (compute_antinout_edge): Use them. + (compute_laterin, compute_available, compute_nearerout): Likewise. + (optimize_mode_switching): Likewise. + +2001-10-26 Richard Henderson + + * Makefile.in (unstage*): Remove as, ld, collect-ld before + moving everything back to the main build directory. + +2001-10-26 Christopher Faylor + + * config/i386/cygwin.h: Search target specific include directory, if + appropriate. + +2001-10-25 Kaveh R. Ghazi + + * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside + of macro guards. Fix #endif comment. + + * output.h (default_exception_section, default_eh_frame_section): + Move prototypes outside of macro guard. + + * crtstuff.c: Fix #endif comment. + +Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com) + + * doc/md.texi (movMM): Clarify semantics of storing into a + non-paradoxical SUBREG. + +2001-10-25 Zack Weinberg + + * langhooks.c (lang_hook_default_clear_binding_stack): New. + (lang_hook_default_get_alias_set): Move next to other alias + hooks. + * langhooks.h: Prototype lang_hook_default_clear_binding_stack. + (LANG_HOOKS_CLEAR_BINDING_STACK): New macro. + (LANG_HOOKS_INITIALIZER): Add it. + * toplev.h (struct lang_hooks): Add clear_binding_stack. + * toplev.c (compile_file): Call lang_hooks.clear_binding_stack + instead of a loop calling poplevel. + +2001-10-25 Nick Clifton + + * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace + occurrences of #elif with #if...#endif. + +2001-10-25 Kaveh R. Ghazi + + * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning. + +Thu Oct 25 08:46:06 2001 Richard Kenner + + * alias.c (can_address_p): No longer static. + * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed. + Return 0 if all parameters are default values. + (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P. + (adjust_address_1): Try harder to compute a size. + * expr.c (expand_assignment, store_constructor): If can't address, + set MEM_KEEP_ALIAS_SET_P. + (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P. + (store_field): Likewise. + (store_constructor): Simplify call to store_constructor_field. + * expr.h (can_address_p): New declaration. + * gensupport.c (gen_rtx_CONST_INT): New function. + * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro. + (MEM_SIZE): Get size from mode, if not set and not BLKmode. + (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P. + + * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst. + +2001-10-24 Christopher Faylor + + * config/i386/cygwin.h: Use proper path for mingw crt files when + -mno-cygwin. + +Wed Oct 24 18:43:42 2001 Richard Kenner + + * dwarf2out.c (file_info_cmp): Always return consistent results. + +2001-10-24 Roger Sayle + + * stmt.c (expand_end_case): Index jumptables from zero for + suitably small values of minval. + +2001-10-24 Jakub Jelinek + + * stor-layout.c (place_union_field): If any field was aligned with + attribute aligned, set record type's TYPE_USER_ALIGN. + (place_field): Likewise. + (finalize_record_size): Don't clear TYPE_USER_ALIGN. + (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN. + +2001-10-24 Zack Weinberg + + * c-common.h (struct c_common_identifier): Remove rid_code field. + (C_RID_CODE): Use ->node.rid_code instead of ->rid_code. + + * c-typeck.c (constructor_designated): New local flag. + (struct constructor_stack): Add "designated" field to match. + (start_init): Clear it. + (really_start_incremental_init, push_init_level): Push and + clear it. + (pop_init_level): Pop it. + (set_designator): Set it. + + (pop_init_level): Suppress "missing initializer" warnings if + constructor_designated is true. + (process_init_element): Suppress warning about union + initialization under traditional C, if constructor_designated + is true. + +Wed Oct 24 15:35:38 2001 Richard Kenner + + * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last + change. + +Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com) + + * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition. + +2001-10-24 Dan Nicolaescu + + * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if + the node was already a set to a constant. + +Wed Oct 24 12:41:19 2001 Richard Kenner + + * emit-rtl.c (set_mem_attributes): Fix typo in last change. + * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL. + +2001-10-24 Kaveh R. Ghazi + + * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings. + (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning. + (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings. + * s390.c (s390_final_chunkify): Don't use string concatenation. + (s390_function_prologue, s390_function_epilogue): Const-ify. + * s390.h (FUNCTION_PROFILER): Remove unused variable. + +2001-10-24 Jakub Jelinek + + * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function + prototypes. + +2001-10-23 Stan Shebs + + * config/rs6000/x-darwin: Use -no-cpp-precomp instead of + -traditional-cpp in first-stage compilation. + +Tue Oct 23 21:45:40 2001 Richard Kenner + + * gensupport.c (target_flags): Add. + +Tue Oct 23 13:05:53 2001 Richard Kenner + + * darwin-protos.h (constructor_section, destructor_section, + mod_init_section, mod_term_section): Prototype. + * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs): + Const-ify. + * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME): + Likewise. + (SECTION_FUNCTION): Prototype `FUNCTION'. Delete + objc_section_init declaration. + (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init. + (objc_section_init, try_section_alias): Make static. + (alias_section): Make static and hide unused function. + (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning. + +Tue Oct 23 13:05:53 2001 Richard Kenner + + * alias.c (can_address_p): Compnonents are not addressable if + the containing type has alias set 0. + (get_alias_set): Rework to use STRIP_NOPS. + Only call front-end routine on object, type, or object with + NOPs stripped, not inner values. + Use language hook to call front-end routine. + * builtins.c (get_memory_rtx): Always call set_mem_attributes. + (expand_builtin_apply): Call set_mem_align on MEMs we make. + Don't pass alignment to emit_block_move. + (expand_builtin_memcpy, expand_builtin_va_copy): Likewise. + (expand_builtin_memset): Likewise, but for clear_storage. + * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set + and remove C++ specific parts. + * c-common.h (c_common_get_alias_set): Add declaration. + * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro. + * calls.c (emit_call_1): Fix typo in sibcall_pop case. + (save_fixed_argument_area): Call set_mem_align. + Remove alignment in call to emit_block_move. + (emit_library_call_value_1, store_one_arg): Likewise. + (target_for_arg): Remove; disabled long ago. + * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs + once and similar cleanups. + (offset_address): Use proper introductory comment. + * expr.c (emit_block_move): Use alignment from that of MEM args, not + from explicit operand; all callers changed. + (clear_storage): Likewise. + (expand_assignment): Don't call set_mem_alias_set on to_rtx. + (store_field): Remove kludge on alias set used for to_rtx. + (highest_pow2_factor, case *_DIV_EXPR): Never return 0. + (expand_expr_unaligned): Call set_mem_attributes instead of + set_mem_alias_set. + * expr.h (emit_block_move, clear_storage): Remove ALIGN argument. + * function.c (assign_stack_temp_for_type): Set MEM alignment. + (expand_function_end): Track MEM attributes of trampolines. + * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM. + * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory + attributes from original. + * langhooks.c (lang_hook_default_get_alias_set): New function. + (hook_get_alias_set_0): New function. + * langhooks.h (hook_get_alias_set_0): New declaration. + (lang_hook_default_get_alias_set): Likewise. + (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer. + * reload1.c (alter_reg): Use adjust_address_nv. + * rtl.c (get_mode_alignment): Moved to here. + * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and + change default if unknown from 1 to BITS_PER_UNIT. + * stor-layout.c (get_mode_alignment): Remove from here. + * toplev.h (struct lang_hoks): Add get_alias_set field. + * tree.h (lang_get_alias_set): Delete declaration. + * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment. + * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise. + (ix86_va_arg): Likewise. + * config/i960/i960.c (i960_setup_incoming_varargs): Likewise. + * config/pa/pa.c (hppa_builtin_saveregs): Likewise. + * config/sparc/sparc.c (sparc_va_arg): Likewise. + * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise. + (expand_block_move_mem): Remove dead code. + +2001-10-22 Neil Booth + + * c-common.c (warn_div_by_zero): New. + * c-common.h (warn_div_by_zero): New. + * c-decl.c (c_decode_option): Take it on the command line. + * c-typeck.c (build_binary_op): Warn about division by zero. + * doc/invoke.texi: Document the new command line option, fix + documentation of -Wmultichar. + * testsuite/gcc.dg/divbyzero.c: New tests. + * testsuite/gcc.dg/noncompile/20010524-1.c: Update. + +Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka + + * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op. + + * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE + to avoid update_life_info call. + * basic-block.h (CLEANUP_UPATE_LIFE): Define. + * cfgcleanup.c (bb_flags): New enum. + (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros. + (notice_new_block, update_forwarder_flag): New functions. + (try_simplify_condjump): Use FORWARDER_BLOCK_P. + (try_forward_edges): Likewise; update flags. + (merge_blocks): Likewise. + (outgoing_edges_match): Likewise. + (try_crossjump_to_edge): Likewise. + (try_optimize_cfg): Likewise; initialize and clear the flags; + recompute life info if needed. + (cleanup_cfg): No need to clear aux pointers. + +2001-10-23 Alexandre Oliva + + * config/i386/i386.c (override_options): Default to minimum + stack alignment when optimizing for code size. + * doc/invoke.texi (-mpreferred-stack-boundary): Document the + change. + + * config/i386/i386.c (override_options): Set upper limit of + -mpreferred-stack-boundary to 12. + +2001-10-22 Zack Weinberg + + * recog.c (peephole2_optimize): Add default case to switch. + +2001-10-23 Joseph S. Myers + + * doc/gcc.texi (Sending Patches): Remove. + +2001-10-22 Hans-Peter Nilsson + + * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin + fields when comparing. + +2001-10-22 Kaveh R. Ghazi + + * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses. + * arm.c (HOST_INT, HOST_UINT): Likewise. + +2001-10-22 Stan Shebs + + * config/darwin-protos.h (darwin_exception_section): Declare. + (darwin_eh_frame_section): Declare. + +Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka + + * i386.md (movti_rex64): Fix mode. + +2001-10-22 Stan Shebs + + * target.h (struct gcc_target): Add asm_out.exception_section, + asm_out.eh_frame_section. + * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro. + (TARGET_ASM_EH_FRAME_SECTION): New. + (TARGET_INITIALIZER): Update. + * output.h (default_exception_section): Declare. + (default_eh_frame_section): Declare. + * dwarf2out.c: Include target.h. + (output_call_frame_info): Call target hook for eh frames. + (default_eh_frame_section): New function. + * except.c: Include target.h. + (output_function_exception_table): Call target hook for exception + section. + * varasm.c (default_exception_section): Rename from + exception_section, remove EXCEPTION_SECTION macro. + + * config/darwin.h (darwin_eh_frame_section): New function. + (EXCEPTION_SECTION): Remove. + (TARGET_ASM_EXCEPTION_SECTION): Define. + * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove. + (nextstep_exception_section): New function. + (nextstep_eh_frame_section): New function. + (TARGET_ASM_EXCEPTION_SECTION): Define. + (TARGET_ASM_EH_FRAME_SECTION): Define. + + * config/pa/som.h (EXCEPTION_SECTION): Remove. + (TARGET_ASM_EXCEPTION_SECTION): Define. + * config/rs6000/sysv4.h, config/rs6000/xcoff.h + (EXCEPTION_SECTION): Remove. + (TARGET_ASM_EXCEPTION_SECTION): Define. + * config/stormy16/stormy16.h: Remove comments referencing + EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP. + + * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and + TARGET_ASM_EH_FRAME_SECTION. + +2001-10-22 Nick Clifton + + * config/mips/mips.md (mul_acc_si): Fix precedence of conditional + terms. + + * c-format.c: Fix spelling typo in comment. + + * sched-int.h: Fix typo in GCC preamble. + +2001-10-21 Craig Rodrigues + + PR debug/4252 + * doc/invoke.texi: Remove references to -fdump-translation-unit. + +2001-10-22 Richard Henderson + + * config/i386/i386.c (ix86_expand_clear): New. + * config/i386/i386-protos.h: Declare it. + * config/i386/i386.md (setcc peep2s): Use it. + (movsi_xor): Unexport. + +2001-10-22 Richard Henderson + + * flow.c (clear_log_links): Use free_INSN_LIST_list, not + free_EXPR_LIST_list for LOG_LINKS. + +2001-10-21 Robert Lipe + + * config/i386/i386.c (sco_asm_named_section): Delete. + (sco_asm_out_constructor): Delete. + * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h. + (ASM_OUTPUT_DOUBLE_INT): Likewise. + (TARGET_ASM_CONSTRUCTOR): Delete. Use default. + (TARGET_ASM_NAMED_SECTION): Use default for ELF. + (EXCEPTION_SECTION): Delete EH scn renaming hack. + +2001-10-21 Kaveh R. Ghazi + + * c-format.c (maybe_read_dollar_number): Use safe-ctype macros + and/or fold extra calls into fewer ones. + * collect2.c (dump_file): Likewise. + * cppexp.c (parse_number): Likewise. + * cpplex.c (_cpp_lex_direct): Likewise. + * final.c (output_asm_insn, asm_fprintf): Likewise. + * fix-header.c (inf_scan_ident, main): Likewise. + * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix): + Likewise. + * fold-const.c (real_hex_to_f): Likewise. + * gen-protos.c (parse_fn_proto): Likewise. + * genattrtab.c (check_attr_test, check_attr_value): Likewise. + * genrecog.c (change_state, write_action): Likewise. + * gensupport.c (shift_output_template): Likewise. + * local-alloc.c (requires_inout): Likewise. + * mips-tfile.c (IS_ASM_IDENT): Likewise. + * protoize.c (is_id_char, main): Likewise. + * real.c (asctoeg): Likewise. + * recog.c (asm_operand_ok): Likewise. + * reload.c (find_reloads): Likewise. + * scan.c (scan_identget_token): Likewise. + * sched-vis.c (print_value): Likewise. + * stringpool.c (ggc_alloc_string): Likewise. + * toplev.c (read_integral_parameter, decode_g_option): Likewise. + * tradcif.y (parse_number, yylex, parse_escape): Likewise. + * tradcpp.c (rescan): Likewise. + * tree.c (clean_symbol_name): Likewise. + * varasm.c (decode_reg_name): Likewise. + + * alpha.h (ASM_OUTPUT_ASCII): Likewise. + * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise. + * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise. + * m88k.c (output_ascii): Likewise. + * m88k.h (OVERRIDE_OPTIONS): Likewise. + * mcore.h (REG_CLASS_FROM_LETTER): Likewise. + * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise. + * sh.h (REG_CLASS_FROM_LETTER): Likewise. + +2001-10-21 Neil Booth + + * langhooks.c (lang_hook_default_do_nothing, + lang_hook_default_decode_option): New defaults. + * langhooks.h: Make hooks unconditional and non-NULL. + * toplev.c (compile_file, toplev_main): Update. + * toplev.h: Update comments. + * objc/objc-act.c (lang_hooks): Update to new paradigm. + +2001-10-21 Kaveh R. Ghazi + + * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE. + + * system.h (IN_RANGE): New macro. + +2001-10-21 Zack Weinberg + + * aclocal.m4 (AM_WITH_NLS): Also create and substitute + INTLDEPS variable, which does not include $LIBICONV. + * Makefile.in: Use INTLDEPS in LIBDEPS. + * configure: Regenerate. + +2001-10-21 Neil Booth + + * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char. + * cpplex.c (lex_percent, lex_dot): Remove. + (get_effective_char, skip_block_comment, skip_line_comment, + parse_identifier_slow, parse_number, parse_string, save_comment, + _cpp_lex_direct): Update to do lookback freely. + (IF_NEXT_IS, BACKUP): New macros. + * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char. + * cppmacro.c (paste_tokens): Update. + +2001-10-20 Nick Clifton + + * doc/invoke.texi (i386 and x86-64 Options): Fix typo. + +2001-10-20 Hans-Peter Nilsson + + * reload1.c (reload): Check CONSTANT_P before calling + LEGITIMATE_PIC_OPERAND_P. + * config/cris/cris.c (cris_legitimate_pic_operand): Revert + workaround of 2001-10-13. + +Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka + + * i386.c (split_di): Handle splitting of DFmode. + +Sat Oct 20 07:27:14 2001 Richard Kenner + + * emit-rtl.c (set_mem_attributes): Alignment is in bits. + (adjust_address_1, offset_address): Likewise. + + * final.c (output_asm_operand_names): New fcn, from output_asm_insn. + (output_asm_insn): Call it for each line output. + Don't record an operand more than once. + + * toplev.h (struct lang_hooks): HONOR_READONLY now bool. + * main.c: Include config.h and system.h, but not ansidecl.h. + * Makefile.in (main.o): Update accordingly. + +Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka + + * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64. + +Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka + + * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter. + * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies): + Break out from ... + (find_sub_basic_blocks): ... here; + (find_many_sub_basic_blocks): New. + * recog.c (split_all_insns): Update find_sub_basic_blocks call. + + * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4. + + * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.: + + * i386.c (split_di, split_ti): Revamp to use simplify_subreg. + + * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new. + * flow.c (update_life_info): Measure time. + * c-decl.c: Include timevar.h + (c_expand_body): Measure time. + * toplev.c (rest_of_compilation): Measure time of mode switching + separately. + * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency. + + * toplev.c (flag_asynchronous_unwind_tables): New global variable. + (lang_independent_options): Add asynchronous-unwind-tables + (toplev_main): flag_asynchronous_unwind_tables implies + flag_unwind_tables. + * flags.h (flag_asynchronous_unwind_tables): Declare. + * dwarf2out.c (dwarf2out_stack_adjust): Take into account + flag_asynchronous_unwind_tables. + (output_call_frame_info): Likewise. + * invoke.texi (-fasynchronous-unwind-tables): Document. + * i386.c (optimization_options): Enable + flag_asynchronous_unwind_tables. + + * i386.c (ix86_expand_setcc): Always expect target to be QImode. + * i386.md (s* expanders): Destination is QImode. + + * toplev.c (rest_of_compilation): Do not call clear_log_links. + * rtl.h (clear_log_links): Kill. + * flow.c (clear_log_links): Make static; accept blocks parameter; + do no clear life info. + (update_life_info): Call clear_log_links. + + * cfganal.c (forwarder_block_p): Avoid active_insn_p calls. + +2001-10-20 Neil Booth + + * cpplex.c (handle_newline, skip_escaped_newlines, + get_effective_char, skip_block_comment, skip_line_comment, + parse_identifier_slow, parse_number, parse_string, + _cpp_lex_direct): Update to do more stepping back. + (trigraph_ok): Similarly. Rename trigraph_p. + (SAVE_STATE, RESTORE_STATE): Remove. + (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check. + + * cpplib.c (destringize): Rename destringize_and_run, and + call run_directive directly. + (_cpp_do__Pragma): Simplify. + +2001-10-19 Kaveh R. Ghazi + + * pe.c (arm_pe_unique_section): Const-ify. + * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining. + (switch_to_section): Add static prototype. + + * output.h (drectve_section): Prototype. + +2001-10-19 Franz Sirl + + * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*, + fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*, + parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*, + i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware, + i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*, + i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*, + i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1, + i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*, + i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*, + i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, + i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*, + i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*, + ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf, + mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*, + powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*, + powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*, + powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*, + powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*, + powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*, + powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*, + rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*, + sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf, + v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf, + cris-*-none, cris-*-linux*: Update ${tmfile} list. + (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*, + i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*, + mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*, + powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*, + v850-*-*): Delete superflous ${cpu_type} setting. + * config/linux.h: Delete svr4.h include. + (SET_ASM_OP): Delete. + * config/netware.h (INT_ASM_OP): Undef before define. + * config/ptx4.h: Delete elfos.h include. + (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping. + * config/svr4.h: Delete elfos.h include. Update commentary. + * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h, + config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h, + config/mn10200/mn10300.h, config/stormy16/stormy16.h, + config/v850/v850.h: Delete svr4.h include. + * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h, + config/m68k/m68kv4.h, config/m88k/sysv4.h, + config/sparc/sysv4.h: Update includes. + * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h, + config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h, + config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h, + config/m88k/dguxbcs.h: Delete includes. + * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include. + (PREFERRED_DEBUGGING_TYPE): Undef before defining it. + * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining + it. + * config/m88k/dgux.h: Delete include. + (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before + defining it. + * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL, + ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it. + * config/sh/elf.h: Update include. + (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE, + DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes. + +2001-10-19 Catherine Moore + + * config/stormy16/stormy-abi: Updates to varargs descriptions. + * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse + base and count fields. + (stormy16_expand_builtin_va_start): last_reg_count changed to + size_of_reg_args. Use count + size in first comparison. + +Fri Oct 19 15:24:39 2001 Richard Kenner + + * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro. + * toplev.h (struct lang_hooks): New field HONOR_READONLY. + * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from + TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly. + Set alignment from type if INDIRECT_REF. + (adjust_address_1, offset_address): Simplify alignment compuitation. + * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P + here; done by set_mem_attributes. + +2001-10-19 Kaveh R. Ghazi + + * Makefile.in (rtlanal.o): Depend on $(TM_P_H). + * arm-protos.h (rdata_section, zero_init_section, common_section): + Prototype. + * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify. + * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid + traditional mode stringification. + * function.c (thread_prologue_and_epilogue_insns): Wrap variable + in macros controling its use. + * rtlanal.c: Include tm_p.h. + * varasm.c (asm_output_aligned_bss): Mark parameter with + ATTRIBUTE_UNUSED. + (assemble_constant_align, assemble_start_function, assemble_align, + assemble_variable, assemble_trampoline_template, + output_constant_def_contents): Wrap potentially empty if-stmt body + in brackets. + +2001-10-19 Kaveh R. Ghazi + + * a29k-protos.h (literal_section): Prototype. + * a29k.h (ASM_FILE_START): Don't discard pointer qualifier. + * a29k.md: Ensure function pointers are prototyped. + * genattrtab.c (write_eligible_delay): Mark parameter with + ATTRIBUTE_UNUSED. + +2001-10-19 Kaveh R. Ghazi + + * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED. + * 1750a.c (print_operand): Fix format specifier warning. + * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier. + * 1750a.md: Likewise. + * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC. + * genemit.c (output_add_clobbers): Mark parameter with + ATTRIBUTE_UNUSED. + * genrecog.c (write_subroutine): Likewise. + * integrate.c (expand_inline_function): Delete unused variable. + * varasm.c (remove_from_pending_weak_list): Wrap with + ASM_WEAKEN_LABEL. + +2001-10-19 Jakub Jelinek + + * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg + field is different to previous argument's neg field. + + * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT. + +Fri Oct 19 15:24:39 2001 Richard Kenner + + * final.c (get_decl_from_op): New function. + (output_asm_insn): Call it; write "*" when item with decl is address. + +2001-10-19 Janis Johnson + + * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation + about 64-bit support from the 3.0_branch version. + +2001-10-19 Zack Weinberg + + * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and + USE_INCLUDED_LIBINTL when appropriate. + * configure, config.in: Regenerate. + * Makefile.in (datadir): Set to @datadir@. + (intl.o): Also depend on $(CONFIG_H) and system.h. + + * intl.c: Factor out common gettext initialization sequence. + (gcc_init_libintl): New function. + * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL; + otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn + off NLS. Add multiple include guard. No need to #ifdef-guard + an #undef. Prototype gcc_init_libintl here. + + * collect2.c (main), cppmain.c (general_init), gcc.c (main), + gcov.c (main), protoize.c (main), toplev.c (toplev_main): + Use gcc_init_libintl. + +2001-10-19 Catherine Moore + + * config/stormy16/stormy16.h (ASM_COMMENT_START): Define. + + * config/stormy16/stormy16.c (stormy16_split_move): Make + sure that REG_INC notes are present for auto_inc operands. + +2001-10-19 Andreas Jaeger + + * configure: Regenerated. + * configure.in: Add x86_64 to switch statements. + +2001-10-18 Richard Henderson + + * config/alpha/alpha.md (sibcall_osf_1): Load destination + address into $27 explicitly. + (sibcall_value_osf_1): Likewise. + +Thu Oct 18 16:07:39 2001 Richard Kenner + + * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array. + (offset_address): New function. + (free_emit_status): Free regno_decl. + (init_emit): Pass proper number of elements to xcalloc. + Allocate regno_decl. + (mark_emit_status): Mark regno_decl values. + * expr.c (highest_pow2_factor): New function. + (expand_assigment): Use it and offset_address. + Properly handle ptr_mode vs. Pmode in offset calculation. + (store_constructor, expand_expr_unaligned): Likewise. + (expand_expr, case COMPONENT_EXPR): Likewise. + * expr.h (offset_address): New decl. + * function.h (struct emit_status): Add regno_decl. + (REGNO_DECL): New macro. + * final.c (output_asm_name): Move in file and don't conditionalize + on flag_print_asm_name. + (output_asm_insn): Only call output_asm_name if flag_print_asm_name. + Output names of operands, if known. + * function.c (assign_parms): Set REGNO_DECL. + * integrate.c (integrate_decl_tree): Likewise. + * stmt.c (expand_decl): Likewise. + * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies. + +2001-10-18 Alexandre Oliva + + * attribs.c (handle_noinline_attribute): New function. + (handle_used_attribute): Likewise. + (c_common_attribute_table): Added noinline and used. + * doc/extend.texi (Function Attributes): Document them. + * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE. + Warn when merging inline with attribute noinline. + (start_decl, start_function): Warn if inline and attribute + noinline appear in the same declaration. + +2001-10-17 Neil Booth + + * config.gcc: Update c4x and i370 for C front end-specific + dependencies. + * config/c4x/c4x-c.c: New. + * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove. + (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree): + New declarations. + * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h. + (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree): + Make extern. + (c4x_init_pragma): Remove. + (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION, + c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT, + c4x_pr_ignored): Move to c4x-c.c. + * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update. + * config/c4x/t-c4x: Update. + * config/i370/i370-c.c: New. + * config/i370/i370.c: Don't include c-lex.h or c-pragma.h. + (i370_pr_map): Move to i370-c.c. + * config/i370/t-i370: New. + + * doc/tm.texi: Update. + +2001-10-17 Stan Shebs + + * config/rs6000/rs6000.c: Make assorted mechanical formatting and + typo fixes throughout. + (machopic_output_stub): Remove some dead code. + +2001-10-17 Richard Earnshaw + + * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory + leak. + +Wed Oct 17 05:26:39 2001 Richard Kenner + + * Makefile.in (print-rtl.o): Depend on TREE_H. + * alias.c (get_alias_set): Make two passes over objects to first + see if inner object is access via restricted pointer. + Defer allocating alias set for restricted pointer until here. + Call find_placeholder with second arg nonzero. + Minor cleanups. + * c-common.c (c_apply_type_quals_to_decl): Defer getting alias + set for restricted pointer types. + * emit-rtl.c (set_mem_attributes): Set more attributes. + (set_mem_align, change_address, adjust_address_1): New functions. + (change_address_1): Now static. + (adjust_address, adjust_address_nv): Deleted. + (replace_equiv_address): Call change_address_1. + * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR. + (find_placeholder): Get starting point from PLIST arg. + (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg. + * expr.h (set_mem_align, change_address, adjust_address_1): New decls. + (adjust_address, adjust_address_nv): New macros. + * print-rtl.c (tree.h): New include. + (print_rtx, case MEM): Print all memory attributes. + +2001-10-17 Richard Henderson + + * config/alpha/alpha.c (direct_call_operand): Don't fall off end. + +2001-10-16 Matt Kraai + + * c-tree.texi: Eliminate duplicated word. + * cpp.texi: Likewise. + * install.texi: Likewise. + * invoke.texi: Likewise. + * tm.texi: Likewise. + +2001-10-17 Michael Collison + + * dsp16xx.c: Fix comment formatting to match GNU standards. + (dsp16xx_output_function_prologue): Change type of 'size' + parameter from 'int' to HOST_WIDE_INT. + (dsp16xx_output_function_epilogue): Change type of 'size' + parameter from 'int' to HOST_WIDE_INT. + +2001-10-16 Richard Henderson + + * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check. + * configure, config.in: Rebuild. + + * config/i386/i386.c (ix86_output_addr_vec_elt): New. + (ix86_output_addr_diff_elt): New. + * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them. + (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. + (JUMP_TABLES_IN_TEXT_SECTION): New. + * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA. + * config/i386/i386-protos.h: Update. + + * config/i386/386bsd.h, config/i386/beos-elf.h, + config/i386/freebsd-aout.h, config/i386/freebsd.h, + config/i386/i386-interix.h, config/i386/i386elf.h, + config/i386/linux.h, config/i386/netbsd-elf.h, + config/i386/netbsd.h, config/i386/openbsd.h, + config/i386/ptx4-i.h, config/i386/rtemself.h, + config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h + (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove. + +2001-10-16 Florian Weimer + + * stmt.c (expand_asm_operands): Update commentary. + +2001-10-16 Stan Shebs + + * config/darwin.h (GCC_NAME): Remove, no longer used. + (NO_MATH_LIBRARY): Ditto. + (MATH_LIBRARY): Define to emptiness. + (DWARF2_DEBUGGING_INFO): Define. + (PREFERRED_DEBUGGING_TYPE): Define. + (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section. + (EXCEPTION_SECTION): Define. + (ASM_PREFERRED_EH_DATA_FORMAT): Define. + * config/darwin.c (darwin_encode_section_info): Handle case of + DECL_INITIAL being error_mark_node. + +2001-10-16 Richard Henderson + + * alpha.c (current_file_function_operand): Don't fail for profiling. + (direct_call_operand): New. + * alpha-protos.h: Declare it. + * alpha.h (EXTRA_CONSTRAINT): Use it. + (PREDICATE_CODES): Add it. + (ASM_OUTPUT_MI_THUNK): Remove. + * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove. + * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative. + +2001-10-16 Krister Walfridsson + + * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define. + (JUMP_TABLES_IN_TEXT_SECTION): Define. + +Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka + + * cfg.c (free_edge): Break out from .... + (remove_edge): ... here. + (clear_edges): Use free_edge. + + * att.h (ASM_QUAD): Add comment. + * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define. + +Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka + + * i386.c (split_ti): New function. + (ix86_split_to_parts): Support TImodes. + * i386.h (VALID_INT_MODE_P): Add TImode. + * i386.md (movdi splitter): Fix. + (movti): Support 64bit integer registers. + (movti_rex64): New function and splitter. + + * i386.c (*_cost): Add movsx/movzx cost. + * i386.h (struct processor_costs): Add movsx/movzx fields. + (RTX_COSTS): Handle zero/sign extend + avoid believing that + 64bit operations require split on 64bit machine. + (CONST_COST): Make large 64bit constants expensive on 64bit compilation. + + * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS. + (ix86_expand_move): Avoid pushes of memory if size does not match; + move long constants to register. + (x86_initialize_trampoline): Fix mode. + * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): + Use ASM_QUAD on 64bit. + * i386.md (test pattern): Disallow impossible constants. + (tablejump PIC expander): Fix emitting of sum. + (movdicc_rex64): Rename to movdicc. + * linux64.h (LINK_SPEC): Add missing '%'. + +2001-10-16 Alexandre Oliva + + * tree-inline.c (inlinable_function_p): Leave it up to the + front-end to turn -finline-functions into DECL_INLINE set for all + functions. + +2001-10-16 Stan Shebs + + * config/rs6000/darwin.h (ASM_COMMENT_START): Define. + +2001-10-16 Alan Modra + + * recog.c: Formatting and comment typo fixes. + + * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas + version in single tree build. + * configure: Regenerate. + +2001-10-15 David Edelsohn + + * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and + MODE arguments to gen_rtx and compare operand with const0_rtx. + +2001-10-15 Neil Booth + + * system.h: Poison old unused target macros. + * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove. + * config/stormy16/stormy16.c: Update references to obsolete macros. + * config/stormy16/stormy16.h: Similarly. + * config/stormy16/stormy16.md: Similarly. + * config/cris/cris.h: Similarly. + +2001-10-15 Neil Booth + + * cpplib.c (struct pragma_entry): Store the name as a hashnode. + (lookup_pragma_entry, insert_pragma_entry, do_pragma, + cpp_register_pragma): Update accordingly. + +2001-10-14 Neil Booth + + * c-pragma.h (cpp_register_pragma_space): Remove. + * cpplib.h (cpp_register_pragma_space): Remove. + * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New. + (cpp_register_pragma_space): Remove. + (cpp_register_pragma): Simplify using lookup_pragma_entry, + add sanity checks. + (do_pragma): Similarly. + (_cpp_init_internal_pragmas): Don't register namespaces. + + * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): + Don't register namespaces. + * cp/lex.c (init_cp_pragma): Similarly. + * doc/tm.texi: Update. + +2001-10-10 Craig Rodrigues + + PR c/4157 + * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES + +2001-10-13 Michael Collison + + * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and + add scheduling support. + * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code. + * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code. + * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes. + + +2001-10-13 Hans-Peter Nilsson + + * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around + missing CONSTANT_P test in core GCC. + +2001-10-12 Neil Booth + + * cppmain.c (struct printer): New member source. + (scan_translation_unit): Fix spacing at start of lines. + (cb_line_change): Update. + + * gcc.dg/cpp/spacing2.c: New test. + +2001-10-12 Hans-Peter Nilsson + + * config/cris/arit.c: Use __builtin_labs, not abs. + + * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define. + + * config/cris/cris.c (cris_target_asm_function_epilogue): Move + misplaced sprintf and fprintf argument. + +2001-10-12 Zack Weinberg + + * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40. + * configure.in, Makefile.in: Take out obsolete check-po logic. + * configure, config.in: Regenerate. + +2001-10-12 Ziemowit Laski + + * objc/objc-act.c (finish_objc): Correct precondition for emitting + symtab declarations. + +2001-10-12 Stan Shebs + + * config/rs6000/rs6000.c: Remove uses of "register" specifier in + declarations of arguments and local variables. + +2001-10-12 Christopher Faylor + + * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and + ENDFILE_SPEC definition. + +2001-10-12 Kazu Hirata + + * gthr-dce.h: Fix comment formatting. + * gthr-posix.h: Likewise. + * gthr-single.h: Likewise. + * gthr-solaris.h: Likewise. + * gthr-vxworks.h: Likewise. + * gthr-win32.h: Likewise. + +2001-10-12 Jakub Jelinek + + * final.c (output_asm_insn): Make sure assembly dialects are + terminated, not nested. Output `|' and `}' characters if they + don't appear inside assembly dialect selection. + * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64, + rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi, + rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1, + strsetsi_rex_1): Add {} braces. + +2001-10-11 Zack Weinberg + + * toplev.c (compile_file): Ignore return value from yyparse. + Always pop any nested binding levels after yyparse returns. + +2001-10-11 Richard Henderson + + * doc/c-tree.texi (Expression trees): Add VTABLE_REF. + +2001-10-11 Richard Henderson + + * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT, + fall back to add_AT_long_long for large CONST_INT. + +2001-10-11 Richard Henderson + + * config/i386/i386.md (setcc splitters): Add four splitters to + simplify compound compares that simplify_comparison can't handle. + +2001-10-11 Zack Weinberg + + * cpplex.c (digraph_spellings, token_spellings): Make static. + +2001-10-11 Franz Sirl + + * unroll.c (loop_iterations): Fixup last patch. + +2001-10-11 Richard Henderson + + * rtl.h (REG_VTABLE_REF): New. + * rtl.c (reg_note_name): Add it. + * combine.c (distribute_notes): Handle it. + * final.c (final_scan_insn): Handle it. + * tree.def (VTABLE_REF): New. + * expr.c (expand_expr): Handle it. + * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New. + * output.h: Declare them. + +2001-10-11 Richard Henderson + + * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look + for a DECL_INITIAL. + +2001-10-11 David Edelsohn + + * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only + available in 64-bit mode. + +2001-10-11 Hans-Peter Nilsson + + * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none, + cris-*-linux* cases. + * config/cris/cris-protos.h: New file. + * config/cris/cris.c: New file. + * config/cris/cris.h: New file. + * config/cris/cris.md: New file. + * config/cris/linux.h: New file. + * config/cris/aout.h: New file. + * config/cris/arit.c: New file. + * config/cris/cris_abi_symbol.c: New file. + * config/cris/mulsi3.asm: New file. + * config/cris/t-aout: New file. + * config/cris/t-cris: New file. + * config/cris/t-elfmulti: New file. + * config/cris/t-linux: New file. + * doc/invoke.texi: Add CRIS options. + * doc/install.texi (Specific): Add blurb for CRIS. + +2001-10-10 Hartmut Schirmer + + * config/float-i128.h: Make sure __STDC__VERSION__ is defined + before using it. + * config/float/i32.h: Likewise. + * config/float-i386.h: Likewise. + * config/float-i64.h: Likewise. + * config/float-m68k.h: Likewise. + * config/float-sh.h: Likewise. + * config/float-sparc.h: Likewise. + +2001-10-11 Hans-Peter Nilsson + + * doc/contrib.texi: Add note about CRIS port to my entry. + +2001-10-11 Kazu Hirata + + * basic-block.h: Fix formatting. + * bitmap.h: Likewise. + * cpplib.h: Likewise. + * c-tree.h: Likewise. + * diagnostic.h: Likewise. + * flags.h: Likewise. + * ggc.h: Likewise. + * longlong.h: Likewise. + * real.h: Likewise. + * reload.h: Likewise. + * rtl.h: Likewise. + * tree.h: Likewise. + +2001-10-10 Richard Henderson + + * c-parse.in (asm_operand): Allow named operands. + * genconfig.c (max_recog_operands): Set to 29. + * local-alloc.c (requires_inout): Skip multiple digits. + * recog.c (asm_operand_ok): Likewise. + (preprocess_constraints): Use strtoul for matching constraints. + (constrain_operands): Likewise. + * regmove.c (find_matches): Likewise. + * reload.c (find_reloads): Likewise. + * stmt.c (parse_output_constraint): Don't reject in-out + constraint on operands > 9. Reject '[' in constraint. + (expand_asm_operands): Handle named operands. Use strtoul + for matching constraints. + (check_operand_nalternatives): Split out from expand_asm_operands. + (check_unique_operand_names): New. + (resolve_operand_names, resolve_operand_name_1): New. + + * doc/extend.texi (Extended Asm): Document named operands. + * doc/md.texi (Simple Constraints): Document matching constraints + on operands > 9. + +2001-10-10 Richard Henderson + + * combine.c (try_combine): Handle a SEQUENCE of one insn. + + * i386.c (test splitter): Narrow tests vs paradoxical subregs. + (jcc splitters): Add two splitters to simplify compound compares + that simplify_comparison can't handle. + +2001-10-10 Richard Henderson + + * langhooks.c: Include langhooks.h. + * Makefile.in (langhooks.o): Depend on it. + +Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com) + + * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note + should not be considered as a no-op. + * flow.c (delete_noop_moves): Handle REG_LIBCALL notes. + +2001-10-10 Stan Shebs + + * alias.c: Remove uses of "register" specifier in declarations + of arguments and local variables. + * c-common.c: Ditto. + * c-convert.c: Ditto. + * c-decl.c: Ditto. + * c-format.c: Ditto. + * c-semantics.c: Ditto. + * c-typeck.c: Ditto. + * caller-save.c: Ditto. + * calls.c: Ditto. + * cfg.c: Ditto. + * cfgbuild.c: Ditto. + * cfgrtl.c: Ditto. + * collect2.c: Ditto. + * combine.c: Ditto. + * convert.c: Ditto. + * cppexp.c: Ditto. + * cppfiles.c: Ditto. + * cse.c: Ditto. + * dbxout.c: Ditto. + * defaults.h: Ditto. + * df.c: Ditto. + * dwarf2out.c: Ditto. + * dwarfout.c: Ditto. + * emit-rtl.c: Ditto. + * explow.c: Ditto. + * expmed.c: Ditto. + * expr.c: Ditto. + * final.c: Ditto. + * fix-header.c: Ditto. + * floatlib.c: Ditto. + * flow.c: Ditto. + * fold-const.c: Ditto. + * function.c: Ditto. + * gcc.c: Ditto. + * gcse.c: Ditto. + * gen-protos.c: Ditto. + * genattrtab.c: Ditto. + * gencheck.c: Ditto. + * genconfig.c: Ditto. + * genemit.c: Ditto. + * genextract.c: Ditto. + * genflags.c: Ditto. + * gengenrtl.c: Ditto. + * genoutput.c: Ditto. + * genpeep.c: Ditto. + * genrecog.c: Ditto. + * gensupport.c: Ditto. + * global.c: Ditto. + * gmon.c: Ditto. + * graph.c: Ditto. + * haifa-sched.c: Ditto. + * hard-reg-set.h: Ditto. + * hash.c: Ditto. + * integrate.c: Ditto. + * jump.c: Ditto. + * lists.c: Ditto. + * local-alloc.c: Ditto. + * loop.c: Ditto. + * mips-tdump.c: Ditto. + * mips-tfile.c: Ditto. + * optabs.c: Ditto. + * prefix.c: Ditto. + * print-rtl.c: Ditto. + * read-rtl.c: Ditto. + * real.c: Ditto. + * recog.c: Ditto. + * reg-stack.c: Ditto. + * regclass.c: Ditto. + * regmove.c: Ditto. + * reload.c: Ditto. + * reload1.c: Ditto. + * reorg.c: Ditto. + * resource.c: Ditto. + * rtl.c: Ditto. + * rtlanal.c: Ditto. + * scan.c: Ditto. + * sched-deps.c: Ditto. + * sched-rgn.c: Ditto. + * sdbout.c: Ditto. + * simplify-rtx.c: Ditto. + * stmt.c: Ditto. + * stor-layout.c: Ditto. + * toplev.c: Ditto. + * tradcif.y: Ditto. + * tradcpp.c: Ditto. + * tree.c: Ditto. + * unroll.c: Ditto. + * varasm.c: Ditto. + * xcoffout.c: Ditto. + +2001-10-10 Richard Henderson + + * rtl.h (can_reverse_comparison_p): Remove. + +2001-10-10 Christopher Faylor + + * config/i386/cygwin.h: Avoid adding include files if -nostdinc is + used. + +2001-10-10 Danny Smith + + * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define. + (Thanks to Chris Faylor for suggesting macro name). + (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more + WIN32 defines. + (STANDARD_INCLUDE_DIR): Remove i386- from directory name. + (STANDARD_INCLUDE_COMPONENT): Change to MINGW. + (MATH_LIBRARY): Undef before definition. + (OUTPUT_QUOTED_STRING): Likewise. + * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS. + +2001-10-10 Richard Henderson + + * unwind-dw2-fde.c (fde_compare_t): Change return type to int. + (fde_unencoded_compare): Likewise. Don't use subtraction to get + a tristate comparison value. + (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise. + +2001-10-10 Franz Sirl + + PR c++/4512 + * unroll.c (loop_iterations): Ignore insns generated by loop + unrolling. + + * config.gcc (mips*-*-gnu*): Delete support. + * config/mips/gnu.h: Remove. + +2001-10-10 Kazu Hirata + + * calls.c: Fix formatting. + * c-decl.c: Likewise. + * cfgcleanup.c: Likewise. + * combine.c: Likewise. + * cppfiles.c: Likewise. + * cpplib.c: Likewise. + * cppmacro.c: Likewise. + * crtstuff.c: Likewise. + * cse.c: Likewise. + * dwarf2out.c: Likewise. + * expmed.c: Likewise. + * expr.c: Likewise. + * fold-const.c: Likewise. + * function.c: Likewise. + * gcse.c: Likewise. + * genattrtab.c: Likewise. + * ggc-page.c: Likewise. + * integrate.c: Likewise. + * libgcc2.c: Likewise. + * loop.c: Likewise. + * optabs.c: Likewise. + * profile.c: Likewise. + * protoize.c: Likewise. + * real.c: Likewise. + * recog.c: Likewise. + * reload1.c: Likewise. + * reload.c: Likewise. + * reorg.c: Likewise. + * resource.c: Likewise. + * sched-rgn.c: Likewise. + * sdbout.c: Likewise. + * stmt.c: Likewise. + * toplev.c: Likewise. + * varasm.c: Likewise. + +2001-10-10 Janis Johnson , Alexandre Oliva + + * langhooks.c: Include rtl.h, insn-config.h and integrate.h. + * Makefile.in (langhooks.o): Add dependencies. + +Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com) + + * rs6000.c (rs6000_emit_load_toc_table): Don't + strdup the toc label. + (create_TOC_reference): Likewise. + +2001-10-09 Danny Smith + + * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent + version default. + +2001-10-09 Danny Smith + + * config/i386/i386.c (ix86_attribute_table): Correct + min_len, max_len fields for dllimport, dllexport and shared. + +2001-10-10 Joseph S. Myers + + * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi, + doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: + Consistently use "nonzero" instead of "non-zero". + +2001-10-09 Kazu Hirata + + * acconfig.h: Fix comment formatting. + * c-dump.h: Likewise. + * c-tree.h: Likewise. + * conditions.h: Likewise. + * expr.h: Likewise. + * function.h: Likewise. + * gthr.h: Likewise. + * hwint.h: Likewise. + * integrate.h: Likewise. + * intl.h: Likewise. + * loop.h: Likewise. + * optabs.h: Likewise. + +2001-10-09 Kazu Hirata + + * c-common.h: Fix comment formatting. + * c-dump.c: Likewise. + * cfg.c: Likewise. + * diagnostic.h: Likewise. + * except.c: Likewise. + * gcc.h: Likewise. + * gcov-io.h: Likewise. + * genattrtab.c: Likewise. + * output.h: Likewise. + * predict.h: Likewise. + * reload1.c: Likewise. + * reload.h: Likewise. + * resource.h: Likewise. + * scan.h: Likewise. + * system.h: Likewise. + * tree.h: Likewise. + * tree-inline.c: Likewise. + * tsystem.h: Likewise. + * varasm.c: Likewise. + * xcoffout.h: Likewise. + +2001-10-09 Joseph S. Myers + + * doc/gcc.texi: Document preference for "nonzero" over "non-zero". + +2001-10-09 Joseph S. Myers + + * config/alpha/freebsd.h, config/alpha/lib1funcs.asm, + config/i386/i386elf.h, config/i386/netbsd-elf.h, + config/i386/netware.h, config/mcore/gfloat.h, + config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md, + config/netware.h, gccbug.in: Update FSF address. + +2001-10-09 Kazu Hirata + + * c-common.c: Fix comment typos. + * cfgrtl.c: Likewise. + * collect2.c: Likewise. + * cpplex.c: Likewise. + * doloop.c: Likewise. + * dwarf2out.c: Likewise. + * dwarfout.c: Likewise. + * expr.c: Likewise. + * fold-const.c: Likewise. + * gcc.c: Likewise. + * gcov.c: Likewise. + * gcse.c: Likewise. + * global.c: Likewise. + * ifcvt.c: Likewise. + * loop.c: Likewise. + * optabs.c: Likewise. + * protoize.c: Likewise. + * regclass.c: Likewise. + * reorg.c: Likewise. + * rtl.h: Likewise. + * stmt.c: Likewise. + * tree.h: Likewise. + * doc/cpp.texi: Likewise. + * doc/c-tree.texi: Likewise. + * doc/extend.texi: Likewise. + * doc/invoke.texi: Likewise. + * doc/objc.texi: Likewise. + * doc/tm.texi: Likewise. + +2001-10-08 Richard Henderson + + * varasm.c (set_named_section_flags): Initialize "declared". + +2001-10-08 Robert Lipe + + * varasm.c (struct in_named_entry): Add declared. + (named_section_first_declaration): New function. + (default_elf_asm_named_section): Use it. + * output.h (named_section_first_declaration): New. + +2001-10-08 Richard Henderson + + * i386.md (movsi_xor): Export. + (setcc peep2): Use it when available; add an alternative to + match zero_extendhisi2_and. + +2001-10-08 Kaveh R. Ghazi + + * romp-protos.h (romp_initialize_trampoline): New function. + * romp.c (romp_initialize_trampoline): Likewise. + * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of + romp_initialize_trampoline. + +2001-10-08 Kaveh R. Ghazi + + * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'. + * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise. + * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise. + * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise. + +2001-10-08 Franz Sirl + + * unroll.c (loop_iterations): Extend check for multiple back edges. + +2001-10-08 Alexandre Oliva + + * langhooks.h: New file. + * Makefile.in (OBJS): Added langhooks.o. + (c-lang.o): Depend on langhooks.h. + (c-common.o): Don't depend on tree-inline.h. + (tree-inline.o): Depend on toplev.h. + (langhooks.o): New rule. + * c-common.c: Don't include tree-inline.h. + (c_mark_lang_decl): Mark argument c as unused. + (c_common_lang_init): Don't initialize hooks here. + * c-lang.c: Include langhooks.h, then override some macros. + (lang_hooks): Initialize with macros in langhooks.h. + (c_init): Don't initialize hooks here. + * toplev.c (struct lang_hooks_for_tree_inlining): New struct. + (struct lang_hooks): Add tree_inlining. Refer to langhooks.h. + * tree-inline.c: Include toplev.h. Don't define hook variables. + * tree-inline.h: Don't define hook types nor declare hook + variables. Move macros to... + * langhooks.c: ... new file, as functions. Adjust all callers. + +2001-10-08 Jeffrey A Law + + * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call + purge_mem_unchanging_flag on all instructions, not just on those + before NOTE_INSN_FUNCTION_BEG. + +2001-10-08 Neil Booth + + * cppmacro.c (_cpp_create_definition): Leave comments off. + + * doc/cpp.texi: Update. + +2001-10-08 DJ Delorie + + * c-decl.c (grokfield): Make sure the only unnamed fields + we're allowing are either structs or unions. + * doc/extend.texi: Add documentation for the unnamed field + extension. + +2001-10-08 Zack Weinberg + + * aclocal.m4 (gcc_AC_PROG_GNAT): New. + * configure.in: Use it. + * configure: Regenerated. + * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64, + config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS. + +2001-10-08 Neil Booth + + * cppfiles.c (open_file): Don't mark zero-length files + never-reread here. Don't output diagnostics here either. + (stack_include_file): Mark them never-reread here. + (_cpp_read_file): Update. + +2001-10-08 Richard Henderson + + * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New. + +2001-10-08 Richard Henderson + + * expr.c (store_expr): When converting a CONST_INT for storage + in a SUBREG, convert it to both SUBREG modes before stripping + the SUBREG. + +2001-10-08 Richard Henderson + + * varasm.c (restore_varasm_status): New. + * function.h: Declare it. + * function.c (pop_function_context_from): Call it. + +2001-10-08 Richard Henderson + + * c-common.h (struct c_lang_decl): Add declared_inline. + * c-tree.h (DECL_DECLARED_INLINE_P): New. + * c-lang.c (c_disregard_inline_limits): Use it. + * c-decl.c (duplicate_decls): Likewise. + (pushdecl, redeclaration_error_message): Likewise. + (pushdecl): Allocate DECL_LANG_SPECIFIC if needed. + (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P. + Set DECL_INLINE if -finline-functions. + (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here. + +2001-10-08 Neil Booth + + * cppmacro.c (funlike_invocation_p): Move some logic to caller + in enter_macro_context. Create a padding token in its own context + if necessary when the search for '(' fails. + (enter_macro_context): Update. + +2001-10-07 Joseph S. Myers + + * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c, + genmultilib, toplev.c: Fix spelling errors of "separate" as + "seperate", and corresponding spelling errors of related words. + +2001-10-07 Kaveh R. Ghazi + + * builtins.c (expand_builtin_setjmp_receiver): Const-ify. + * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length): + Likewise. + * c-dump.c (dump_option_value_info): Likewise. + * c-format.c (format_length_info, format_char_info, + format_flag_spec, format_flag_pair, format_kind_info): Likewise. + * collect2.c (names): Likewise. + * cppdefault.h (default_include): Likewise. + * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise. + * flow.c (life_analysis): Likewise. + * gcc.c (dir_separator_str, modify_target, option_map, + target_option_translations, spec_list_1, extra_specs_1, + init_spec): Likewise. + * gcov.c (gcov_version_string): Likewise. + * genattr.c (write_units): Likewise. + * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise. + * gengenrtl.c (rtx_definition, defs): Likewise. + * genrecog.c (pred_table): Likewise. + * global.c (global_alloc): Likewise. + * lcm.c (optimize_mode_switching): Likewise. + * local-alloc.c (find_free_reg): Likewise. + * params.h (param_info): Likewise. + * predict.c (predictor_info): Likewise. + * protoize.c (unexpansion_struct): Likewise. + * real.c (bmask): Likewise. + * recog.h (insn_operand_data, insn_data): Likewise. + * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise. + * stmt.c (expand_nl_goto_receiver): Likewise. + * toplev.c (da, debug_args, lang_opt, documented_lang_options, + target_switches, target_options): Likewise. + * tradcif.y (token, tokentab2, yylex): Likewise. + * tree.h (attribute_spec): Likewise. + + * alpha.c (override_options, alpha_lookup_xfloating_lib_func): + Likewise. + * arc.c (arc_output_function_epilogue): Likewise. + * arm.c (processors, all_cores, all_architectures, + arm_override_options, isr_attribute_arg, isr_attribute_args, + arm_isr_value): Likewise. + * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc): + Likewise. + * c4x.c (c4x_int_reglist): Likewise. + * d30v.c (override_options): Likewise. + * h8300.c (shift_insn): Likewise. + * i386.c (size_cost, i386_cost, i486_cost, pentium_cost, + pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost, + ix86_expand_sse_comi, ix86_expand_sse_compare, override_options, + builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg, + ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise. + * i386.h (processor_costs, ix86_cost): Likewise. + * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise. + * m68hc11.h (processor_costs, m68hc11_cost): Likewise. + * m68k.c (codes_68881, codes_FPA): Likewise. + * m88k.c (mode_from_align, max_from_align, all_from_align, + best_from_align, m_options): Likewise. + * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise. + * mcore.c (mode_from_align): Likewise. + * mips/elf64.h (UNIQUE_SECTION): Likewise. + * mips/iris6gld.h (UNIQUE_SECTION): Likewise. + * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise. + * mips.h (mips_regno_to_class): Likewise. + * ns32k.c (scales): Likewise. + * pa.c (import_string, magic_milli): Likewise. + * rs6000.c (alt_reg_names, rs6000_override_options): Likewise. + * sparc.c (leaf_reg_remap, sparc_override_options, + reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders): + Likewise. + * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise. + +2001-10-07 Dale Johannesen + + * reload1.c (reload_reg_free_p): Teach register interference + checking that multiple output reloads are emitted in + reverse order. + reload1.c (reload_reg_reaches_end_p): Ditto. + reload1.c (reloads_conflict): Ditto. + +2001-10-07 Joseph S. Myers + + * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and + NULL_TREE inside @code. + +2001-10-07 Joseph S. Myers + + * doc/gcc.texi: Document consistent style of "32-bit", + "Objective-C", and "@code{NULL}". + +2001-10-06 Zack Weinberg + + * cpplex.c (enum spell_type): Add SPELL_NUMBER. + (cpp_token_len, cpp_spell_token, cpp_output_token, + _cpp_equiv_tokens): Handle it. + * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and + CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF. + * cppexp.c (_cpp_parse_expr): Use the correct operator code in + error messages. + +Sat Oct 6 07:42:39 2001 Richard Kenner + + * gcc.c (default_compilers): Remove .ada. + +2001-10-06 Neil Booth + + * doc/cppinternals.texi: Update. + +2001-10-06 Zack Weinberg + + * gcc.c (main): Set this_file_error if the appropriate + compiler for a language has not been installed. + +2001-10-06 Ulrich Weigand + + * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set. + +2001-10-05 Joseph S. Myers + + * gccbug.in (CATEGORIES): Add ada. + +2001-10-05 Catherine Moore + + * config/stormy16/stormy-abi: Document abi changes. + * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine. + (ICALL_REGS): New register class. + (NUM_ARGUMENT_REGISTERS): Now 6. + (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs + in registers. + (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS. + * config/stormy16.md (call_internal, call_value_internal, + indirect_jump): Use new 'z' constraint. + +2001-10-05 Neil Booth + + * doc/cppinternals.texi: Update. + +2001-10-05 Richard Henderson + + * dwarf2out.c (FRAME_BEGIN_LABEL): New. + (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and + the gas section-name-as-label feature. + +2001-10-05 Neil Booth + + * doc/cppinternals.texi: Update. + +Fri Oct 5 08:17:46 2001 Richard Kenner + + * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode + to ensure valid SImode constants. + +2001-10-05 Alexandre Oliva + + * Makefile.in (c-decl.o): Depend on tree-inline.h. + (c-lang.o): Likewise, as well as insn-config.h and integrate.h. + * c-decl.c: Include tree-inline.h. + (c_expand_body): Call optimize_inline_calls. Determine whether + a function is inlinable upfront, and only clear + DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't. + * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h. + (c_disregard_inline_limits): New function. + (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise. + (c_post_options): Enable tree inlining if inlining is enabled. + Don't inline trees when instrumenting functions. + (c_init): Initialize lang_disregard_inline_limits and + lang_cannot_inline_tree_fn. + * tree-inline.c (initialize_inlined_parameters): Handle calls + with fewer arguments than declared parameters, and fewer + parameters than passed arguments. Don't assume value is a + DECL. + (declare_return_variable): Convert return value back to the + original type, if it was promoted. + (tree_inlinable_function_p): New function. + (inlinable_function_p): Don't look at DECL_INLINE if we're + inlining all functions. Make it work with a NULL id. + Re-check DECL_UNINLINABLE after language-specific checks. + * tree-inline.h (tree_inlinable_function_p): Declare it. + * integrate.c (save_for_inline): Don't bother to prepare argvec + when not inlining. + * cse.c (check_for_label_ref): Don't check deleted labels. + + * Makefile.in (tree-inline.o): Depend on newly-included headers. + * tree-inline.c: Include headers needed for the functions moved in. + (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c. + (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise. + (copy_body, initialize_inlined_parameters): Likewise. + (declare_return_variable, inlinable_function_p): Likewise. + (expand_call_inline, expand_calls_inline): Likewise. + (optimize_inline_calls, clone_body): Likewise. + (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c. + (copy_tree_r, remap_save_expr): Likewise. + +2001-10-04 Alexandre Oliva + + * Makefile.in (OBJS): Added tree-inline.o. + (c-common.o): Depend on tree-inline.h. + (tree-inline.o): New target. + * c-common.c: Include tree-inline.h. + (c_mark_lang_decl): Don't mark saved_tree. + (c_common_lang_init): Set lang_anon_aggr_type_p. + * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h. + (struct c_lang_decl): Moved saved_tree to tree_decl. + * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs. + * integrate.h (function_attribute_inlinable_p): Declare it. + * integrate.c (function_attribute_inlinable_p): Export it. + * tree-inline.c: New file. Define variables declared in... + * tree-inline.h: New file. Declare functions to be moved to + tree-inline.c. Define macros and declare types and hooks for + language-specific tree inlining. + (flag_inline_trees): Moved definition from cp/decl2.c. + * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h. + (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h. + (struct tree_decl): Moved saved_tree from c_lang_decl and + inlined_fns from C++'s lang_decl. + +2001-10-04 Loren J. Rittle + + * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which + propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS. + +2001-10-04 Neil Booth + + * doc/cppinternals.texi: Update. + +2001-10-04 Eric Christopher + + * config/mips/mips.c (init_cumulative_args): Remember to set + cum->prototype. + * config.gcc: Redo linux configuration. Add target_cpu_default + of soft-float to all mipsisa32 combinations and tx39. + * config/mips/linux.h: Remove include of mips.h. + +2001-10-03 Loren J. Rittle + + * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS, + HOST_LDFLAGS and HOST_CPPFLAGS. + +2001-10-03 Ziemowit Laski + + * c-parse.in (objc_inherit_code, objc_pq_context, + objc_public_flag): Make static. + (objc_interface_context, objc_implementation_context, + objc_method_context, objc_ivar_chain, objc_ivar_context): Move to + global tree array in objc/objc-act.[ch]. + (methoddef): Remove unnecessary code. + + * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry): + Hoist struct definitions to objc-act.h. + (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count, + cat_count): Place declaration in objc-act.h. + (objc_tree_index): Move enumeration to objc-act.h. + (objc_global_trees): Place declaration and macro accessors in + objc-act.h. + (implementation_context): Remove duplicate; use + objc_implementation_context instead: + (method_context): Remove duplicate; use objc_method_context + instead. + (objc_ellipsis_node, objc_method_prototype_template, + implemented_classes, function_type): Move global vars to + objc_global_trees. + (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE. + (build_message_expr): Move actual construction of ObjC message + send nodes to finish_message_expr. + (finish_message_expr): New routine, contains code formerly in + build_message_expr. + * objc/objc-act.h (finish_message_expr): New prototype. + (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove + declarations; these vars are now part of objc_global_trees. + (objc_tree_index, objc_global_trees): Move definitions from + objc-act.c. + * objc/objc-tree.def: Update copyright info. + +Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com) + + * dwarf2asm.c (unaligned_integer_asm_op): Abort if + op is NULL. + * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use + only if TARGET_ARCH64. + +2001-10-02 Bernd Schmidt + + * doc/extend.texi: Fix some problems with previous checkin. + * doc/invoke.texi: Likewise. + +2001-10-02 Neil Booth + + * cpphash.h: Update comments. + (cpp_context): Update. + (spec_nodes): Remove n__Pragma. + * cppinit.c (cpp_create_reader): Update. + (builtin_array): Add _Pragma. + * cpplib.h: Update comments. + (NODE_DISABLED, BT_PRAGMA): New. + (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes. + * cppmacro.c (struct cpp_macro): Remove disabled. + (builtin_macro): Return int, handle _Pragma, push the new token + on the context stack. + (funlike_invocation_p): Unconstify, update. + (enter_macro_context): Handle builtins here. + (replace_args, push_token_context, push_ptoken_context): + Update for prototype changes. + (_cpp_pop_context): Update. + (cpp_get_token): Don't handle buitins, nor _Pragma here. + (cpp_sys_macro_p): Update. + (_cpp_free_definition): Clear disabled flag. + (_cpp_create_definition): Upate. + * cppmain.c: Update comments. + +Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen , + Andreas Jaeger , + Jan Hubicka + + * doc/invoke.texi (i386 Options): Document x86-64 options. + (i386 and x86-64 Options): Rename i386 options section. + + * config/i386/i386.h (TARGET_UNWIND_INFO): New. + (TARGET_SWITCHES): Add -munwind-info. + (MASK_NO_UNWIND_INFO): New. + (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for + biarch compilation. + (ASM_OUTPUT_DOUBLE_INT): New. + + * config/i386/linux64.h: New spec file for Linux x86-64 support. + * config.gcc: Fix tm_file settings for x86-64. + * config/i386/x86-64.h: New file with OS independent x86-64 + definitions. + * config/i386/biarch64.h: New file used to configure compiler + to biarch/64bit compilation. + + * config/i386/i386.c: (override_options): Set flags default + for 64bit compilation. + +Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka + + * i386.c (legitimize_pic_address): Add missing bits of 64bit support. + (ix86_expand_int_movcc): Optimize DImode conditional moves with + constants on x86_64. + (ix86_attr_length_immediate_default): Support MODE_DI. + * i386.md (fixdi splitter): Add missing "&& 1" in splitter + condition. + (indirect_jump, tablejump): Turn into expander. + +2001-10-02 Joseph S. Myers + + * c-common.c (c_format_attribute_table): Make format and + format_arg attributes apply to function types rather than to + decls. + (is_valid_printf_arglist): Construct an attribute list and pass + that to check_function_format rather than a name. + * c-common.h (check_function_format): Adjust prototype. + * c-decl.c (duplicate_decls): Preserve attributes from type of + built-in decl when allowing for harmless conflict in types. + * c-format.c (record_function_format, + record_international_format, function_format_list, + international_format_info, international_format_list): Remove. + (function_format_info): Remove next, name and assembler_name. + Make format_num and first_arg_num be unsigned HOST_WIDE_INT. + (decode_format_attr): New. + (handle_format_attribute): Handle receiving a type rather than a + decl. Call decode_format_attr. Store format information in a + function_format_info. + (handle_format_arg_attribute): Correct comment. Handle receiving + a type rather than a decl. Use unsigned HOST_WIDE_INT for + arg_num. + (check_format_info_recurse, check_format_info_main): Take argument + numbers as unsigned HOST_WIDE_INT. + (check_function_format): Take a list of attributes from the + function type rather than a name or assembler name. Check for + format attributes in that list and the attributes on the type of + the current function rather than looking through + function_format_list. + (check_format_info): Use unsigned HOST_WIDE_INT for argument + numbers. + (check_format_info_recurse): Take format_arg attributes from the + type of the function calls rather than using + international_format_list. Allow for multiple format_arg + attributes. + * c-typeck.c (build_function_call): Pass type attributes to + check_function_format rather than name or assembler name. Don't + require there to be a name or assembler name to check formats. + +2001-10-02 Joseph S. Myers + + * attribs.c (decl_attributes): Possibly call + insert_default_attributes to insert default attributes on + functions in a lazy manner. + * builtin-attrs.def: New file; define the default format and + format_arg attributes. + * c-common.c (c_format_attribute_table): Move to earlier in the + file. + (c_common_nodes_and_builtins): Initialize format_attribute_table. + (enum built_in_attribute, built_in_attributes, + c_attrs_initialized, c_init_attributes, + c_common_insert_default_attributes): New. + (c_common_lang_init): Don't initialize format_attribute_table. Do + call c_init_attributes. + * Makefile.in (c-common.o): Depend on builtin-attrs.def. + * c-common.h (init_function_format_info): Don't declare. + (c_common_insert_default_attributes): Declare. + * c-decl.c (implicitly_declare, builtin_function): Call + decl_attributes. + (init_decl_processing): Don't call init_function_format_info. + (insert_default_attributes): New. + * c-format.c (handle_format_attribute, + handle_format_arg_attribute): Be quiet about inappropriate + declaration when applying default attributes. + (init_function_format_info): Remove. + * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN. + (insert_default_attributes): Declare. + +2001-10-02 Joseph S. Myers + + * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94. + +2001-10-01 Jim Wilson + + * sched-deps.c (add_dependence): When elide conditional dependence, + check that insn doesn't modify cond2. + +2001-10-01 Dale Johannesen + + * config/rs6000/rs6000.h (enum processor_type): Add support + for 7400 (G4) and 7450. + (RTX_COSTS): Ditto. + * config/rs6000/rs6000.c (rs6000_override_options): Ditto. + (rs6000_issue_rate): Ditto. + (rs6000_adjust_cost): Fix cycle counts for compares. + (debug_stack_info): Fix an obvious typo. + * config/rs6000/rs6000.md: Add functional units for 7400 and 7450. + * doc/invoke.texi: Document. + * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable + for Darwin. + (PROCESSOR_DEFAULT): Ditto. + +2001-10-01 Loren J. Rittle + + * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC. + (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for + later recursive make invocation. + +2001-10-01 Hans Boehm + + * optabs.c (emit_libcall_block): When using non-call exceptions, + don't add REG_LIBCALL reg notes to trapping calls. + +2001-10-01 David Billinghurst + + * flow.c (propagate_block_delete_libcall): Remove unused first arg + (propagate_one_insn): Update for above change + +2001-10-01 David Billinghurst + + * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase, + _Unwind_GetTextRelBase): Argument is unused. + +Mon Oct 1 19:20:57 2001 Richard Kenner + + * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR. + Loop through NOPs, placeholders, and components. + Don't go through NOPs if change mode. + (record_alias_subset): Do nothing if SUBSET and SET are the same. + * emit-rtl.c (set_mem_alias_set): Enable check. + * expr.c (find_placeholder): New function. + (expand_expr, case PLACEHOLDER_EXPR): Use it. + (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need + to modify it and avoid unneeded copies. + * expr.h (expand_expr): Always define. + (find_placeholder): New declaration. + +2001-10-01 Stephane Carrez + + * config/m68hc11/m68hc11.md ("add-split"): Fix add split when + operand 2 is the stack pointer. + ("addr-peephole"): Fix address computation peephole when operand 2 + is the stack pointer. + +Mon Oct 1 09:26:41 2001 Richard Kenner + + * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set. + (ix86_setup_incoming_varargs): Likewise. + +2001-10-01 Jason Merrill + + * stor-layout.c (layout_type): Don't complain about too-large + array here. + +Mon Oct 1 06:43:41 2001 Richard Kenner + + * function.c (keep_stack_depressed): Don't use delete_insn. + + * expr.h (set_mem_alias_set): Move decl to here. + * rtl.h (mem_attrs): New typedef and struct. + (union rtunion_def): Add field for mem_attrs. + (X0MEMATTR, MEM_ATTRS): New macros. + (MEM_ALIAS_SET): Use MEM_ATTRS. + (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros. + (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS. + (set_mem_alias_set): Delete decl from here. + + * alias.c (set_mem_alias_set): Delete from here. + * emit-rtl.c (mem_attrs_htab): New variable. + (rtx_htab_mark, rtx_htab_mark_1): Deleted. + (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions. + (mem_attrs_mark, get_mem_attrs): Likewise. + (gen_rtx_MEM): Clear MEM_ATTRS. + (set_mem_attributes): Move to here. + (set_mem_alias_set): Likewise, and call get_mem_attrs. + (init_emit_once): const_int_htab now deletable htab. + Initialize mem_attrs_htab. + * explow.c (set_mem_attributes): Delete from here. + * function.c (put_var_into_stack): Clear MEM_ATTRS. + (gen_mem_addressof): Likewise; rework to use set_mem_attributes. + * ggc-common.c (ggc_mark_rtx_children, case MEM): New case. + * reload1.c (reload): Rework changing REG to MEM. + +2001-09-30 H.J. Lu + + * acconfig.h (PREFIX_INCLUDE_DIR): New variable. + * config.in: Rebuild. + +2001-09-30 Stephane Carrez + + * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints. + ("tsthi_1"): Avoid allocation in register y. + ("*movqi_68hc12"): Reorganize and fix constraints. + ("zero_extendqisi2"): Prefer d over x and y for operand 1. + ("addqi3"): Likewise. + ("addhi3"): Fix constraints. + ("*logicalhi3_zexthi"): Disparage soft registers. + +2001-09-30 Stephane Carrez + + * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp + to tmp reg. + +2001-09-30 Stephane Carrez + + * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so + that we use setjmp/longjmp exceptions. + +2001-09-30 Neil Booth + + * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, + POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk, + struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve, + _cpp_pool_alloc, _cpp_next_chunk): Remove. + (_cpp_extend_buff, BUFF_ROOM): Update. + (_cpp_append_extend_buff): New. + (struct cpp_reader): Remove macro_pool, add a_buff. + * cppinit.c (cpp_create_reader): Initialize a_buff, instead of + macro_pool. + (cpp_destroy): Free a_buff instead of macro_pool. + * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk, + new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve, + _cpp_pool_alloc, ): Remove. + (parse_number, parse_string): Update use of _cpp_extend_buff. + (_cpp_extend_buff): Update. + (_cpp_append_extend_buff, cpp_aligned_alloc): New. + * cpplib.c (glue_header_name, parse_answer): + Update use of _cpp_extend_buff. + (cpp_register_pragma, cpp_register_pragma_space): Use + _cpp_aligned_alloc. + (do_assert, do_unassert): Check for EOL, update. + * cppmacro.c (stringify_arg, collect_args): Update to use + _cpp_extend_buff and _cpp_append_extend_buff. + (save_parameter, parse_params, alloc_expansion_token, + _cpp_create_definition): Rework memory management. + +2001-09-29 Andris Pavenis + + * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't + update md_exec_prefix. + (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point + to string constant. + +2001-09-30 Ulrich Weigand + + * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode. + (SELECT_CC_MODE): Use s390_select_ccmode. + * config/s390/s390-protos.h (s390_select_ccmode): Add. + * config/s390/s390.c (s390_select_ccmode): New. + (s390_match_ccmode): Add CCLmode. + (s390_branch_condition_mask, s390_branch_condition_mnemonic): New. + (output_branch_condition, output_inverse_branch_condition): Removed. + (print_operand): Use s390_branch_condition_mnemonic. + * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2, + subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode. + (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New. + + * config/s390/s390.c (check_and_change_labels): Preserve CC mode + when converting conditional branches to far branches. + * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si, + cmpint_di): Use CCSmode instead of CCUmode. + + * config/s390/s390.c (legitimate_la_operand_p): New. + * config/s390/s390-protos.h (legitimate_la_operand_p): Add. + * config/s390/s390.md (movsi): Convert load address patterns to + arithmetic operations when necessary. + (addaddr_picR, addaddr_picL, addaddr_picN): Removed. + (do_la): Renamed to *do_la and use legitimate_la_operand_p. + (*do_la_reg_0): Don't use before reload. + + * config/s390/s390.c (legitimize_address): Make more efficient + use of two-register addressing mode. + + * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog + with -mno-backchain in some corner cases. + + * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute. + +2001-09-29 Alexandre Oliva + + * reload.c (find_reloads): Mark new USE insns with QImode. + (find_reloads_toplev, find_reloads_address, subst_reg_equivs, + find_reloads_subreg_address): Likewise. + * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are + encountered. + * reload1.c (reload_combine_note_use): Likewise, inside USEs and + CLOBBERs. + (reload): Make sure there are no USEs with mode other than + VOIDmode. At the end, remove those marked with QImode. + +2001-09-29 Per Bothner + + * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR. + * Makefile.in (includedir): Rename to local_includedir. + (includedir): Define as $(prefix)/include. + * config.in (PREFIX_INCLUDE_DIR): New variable. + * configure.in (PREFIX_INCLUDE_DIR): Test for new variable. + +2001-09-29 Bernd Schmidt + + * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and + storehps builtins. + * doc/extend.texi (Vector Extensions): New node. + * doc/invoke.texi (Machine Dependent Options): Add documentation for + i386 -mmmx, -msse, -m3dnow. + +Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka + + * doc/invoke.texi (Optimize Options): Revert an accidental checkin. + +2001-09-29 Hans-Peter Nilsson + + * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn. + + * doc/invoke.texi (Optimize Options): Delete spurious @table. + +2001-09-28 Richard Henderson + + * varasm.c (assemble_integer): Bound alignment check by + BIGGEST_ALIGNMENT. + + * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails. + +2001-09-28 Rainer Orth + + * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define. + +2001-09-25 Bernd Schmidt + + Mostly from Graham Stott + * c-common.c (type_for_mode): Add support for V2SFmode. + * tree.c (build_common_tree_nodes_2): Likewise. + * tree.h (enum tree_index, global_trees): Likewise. + * config/i386/i386.c (x86_3dnow_a): New variable. + (override_options): Support 3Dnow extensions. + (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of + Athlon's version of 3Dnow. + (ix86_init_mmx_sse_builtins): Create 3Dnow builtins. + (ix86_expand_builtin): Handle them. + (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow. + * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW, + TARGET_3DNOW_A): New macros. + (TARGET_SWITCHES): Add 3Dnow switches. + (VALID_MMX_REG_MODE_3DNOW): New macro. + (VECTOR_MODE_SUPPORTED_P): Use it. + (enum ix86_builtins): Add entries for 3Dnow builtins. + * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id, + pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3, + pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw, + pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2, + pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, + pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns. + (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart, + mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, + mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence, + sfence_insn, prefetch): Make these available if TARGET_SSE or + TARGET_3DNOW_A. + +Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka + + * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg, + ix86_va_start, ix86_build_va_list): Declare. + * i386.c (ix86_setup_incoming_varargs, ix86_va_arg, + ix86_va_start, ix86_build_va_list): New global functions. + * i386.md (sse_prologue_save_insn): New insn. + (sse_prologue_save): New expander. + * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START, + BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros. + +2001-09-28 Neil Booth + + * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff): + Use size_t everywhere, make definitions consistent with + prototypes. + +Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka + + * gcse.c (replace_store_insn): Use delete_insn. + * loop.c (move_movables): Likewise; avoid delete_insn + from clobbering notes moved elsewhere. + (check_dbra_loop): Use delete_insn. + * ssa.c (convert_from_ssa): Likewise. + * cse.c (cse_insn): Use delete_insn. + +2001-09-28 Neil Booth + + * cpphash.h (struct cpp_buff): Make unsigned. + (_cpp_get_buff): Take length of size_t. + (_cpp_unaligned_alloc): New. + (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New. + (struct cpp_reader): Remove ident_pool. Add u_buff. + * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool. + (cpp_destroy): Destroy u_buff, not ident_pool. + * cpplex.c (parse_number, parse_string, save_comment, + cpp_token_as_text): Update to use the unaligned buffer. + (new_buff): Make unsigned. + (_cpp_unaligned_alloc): New. + * cpplib.c (glue_header_name): Update to use the unaligned buffer. + * cppmacro.c (new_number_token, builtin_macro, stringify_arg): + Similarly. + (collect_args): Make unsigned. + +2001-09-27 Zack Weinberg + + * cpplex.c (cpp_output_token): Use a putc loop for + SPELL_OPERATOR, and fwrite for SPELL_IDENT. + + * configure.in: Detect fwrite_unlocked and fprintf_unlocked. + * configure, config.in: Regenerate. + * system.h: Replace fwrite and fprintf with their unlocked + variants if available. + +2001-09-27 Richard Henderson + + * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame + in favour of .eh_frame. + +2001-09-27 Aldy Hernandez + + * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3 + to macros. + (LIBCALL_VALUE): Likewise. + +2001-09-27 Neil Booth + + * cpphash.h: Update comment. + * cpplex.c: Update comments. + (_cpp_can_paste): Remove. + * cpplib.h (_cpp_can_paste): Remove. + * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the + lexer rather than _cpp_can_paste. + +2001-09-27 Neil Booth + + * doc/cppinternals.texi: Update. + +2001-09-26 Neil Booth + + * cpphash.h (struct cpp_pool): Remove locks and locked. + (struct cpp_context): Add member buff. + (struct cpp_reader): Remove member argument_pool. + (_cpp_lock_pool, _cpp_unlock_pool): Remove. + * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead. + * cpplex.c (chunk_suitable): Remove pool argument. + (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New. + (new_buff, _cpp_extend_buff): Update. + (_cpp_get_buff): Fix silly pointer bug. Be more selective about + which buffer is returned. + (_cpp_next_chunk, _cpp_init_pool): Pool locking removed. + (_cpp_lock_pool, _cpp_unlock_pool): Remove. + * cppmacro.c (lock_pools, unlock_pools): Remove. + (push_ptoken_context): Take a _cpp_buff. + (enter_macro_context): Pool locking removed. + (replace_args): Use a _cpp_buff for the replacement list with + arguments replaced. + (push_token_context): Clear buff. + (expand_arg): Use _cpp_pop_context. + (_cpp_pop_context): Free a context's buffer, if any. + +2001-09-26 DJ Delorie + + * c-typeck.c (digest_init): Check for sizeless arrays. + +2001-09-26 Richard Henderson + + * optabs.c (init_one_libfunc): Create a dummy function type + instead of using error_mark_node. + +2001-09-26 Neil Booth + + * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff, + _cpp_extend_buff, _cpp_free_buff): New. + (struct cpp_reader): New member free_buffs. + * cppinit.c (cpp_destroy): Free buffers. + * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff, + _cpp_extend_buff, _cpp_free_buff): New. + * cpplib.h (struct cpp_options): Remove unused member. + * cppmacro.c (collect_args): New. Combines the old parse_arg + and parse_args. Use _cpp_buff for memory allocation. + (funlike_invocation_p, replace_args): Update. + +Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka + + * final.c (final_scan_insn): Use delete_insn instead of delete_note. + +2001-09-25 Andrew Haley + + * except.c (sjlj_mark_call_sites): Change address inside sequence. + +2001-09-24 Andrew Haley + + * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with + glibc. + +2001-09-25 Janis Johnson + Jim Wilson + + * doc/install.texi (Specific, ia64-*-linux): Document. + +Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka + + * Makefile.in (cfgrtl.o): Add. + * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks, + free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges, + free_aux_for_edge): Declare. + * cfg.c + (HAVE_return): Undefine. + * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks, + free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges, + free_aux_for_edge): New global functions. + (first_delete_block): New static variable. + (init_flow): Clear first_delete_block. + (basic_block_for_insn, label_value_list, tail_recursion_label_list, + can_delete_note_p, can_delete_label_p, commit_one_edge_insertion, + try_redirect_by_replacing_jump, last_loop_beg_note, + back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect, + delete_insn, delete_insn_chain, create_basic_block_structure, + create_basic_block, flow_delete_block, compute_bb_for_insn, + free_bb_for_insn, update_bb_for_insn, set_block_for_insn, + set_block_for_new_insns, split_block, merge_blocks_nomove, + block_label, try_redirect_by_replacing_jump, last_loop_beg_note, + redirect_edge_and_branch, force_nonfallthru_and_redirect, + force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge, + tidy_fallthru_edges, split_edge, insert_insn_on_edge, + commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb, + debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges, + purge_all_dead_edges): Move to .... + * cfgrtl.c: New file; .... Here. + + * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block. + (reroder_basic_block): Use alloc_aux_for_blocks. + * predict.c (estimate_bb_frequencies): Likewise; use + alloc_aux_for_edges. + * profile.c (compute_branch_probabilities): Likewise. + (branch_prob): Likewise. + * reg-stack.c (reg_to_stack): Likewise. + + * emit-rtl.c (emit_insns_after): Never return NULL. + + * basic-block.h (set_block_for_new_insns): Delete. + * cfgrtl.c (set_block_for_new_insns): Delete. + + * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn + calls when crossjumping. + + * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call. + * unroll.c (copy_loop_body): Use delete_insn. + + * final.c (final, final_scan_insn): Use delete_insn/delete_note. + * function.c (fixup_var_refs_insn, fixup_var_refs_1, + keep_stack_depressed): Likewise. + * gcse.c (cprop_cc0_jump): Likewise. + * local-alloc.c (update_equiv_regs): Likewise. + * loop.c (scan_loop, loop_delete_insns): Likewise. + * regmove.c (try_auto_increment, fixup_match_1): Likewise. + * reload1.c (reload, calculate_needs_all_insns, reload_as_needed, + delete_output_reload, delete_address_reloads_1, + reload_cse_delete_noop_set, reload_combine, reload_cse_move2add): + Likewise. + * sibcall.c (replace_call_placeholder): Likewise. + * cse.c (cse_insn): Likewise. + +2001-09-25 Bernd Schmidt + + From Graham Stott + (def_builtin): Only define builtins appropriate for target_flags. All + callers changed. + (builtin_decsription): Add new field mask which is used to determine + when to define the builtin via the macro def_builtin. + + (bdesc_comi): Initialise new mask fields. + (bdesc_2srg): Likewise. + (bdesc_1arg): Likewise. + + * config/i386/i386.c (ix86_init_builtins): Correct return type + building v4hi_ftype_v4hi_int_int tree node. + (ix86_expand_sse_comi): Fix typo swapping operands. + Don't swap comparision condition, it is already swapped. + (ix86_expand_sse_compare): Before swapping operands + move operand 1 into new rtx and not the target rtx. + Don't swap comparison condition, it is already swapped. + Always check whether we need to create a new TARGET. + + * config/i386/i386.md: (sse_comi) Fix typos. + (sse_ucomi): Likewise. + (cvtss2si): Fix operand 0 contraint. + (cvttss2si): Likewise. + (sse_unpckhps): Fix mode for operand 2. + (sse_unpcklps): Likewise. + +2001-09-25 Graham Stott + + * sibcall.c (skip_copy_to_return_value): Tighten return value + copy check. + +2001-09-24 David Edelsohn + + * rs6000.c (lwa_operand): Address must be word aligned. + +Mon Sep 24 18:57:59 2001 Richard Kenner + + * tree.c (type_hash_marked_p): Consider as marked if debug symbol + number has been set. + (type_hash_mark): Mark type itself. + +2001-09-24 Neil Booth + + * c-lex.c (cb_def_pragma): Update. + (c_lex): Update, and skip padding. + * cppexp.c (lex, parse_defined): Update, remove unused variable. + * cpphash.h (struct toklist): Delete. + (union utoken): New. + (struct cpp_context): Update. + (struct cpp_reader): New members eof, avoid_paste. + (_cpp_temp_token): New. + * cppinit.c (cpp_create_reader): Update. + * cpplex.c (_cpp_temp_token): New. + (_cpp_lex_direct): Add PREV_WHITE when parsing args. + (cpp_output_token): Don't print leading whitespace. + (cpp_output_line): Update. + * cpplib.c (glue_header_name, parse_include, get__Pragma_string, + do_include_common, do_line, do_ident, do_pragma, + do_pragma_dependency, _cpp_do__Pragma, parse_answer, + parse_assertion): Update. + (get_token_no_padding): New. + * cpplib.h (CPP_PADDING): New. + (AVOID_LPASTE): Delete. + (struct cpp_token): New union member source. + (cpp_get_token): Update. + * cppmacro.c (macro_arg): Convert to use pointers to const tokens. + (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p, + replace_args, quote_string, stringify_arg, parse_arg, next_context, + enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput, + _cpp_backup_tokens, _cpp_create_definition): Update. + (push_arg_context): Delete. + (padding_token, push_token_context, push_ptoken_context): New. + (make_string_token, make_number_token): Update, rename. + (cpp_get_token): Update to handle tokens as pointers to const, + and insert padding appropriately. + * cppmain.c (struct printer): New member prev. + (check_multiline_token): Constify. + (do_preprocessing, cb_line_change): Update. + (scan_translation_unit): Update to handle spacing. + * scan-decls.c (get_a_token): New. + (skip_to_closing_brace, scan_decls): Update. + * fix-header.c (read_scan_file): Update. + + * doc/cpp.texi: Update. + +2001-09-24 Kaveh R. Ghazi + + * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid + leak by passing malloc'ed pointer to reconcat, not concat. + +2001-09-24 DJ Delorie + + * varasm.c (array_size_for_constructor): Handle STRING_CSTs also. + +2001-09-24 Ulrich Weigand : + + * flow.c (delete_dead_jumptables): Delete jumptable if the only + reference is from the literal pool. + +2001-09-24 Janis Johnson + + * doc/install.texi (Final install): Request additional information + in mail about successful builds. + +2001-09-24 John David Anglin + + * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use + initial value of return pointer register instead of value in frame-20. + Revise comments. + +2001-09-24 John David Anglin + + * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting. + (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for + the libcall if there isn't a referenced identifier for the symbol. + +2001-09-24 John David Anglin + + * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for + non 64-bit machines. Use these as a plabel for the trampoline. + (TRAMPOLINE_SIZE): Adjust size for new words. + (INITIALIZE_TRAMPOLINE): Initialize new words. + (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a + pointer to the plabel in the trampoline. + +2001-09-24 John David Anglin + + * pa.c (function_arg): Pass floating arguments in both general and + floating registers in indirect (dynamic) calls when generating code + for the 32 bit ABI and the HP assembler. + +2001-09-24 Rainer Orth + + * doc/install.texi: Markup fixes. + Use Solaris 2, SunOS 4 as appropriate. + (Specific, *-*-solaris2*): Explain this. + Unconditionally warn against /usr/ucb tools. + Remove Sun as warning, obsolete. + Move X11 header bug workaround here, update patches. + (Specific, sparc-sun-solaris2*): Detail Sun as fix status. + (Specific, sparc-sun-solaris2.7): Update patch 106950 status. + +2001-09-23 Zack Weinberg + + * errors.h (warning, error, fatal, internal_error): Don't mark + with ATTRIBUTE_PRINTF_n. + * toplev.h (internal_error, fatal_io_error, warning, error, + pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line, + error_with_file_and_line, sorry, error_for_asm, warning_for_asm): + Likewise. + +Sun Sep 23 18:19:48 2001 Richard Kenner + + * function.c (pop_function_context_from): var_refs_queue + and temp slots now in GC memory. + (mark_function_status, free_after_compilation): Likewise; + also struct function now in GC memory. + (assign_stack_temp_for_type): struct temp_slot now in GC memory. + (combine_temp_slots): Likewise. + (schedule_fixup_var_refs): var_refs_queue now in GC memory. + (prepare_function_start): Use GC memory for struct function. + (mark_temp_slot): Deleted. + (gcc_mark_struct_function): struct function now in GC memory. + + * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust + code for division, not modulus. + + * rtl.def (MEM): Remove obsolete part of comment. + +2001-09-22 Joseph S. Myers + + * c-format.c (init_function_format_info): Check __builtin_printf + and __builtin_fprintf even if -ffreestanding. Check C99 functions + in gnu89 mode. + +Sat Sep 22 09:09:32 2001 Richard Kenner + + * c-common.c (format_attribute_table): Remove decl. + * tree.h (format_attribute_table, lang_attribute_table): New decls. + (lang_attribute_common): Likewise. + + * function.c (fix_lexical_address): Use set_mem_alias_set. + (expand_function_start): Likewise. + * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise. + + * varasm.c (output_constant): Fix unused variable warning. + + * attribs.c: New file, from c-common.c. + (attribute_tables): Now four elements. + (format_attribute_table, lang_attribute_common): New variables. + (init_attributes): Reflect above changes. + (handle_mode_attribute): Delete check for wider than uintmax. + * c-common.c: Delete parts moved to attribs.c. + (enum attrs): Deleted; unused. + (c_format_attribute_table): New variable. + (c_common_lang_init): Initialize format_attribute_table with it. + * c-common.h (decl_attributes): Remove decl. + * tree.h (decl_attribute): Move it to here. + * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o. + (attribs.o): New rule. + +2001-09-22 Andreas Jaeger + + * builtins.c (c_getstr): Remove unused variable. + +2001-09-21 Richard Henderson + + * reload1.c (reload): Use delete_insn instead of splatting + NOTE_INSN_DELETED. + +2001-09-21 Richard Henderson + + * reload.c (push_secondary_reload): Don't check for "=" in output + constraint after ""->ALL_REGS check. + +2001-09-21 Richard Henderson + + * predict.c (expected_value_to_br_prob): Use pc_set. + + * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by + ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl. + +2001-09-21 Richard Henderson + + * rtl.h (LCT_RETURNS_TWICE): New. + * calls.c (emit_call_1): Set current_function_calls_setjmp for + ECF_RETURNS_TWICE. + (emit_library_call_value_1): Map LCT_RETURNS_TWICE + to ECF_RETURNS_TWICE. + * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for + call to setjmp. + + * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc. + + * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New. + (JMP_BUF_SIZE): New. + +2001-09-21 Richard Henderson + + * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd' + to R8_REGS. + +2001-09-21 Richard Henderson + + * tree.def (FDESC_EXPR): New. + * expr.c (expand_expr): Handle it. + * varasm.c (initializer_constant_valid_p): Likewise. + (output_constant): Likewise. + * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New. + * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New. + (ASM_OUTPUT_FDESC): New. + * doc/tm.texi: Document the new macros. + +21-09-2001 Richard Earnshaw (reanrsha@arm.com) + + * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave + ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block + once merging is complete. + +Fri Sep 21 11:20:12 2001 Richard Kenner + + * integrate.c (allocate_initial_values): Eliminate unused arg warning. + +21-09-2001 Richard Earnshaw (reanrsha@arm.com) + + * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes + that would be invalid after a merge. + +Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka + + * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill. + * cfg.c (delete_insn): Rename from ....; use remove_insn; do not + remove some labels. + (flow_delete_insn): This one. + (delete_insn_chain): Rename from ...; do not care labels. + (flow_delete_insn_chain): ... this one. + (flow_delete_block): Remove the insns one BB has been expunged. + (merge_blocks_nomove): Likewise. + (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care + updating BB boundaries. + (tidy_fallthru_edge): Likewise. + (commit_one_edge_insertion): Likewise. + * cfgbuild.c (find_basic_block): Likewise. + (find_basic_blocks_1): Likewise. + * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise. + (try_crossjump_to_edge): Likewise. + (try_optimize_cfg): Likewise. + * cse.c (delete_trivially_dead_insns): Likewise. + * df.c (df_insn_delete): Likewise. + * doloop.c (doloop_modify): Use delete_related_insns. + * emit-rtl.c (try_split): Likewise. + (remove_insn): Update BB boundaries. + * expect.c (connect_post_landing_pads): Use delete_related_insns. + * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care + updating BB boundaries. + (propagate_block_delete_insn): Likewise. + (propagate_block_delete_libcall): Likewise. + * function.c (delete_handlers): Use delete_related_insns. + (thread_prologue_and_epilogue_insns): Likewise. + * gcse.c (delete_null_pointer_checks): Use delete_related_insns. + * genpeep.c (gen_peephole): Use delete_related_insns. + * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating + BB boundaries. + (find_cond_trap): Likewise. + * integrate.c (save_for_inline): Use delete_related_insns. + (copy_insn_list): Likewise. + * jump.c (pruge_linie_number_notes): Likewise. + (duplicate_loop_exit_test): Likewise. + (delete_computation): Likewise. + (delete_related_insn): Rename from ...; use delete_insn + (delete_insn): ... this one. + (redirect_jump): Use delete_related_insns. + * loop.c (scan_loop): Likewise. + (move_movables): Likewise. + (find_and_verify_loops): Likewise. + (check_dbra_loop): Likewise. + * recog.c (peephole2_optimize): Likewise. + * reg-stack.c (delete_insn_for_stacker): Remove. + (move_for_stack_reg): Use delete_insn. + * regmove.c (combine_stack_adjustments_for_block): Likewise. + * reload1.c (delete_address_reloads): Use delete_related_insns. + (fixup_abnormal_edges): Use delete_insn. + * recog.c (emit_delay_sequence): Use delete_related_insns. + (delete_from-delay_slot): Likewise. + (delete_scheduled_jump): likewise. + (optimize_skip): Likewise. + (try_merge_delay_insns): Likewise. + (full_simple_delay_slots): Likewise. + (fill_slots_from_thread): Likewise. + (relax_delay_slots): Likewise. + (make_return_insns): Likewise. + (dbr_schedule): Likewise. + * rtl.h (delete_insn): Rename to delete_related_insns. + (delete_insn, delete_insn_chain): New prototypes. + * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done + by df_insn_delete already. + * ssa-dce.c (delete_insn_bb): Use delete_insn. + * ssa.c (convert_from_ssa): Use delete_related_insns. + * unroll.c (unroll_loop): Likewise. + (calculate_giv_inc): Likewise. + (copy_loop_body): Likewise. + + * i386-protos.h (ix86_libcall_value, ix86_function_value, + ix86_function_arg_regno_p, ix86_function_arg_boundary, + ix86_return_in_memory, ix86_function_value): Declare. + * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers): + new static valurables. + (x86_64_reg_class): New enum + (x86_64_reg_class_name): New array. + (classify_argument, examine_argument, construct_container, + merge_classes): New static functions. + (optimization_options): Enable flag_omit_frame_pointer and disable + flag_pcc_struct_return on 64bit. + (ix86_libcall_value, ix86_function_value, + ix86_function_arg_regno_p, ix86_function_arg_boundary, + ix86_return_in_memory, ix86_function_value): New global functions. + (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg. + (function_arg_advance): Handle x86_64 passing conventions. + (function_arg): Likewise. + * i386.h (FUNCTION_ARG_BOUNDARY): New macro. + (RETURN_IN_MEMORY): Move offline. + (FUNCTION_VALUE, LIBCALL_VALUE): Likewise. + (FUNCTION_VALUE_REGNO_P): New macro. + (FUNCTION_ARG_REGNO_P): Move offline. + (struct ix86_args): Add maybe_vaarg. + * next.h (FUNCTION_VALUE_REGNO_P): Delete. + * unix.h (FUNCTION_VALUE_REGNO_P): Delete. + +2001-09-21 Hartmut Penner + + * s390.md: Changed attributes for scheduling. + * s390.c: (s390_adjust_cost, s390_adjust_priority) + Changed scheduling + +2001-09-21 Joseph S. Myers + + Table-driven attributes. + * c-decl.c, config/alpha/alpha.c, config/arc/arc.c, + config/arm/arm.c, config/arm/pe.c, config/avr/avr.c, + config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h, + config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c, + config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c, + config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi, + doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c, + tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES. + * tree.h (struct tree_decl): Change machine_attributes to + attributes. + * doc/c-tree.texi: Document that all attributes are now attached + to decls and types. + * c-common.c (add_attribute, attrtab, attrtab_idx, + default_valid_lang_attribute, valid_lang_attribute): Remove. + (attribute_tables, attributes_initialized, + c_common_attribute_table, default_lang_attribute_table): New + variables. + (handle_packed_attribute, handle_nocommon_attribute, + handle_common_attribute, handle_noreturn_attribute, + handle_unused_attribute, handle_const_attribute, + handle_transparent_union_attribute, handle_constructor_attribute, + handle_destructor_attribute, handle_mode_attribute, + handle_section_attribute, handle_aligned_attribute, + handle_weak_attribute, handle_alias_attribute, + handle_no_instrument_function_attribute, + handle_no_check_memory_usage_attribute, handle_malloc_attribute, + handle_no_limit_stack_attribute, handle_pure_attribute): New + functions. + (init_attributes, decl_attributes): Rewrite to implement + table-driven attributes. + * c-common.h (enum attribute_flags): Move to tree.h. + * c-format.c (decl_handle_format_attribute, + decl_handle_format_arg_attribute): Rename to + handle_format_attribute and handle_format_arg_attribute. Update + for table-driven attributes. + * c-common.h (decl_handle_format_attribute, + decl_handle_format_arg_attribute): Remove prototypes. + (handle_format_attribute, handle_format_arg_attribute): Add + prototypes. + * c-decl.c (grokdeclarator): Handle attributes nested inside + declarators. + * c-parse.in (setattrs, maybe_setattrs): Remove. + (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs. + Update to handle nested attributes properly. + (maybe_resetattrs, after_type_declarator, + parm_declarator_nostarttypename, notype_declarator, absdcl1_noea, + absdcl1_ea, direct_absdcl1): Update to handle nested attributes + properly. + (make_pointer_declarator): Update to handle nested attributes + properly. + * doc/extend.texi: Update documentation of limits of attributes + syntax. Warn about problems with attribute semantics in C++. + * target.h (struct target): Remove valid_decl_attribute and + valid_type_attribute. Add attribute_table and + function_attribute_inlinable_p. + * target-def.h (TARGET_VALID_DECL_ATTRIBUTE, + TARGET_VALID_TYPE_ATTRIBUTE): Remove. + (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): + Add. + (TARGET_INITIALIZER): Update. + * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default + definition. + (function_attribute_inlinable_p): New function. Check for the + presence of any machine attributes before using + targetm.function_attribute_inlinable_p. + (function_cannot_inline_p): Update. + * Makefile.in (integrate.o): Update dependencies. + * doc/tm.texi: Update documentation of target attributes and + example definition of TARGET_VALID_TYPE_ATTRIBUTE. + * tree.c (default_valid_attribute_p, valid_machine_attribute): + Remove. + (default_target_attribute_table, + default_function_attribute_inlinable_p): New. + (lookup_attribute): Update comment to clarify handling of multiple + attributes with the same name. + (merge_attributes, attribute_list_contained): Allow multiple + attributes with the same name but different arguments to appear in + the same attribute list. + * tree.h (default_valid_attribute_p): Remove prototype. + (struct attribute_spec): New. + (default_target_attribute_table): Declare. + (enum attribute_flags): Move from c-common.h. Add + ATTR_FLAG_TYPE_IN_PLACE. + (default_function_attribute_inlinable_p): Declare. + * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove. + (TARGET_VALID_DECL_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (vms_attribute_table): New. + * config/arc/arc.c (arc_valid_decl_attribute): Remove. + (TARGET_VALID_DECL_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (arc_attribute_table, arc_handle_interrupt_attribute): New. + * config/arm/arm.c (arm_valid_type_attribute_p, + arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p): + Remove. + (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't + define. + (TARGET_ATTRIBUTE_TABLE): Define. + (arm_attribute_table, arm_handle_fndecl_attribute, + arm_handle_isr_attribute): New. + * config/avr/avr.c (avr_valid_type_attribute, + avr_valid_decl_attribute): Remove. + (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't + define. + (TARGET_ATTRIBUTE_TABLE): Define. + (avr_attribute_table, avr_handle_progmem_attribute, + avr_handle_fndecl_attribute): New. + * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove. + (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (c4x_attribute_table, c4x_handle_fntype_attribute): New. + * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove. + (TARGET_VALID_DECL_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (h8300_attribute_table, h8300_handle_fndecl_attribute, + h8300_handle_eightbit_data_attribute, + h8300_handle_tiny_data_attribute): New. + * config/i386/i386-protos.h (ix86_valid_type_attribute_p, + i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p): + Remove prototypes. + (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New + declarations. + * config/i386/i386.c (ix86_valid_type_attribute_p: Remove. + (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't + define. + (TARGET_ATTRIBUTE_TABLE): Define. + (ix86_attribute_table, ix86_handle_cdecl_attribute, + ix86_handle_regparm_attribute): New. + * config/i386/winnt.c (i386_pe_valid_decl_attribute_p, + i386_pe_valid_type_attribute_p): Remove. + (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New. + * config/ia64/ia64.c (ia64_valid_type_attribute): Remove. + (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (ia64_attribute_table): New. + * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1, + interrupt_ident2, model_ident1, model_ident2): Remove. + (TARGET_VALID_DECL_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (init_idents): Update. + (m32r_attribute_table, m32r_handle_model_attribute): New. + * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p): + Remove. + (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New. + * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove. + (TARGET_VALID_DECL_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (mcore_attribute_table, mcore_handle_naked_attribute): New. + * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove. + (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (ns32k_attribute_table, ns32k_handle_fntype_attribute): New. + * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove. + (TARGET_VALID_TYPE_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (rs6000_attribute_table, rs6000_handle_longcall_attribute): New. + * config/sh/sh.c (sh_valid_decl_attribute): Remove. + (TARGET_VALID_DECL_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (sh_attribute_table, sh_handle_interrupt_handler_attribute, + sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute): + New. + * config/stormy16/stormy16.c (stormy16_valid_type_attribute): + Remove. + (TARGET_VALID_TYPE_ATTRIBUTE): Don't define + (TARGET_ATTRIBUTE_TABLE): Define. + (stormy16_attribute_table, stormy16_handle_interrupt_attribute): + New. + * config/v850/v850.c (v850_valid_decl_attribute): Remove. + (TARGET_VALID_DECL_ATTRIBUTE): Don't define. + (TARGET_ATTRIBUTE_TABLE): Define. + (v850_attribute_table, v850_handle_interrupt_attribute, + v850_handle_data_area_attribute): New. + * config/v850/v850-c.c (mark_current_function_as_interrupt): + Return void. Call decl_attributes instead of + valid_machine_attribute. + +Fri Sep 21 01:49:41 2001 J"orn Rennecke + + * sh-protos.h (sh_pr_n_sets): Declare. + * sh.c (calc_live_regs): If the initial value for PR has been copied, + look at the copy to determine if PR needs to be saved. + sh_pr_n_sets: New function. + * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val. + (ALLOCATE_INITIAL_VALUE): Define. + + * sh.c (initial_elimination_offset): + Fix RETURN_ADDRESS_POINTER_REGNUM case. + +Fri Sep 21 01:13:56 2001 J"orn Rennecke + + * integrate.c (allocate_initial_values): New function. + * integrate.h (allocate_initial_values): Declare. + * local-alloc.c (local_alloc): Move call to allocate_reg_info from + here... + * reload1.c (reload): And initialization of reg_equiv_memory_loc + from here... + * toplev.c (rest_of_compilation): To here. + Call allocate_initial_values. + * tm.texi: add description for ALLOCATE_INITIAL_VALUE. + +Thu Sep 20 09:00:27 2001 Richard Kenner + + * ggc-page.c (ggc_marked_p): Properly convert return to boolean. + +2001-09-20 DJ Delorie + + * c-typeck.c (really_start_incremental_init): Discriminate + between zero-length arrays and flexible arrays. + (push_init_level): Detect zero-length arrays and handle them + like fixed-sized arrays. + * expr.c (store_constructor): Handle zero-length arrays and + flexible arrays correctly. + * doc/extend.texi: Update zero-length array notes. + +2001-09-20 Jim Wilson + + * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle. + (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking + for issue port conflicts. + (cycle_end_fill_slots): TYPE_L instructions take two slots. + +2001-09-20 Andrew MacLeod + + * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3 + on ia64. + +Thu Sep 20 09:00:27 2001 Richard Kenner + + * fold-const.c (hashtab.h): Include. + (int_const_binop): Remove FORSIZE arg and compute from type; all + callers changed. + Call size_int_type_wide for all single-word constants. + (size_htab_hash, size_htab_eq): New functions. + (size_int_type_wide): Rework to use hash table. + * ggc-common.c (hashtab.h): Include. + (struct d_htab_root): New struct. + (d_htab_roots): New variable. + (ggc_add_deletable_htab, ggc_htab_delete): New functions + (ggc_mark_roots): Handle deletable htabs. + * ggc-page.c (ggc_marked_p): New function. + * ggc-simple.c (ggc_marked_p): Likewise. + * ggc.h: Reformatting throughout. + (ggc_marked_p, ggc_add_deletable_htab): New declarations. + * tree.c (init_obstacks): Make type_hash_table a deletable root. + (type_hash_add): Allocate struct type_hash from GC memory. + (mark_hash_entry, mark_type_hash): Deleted. + (type_hash_marked_p, type_hash_mark): New functions. + * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h. + +Thu Sep 20 12:49:34 2001 J"orn Rennecke + + * sh.c (shiftcosts): Don't use shiftcosts array for modes wider + than SImode. + +Thu Sep 20 09:00:27 2001 Richard Kenner + + * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable + array-too-large test for signed sizetype. + +Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka + + * i386.md (indirect_jump): Allow Pmode operand. + (tablejump): LIkewise; perform expansion to 64bit mode. + * i386.c (symbolic_operand): Allow 64bit PIC references. + (pic_symbolic_operand): Likewise. + (ix86_find_base_term): Strip the 64bit PIC references. + (legitimate_pic_address_disp_p): Handle 64bit PIC. + (legitimize_pic_address): Likewise. + (i386_simplify_dwarf_addr): Strip down the 64bit PIC references. + * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation. + +2001-09-19 Alexandre Petit-Bianco + + * stringpool.c (get_identifier_with_length): New function. + * tree.h (get_identifier_with_length): New prototype. + +2001-09-19 Alan Modra + David Edelsohn + + Revert: + * config/rs6000/rs6000.c (logical_operand): CONST_INTs are + already sign-extended. + + * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers. + * config/rs6000/rs6000.c (logical_operand): Always compare op as + HOST_WIDE_INT. + (rs6000_emit_set_long_const): Avoid unnecessary shift. + (output_profile_hook): Declare label_name const. + * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates + to match constraints. + +2001-09-19 Stan Shebs + + * alias.c: Fix typos in comments. + * sched-rgn.c (init_ready_list): Ditto. + * unwind-dw2.c (uw_frame_state_for): Ditto. + * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto. + * unwind.inc (_Unwind_RaiseException_Phase2): Ditto. + * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto. + +2001-09-19 Richard Henderson + + * cfg.c (force_nonfallthru_and_redirect): Handle redirecting + to the exit block. + * Makefile.in (cfg.o): Depend on TM_P_H. + +2001-09-19 Richard Henderson + + * config/alpha/alpha.c (local_symbol_p): Split out from ... + (local_symbolic_operand): ... here. + (small_symbolic_operand): Check mode. + (global_symbolic_operand): New. + (input_operand): Reject symbolics if explicit relocs. + (call_operand): Tidy. + (alpha_legitimize_address): Use movdi_er_high_g. + (alpha_expand_mov): Likewise. + * config/alpha/alpha-protos.h: Update. + * config/alpha/alpha.h (PREDICATE_CODES): Update. + * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New. + (UNSPEC_LDGP2, UNSPECV_PLDGP2): New. + (UNSPECV_LDGP2): Remove. + (all call patterns): Use 's' not 'i' for symbolic constraint. + (call_osf call_value_osf): Use call_operand. + (all osf call patterns): Use $gp. New peepholes for explicit relocs. + (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative. + (prologue_ldgp_1_er): Remove. + (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New. + (builtin_setjmp_receiver_er patterns): Use them. + (exception_receiver_er): Likewise. + +2001-09-19 Richard Henderson + + * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw. + + * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN + and NON_LOCAL_GOTO notes. + * recog.c (peephole2_optimize): Likewise. Handle EH_REGION; + copy over CALL_INSN_FUNCTION_USAGE. + +2001-09-18 Catherine Moore + + * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN): + Define as 0. + +2001-09-18 Ulrich Weigand : + + * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to + new-style tm_file specification. Specify correct tm_p_file, + md_file, and out_file for s390x. + + * config/s390/linux.h, linux64.h: Don't include other target + macro header files. Now handled via tm_file. + + * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT, + TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they + are defined before use. + +Tue Sep 18 09:51:11 2001 Eric Christopher + + * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf + code generation only for Gnu assembler. + +2001-09-18 Catherine Moore + + * config/stormy16 (LIB_SPEC): Remove -lnosys. + +2001-09-18 Richard Sandiford + + * config/mips/mips.c (mips_frame_set): New. + (mips_emit_frame_related_store): When storing two 32-bit FPRs, use + a parallel frame-related expression with a set for each register. + +2001-09-18 Philip Blundell + + * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel + header files. + +2001-09-17 Dale Johannesen + + * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2. + * config/rs6000/aix.h (FIXED_R2): Define. + * config/rs6000/darwin.h (FIXED_R2): Define. + * config/rs6000/sysv4.h (FIXED_R2): Define. + +2001-09-17 Jeff Sturm + + * except.c (dw2_build_landing_pads): New local + clobbers_hard_regs. Emit an ASM_INPUT as a scheduling + barrier after clobbers. Fixes c++/4012. + +2001-09-17 Kaveh R. Ghazi + + * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat. + +2001-09-17 Joseph S. Myers + + * dostage2, dostage3, listing, make-l2.com, makefile.vms, + patch-apollo-includes, vmsconfig.com: Remove obsolete files. + +2001-09-17 Kaveh R. Ghazi + + * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of + alloca/strcpy. + +2001-09-17 Neil Booth + + * cpphash.h (_cpp_lex_direct): New. + * cpplex.c (_cpp_lex_token): Update. + (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token, + and increment that pointer. + * cppmacro.c (alloc_expansion_token): New. + (lex_expansion_token): Lex macro expansion directly into + macro storage. + +2001-09-16 Brad Lucier + + * Makefile.in: Make rtl-error.o depend on $(CONFIG_H). + +Sun Sep 16 21:59:46 CEST 2001 Jan hubicka + + * basic-block.h (free_bb_for_insn): Declare. + * bb-reorder.c (label_for_bb): Use block_label. + (emit_jump_to_block_after): Remove. + (insert_intra_1): Do not update block_for_insn. + (insert_inter_bb_scope_notes): Likewise; update bb->end + * cfg.c (free_bb_for_insn): New. + (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call. + (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries. + (commit_one_edge_insertion): Likewise. + (commit_one_edge_insertion): Do not update BB boundary. + (commit_edge_insertions): Do not call compute_bb_for_insn. + * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn. + * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb. + (merge_blocks_move_successor_nojumps): Likewise. + (try_crossjump_to_edge): Do not update block_for_insn. + * combine.c (combine_instructions): Remove compute_bb_for_insn call. + * df.c (df_pattern_emit_later): Do not update BB boundary. + (df_jump_pattern_emit_after): Likewise. + (df_insn_move_before): Use emit_insn_before. + * emit-rtl.c (try_split): Emit after trial to get bb boundary updated + properly. + (add_insn_after, add_insn_before, emit_insns_after): Update BB + boundaries and basic_block_for_insn. + (reorder_insns_nobb): Rename from reorder_insns. + (reorder_insns): New. + (emit_block_insn_before, emit_block_insn_after): Kill. + * flow.c (check_function_return_warnings): Do not call + compute_bb_for_insn; Do not free basic_block_for_insn. + (attempt_auto_inc): Do not update basic_block_for_insn. + * function.c (emit_return_into_block): Likewise; + do not update BB boundaries. + * gcse.c (handle_avail_expr): Do not update basic_block_for_insn. + (insert_insn_end_bb): Use emit_insn_before; Likewise. + (pre_insert_copy_insn): Likewise. + (update_ld_motion_notes): Likewise. + (insert_insn_start_bb): Likewise. + (replace_store_insn): Likewise. + * ifcvt.c (noce_process_if_block): Likewise. + (if_convert): Do not call compute_bb_for_insn. + * lcm.c (optimize_mode_switching): Do not update BB boundaries. + Use emit_insn_before and emit_insn_after. + * recog.c (split_all_insns): Do not update BB boundaries; + Do not call compute_bb_for_insn. + (peephole2_optimize): Do not update BB boundaries. + * reg-stack.c (emit_pop_insn): Use emit_insn_after and + emit_insn_before. + (emit_swap_insn): Likewise. + (convert_regs_1): Likewise. + * reload1.c (reload): Call compute_bb_for_insn. + * rtl.h (reorder_insns_nobb): Declare. + * ssa.c (rename_equivalent_regs): Use emit_insn_before. + * toplev.c (rest_of_compilation): Call free_bb_for_insn + at places CFG is invalidated; do not call compute_bb_for_insn. + + * cfg.c (expunge_block): Invalidate BB structure. + + * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN + array. + + * cfg.c (verify_flow_info): Verify the basic_block_for_insn array. + +2001-09-16 Neil Booth + + * cpphash.h (_cpp_lex_token): Update prototype. + * cpplex.c (_cpp_lex_token): New prototype. + * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive, + lex_macro_node, read_flag, do_pragma_poison): Update. + * cppmacro.c (cpp_get_token, parse_params, + lex_expansion_token): Update. + +2001-09-16 Neil Booth + + * cppmain.c (scan_translation_unit): Don't worry about + putting a space after hashes. + * cpplib.c (directive_diagnostics): New. + (_cpp_handle_directive): Update to use directive_diagnostics. + (run_directive): Don't toggle prevent_expansion. + (do_line): Backup in case of the line extension. + * cpplib.h (cpp_lexer_pos): Remove. + * cppmacro.c (_cpp_create_definition): Precede a leading # + with whitespace. + +2001-09-15 Richard Henderson + + * c-typeck.c (comptypes): Handle zero-length arrays properly. + +2001-09-15 Roman Lechtchinsky + + * c-common.c (c_promoting_integer_type_p): Handle ?Imode types. + +2001-09-15 Neil Booth + + PR preprocessor/3571 + * tradcpp.c (handle_directive): Skip non-vertical space. + +2001-09-15 Neil Booth + + * cppmain.c (setup_callbacks): Set line callback only + if outputting preprocessed source. + +2001-09-15 Kaveh R. Ghazi + + * collect2.c (main): Const-ification. + * gcc.c (translate_options, process_command): Use xstrdup in + lieu of xmalloc/strcpy. + (main): Use concat in lieu of xmalloc/strcpy/strcat. + +2001-09-14 Roman Lechtchinsky + + * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix + example. + +2001-09-15 Neil Booth + + * scan-decls.c (scan_decls): Fix typo. + +2001-09-15 Neil Booth + + * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos. + Split mlstring_pos into mls_line and mls_col. + * cppinit.c (cpp_create_reader): Initialize line to 1. + (cpp_destroy): Free tokenruns. + (push_include): Don't update lexer_pos. + * cpplex.c (unterminated, parse_string): Update. + (lex_token): Don't update lexer_pos, update. + * cpplib.c (if_stack): Save line instead of line + col. + (start_directive, _cpp_do__Pragma, do_else, do_elif, + push_conditional, _cpp_pop_buffer): Update. + * cppmacro.c (funlike_invocation_p): Don't save lexer_pos. + (_cpp_create_definition): Update. + +2001-09-15 Eric Christopher + + * config/mips/abi64.h: Add support for MEABI. + +2001-09-15 Eric Christopher + + * config/mips/mips.md: Add unspec #2. + (reload_indi): Use. + (reload_outdi): Ditto. + (reload_outsi): Ditto. + (HILO_delay): New. + +2001-09-15 Eric Christopher + Jason Eckhardt + + * config.gcc: Add mipsisa32 target and mipsisa32-linux target. + * config/mips/isa32-linux.h: New file. + * config/mips/isa3264.h: Ditto. + * config/mips/mips-protos.h: Add mips_hard_regno_nregs. + * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h. + (output_block_mode): Support MEABI. + (function_arg): Ditto. Fix floating point arg passing. + (mips_va_start): Ditto. + (override_options): Add isas 32 and 64, meabi, mips32 and mips64 + processors. + (mips_asm_file_start): Add new section to pass abi to gdb. + (function_arg_pass_by_reference): Support MEABI. + (mips_parse_cpu): Support mips32 and mips64 processors. + * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC, + TARGET_MIPS5KC. Support isa32 and isa64. + (processor_type): Add r4kc, r5kc, r20kc. + (GENERATE_MULT3_SI): New. + (GENERATE_MULT3_DI): Ditto. + (GENERATE_MULT3): Remove. + (ISA_HAS_64BIT_REGS): Add isa == 64. + (ISA_HAS_8CC): Add mips_isa = 32 and 64. + (ISA_HAS_MADD_MSUB): New. + (ISA_HAS_CLZ_CLO): Ditto. + (ISA_HAS_DCLZ_DCLO): Ditto. + (ABI_GAS_ASM_SPEC): New. + (GAS_ASM_SPEC): Use. Add support for mips32, mips64. + (ASM_SPEC): Ditto. + (LINK_SPEC): Ditto. + (SUBTARGET_CC1_SPEC): Ditto. + (SUBTARGET_CPP_SIZE_SPEC): Ditto. + (PAD_VARARGS_DOWN): Support MEABI. + (HARD_REGNO_NREGS): Move to mips.c. + (ASM_OUTPUT_IDENT): Add #undef. + * config/mips/mips.md: Add r4kc, r5kc, r20kc. + (mulsi3): Use GENERATE_MULT3_SI. + (mulsi3_mult3): Ditto. Support mips32, mips64. + (mul_acc_si): Use ISA_HAS_MADD_MSUB. + (mul_sub_si): New pattern. + (unnamed splitters): New. + (muldi3): Use GENERATE_MULT3_DI. + (muldi3_internal2): Ditto. + (movdicc): Support mips32. + * config/mips/t-isa3264: New file. + +2001-09-15 Hans-Peter Nilsson + + * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT + || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT + || HAVE_POST_DECREMENT]: Call find_regno_note for REGs. + + * reorg.c (fill_slots_from_thread): After call to + steal_delay_list_from_target, update own_thread as new_thread may + have branched. + +2001-09-14 Neil Booth + + * cpperror.c (print_location): Take line and column, for + default positioning use the previously lexed token. + (_cpp_begin_message): Take line and column. + (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning, + cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update. + * cpphash.h (_cpp_begin_message): Update prototype. + * cppinit.c (push_include): Don't set output line. + * cpplex.c (_cpp_lex_token): Callback for start of new output lines. + * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update. + (do_pragma): Kludge for front ends. Don't expand macros at all. + * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove. + (struct cpp_token): Remove output_line. + (struct cpp_callbacks): New member line_change. + * cppmacro.c (builtin_macro, paste_all_tokens, replace_args, + cpp_get_token): Preserve BOL flag. + (cpp_get_line): Remove. + (_cpp_backup_tokens): Remove useless abort(). + * cppmain.c (cb_line_change): New. + (scan_translation_unit): Don't worry about starting new lines here. + * scan-decls.c (scan_decls): Update. + * c-lex.c (c_lex, init_c_lex): Update. + (cb_line_change, src_lineno): New. + +Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com) + + * tree.c (append_random_chars): Generate the random + characters in a reproducable fashion. + +2001-09-14 Richard Henderson + + * config/i386/i386.c (internal_label_prefix): New. + (internal_label_prefix_len): New. + (override_options): Set them. + (local_symbolic_operand): New. + (legitimate_pic_address_disp_p): Use it. + (legitimize_pic_address): Likewise. + +2001-09-14 Marc Espie + + * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT + correctly. + +2001-09-14 Roman Lechtchinsky + + * config/alpha/alpha.md (unaligned_extendhidi_be): Fix. + * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New. + +2001-09-14 Nick Clifton + + * rtlanal.c (subreg_regno_offset): Add semicolon to end of + invocation of SUBREG_REGNO_OFFSET. + + * haifa-sched.c: Fix typo in FSF copyright statement. + * sched-deps.c: Fix typo in FSF copyright statement. + * sched-ebb.c: Fix typo in FSF copyright statement. + * sched-rgn.c: Fix typo in FSF copyright statement. + * sched-vis.c: Fix typo in FSF copyright statement. + + * config.gcc: Move inclusion of arm elf specific header files + from the files themselves into the tm_file variable. Make + sure that elfos.h is included before target specific elf + headers. + * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not + already defined. + (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition. + * config/arm.arm.h (TARGET_MEM_FUNCTIONS, + ASM_OUTPUT_CASE_LABEL): Protect definition. + (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if + not already defined. + * config/arm/conix-elf.h: (USER_LABEL_PREFIX, + LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION): + Remove duplicate definition. + (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION, + (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP, + (RDATA_SECTION_FUNCTION): Remove redundant definition. + (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition. + Remove inclusion of arm/elf.h. + * config/arm/unknown-elf.h: as for conix-elf.h. + (STARTFILE_SPEC): Include crti.o and crtn.o. + * config/arm/linux-elf.h: as for conix-elf.h. + * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h. + * config/arm/strongarm-elf.h: Remove inclusion of + unknown-elf.h. + * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h. + * config/arm/unknown-elf-oabi.h: Remove inclusion of + unknown-elf.h and elf.h. + * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h. + * config/arm/linux-gas.h (DBX_DEBUGGING_INFO, + ASM_WEAKEN_LABEL): Remove redundant definition. + * config/arm/elf.h: Test for inclusion of elfos.h + (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT, + ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME, + SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION, + EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove + redundant definition. + (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME, + ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL, + ASM_OUTPUT_ALIGNED_COMMON): Protect definition. + * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o. + Add rules to build crti.o and crtn.o + * crti.asm: New file. + * crtn.asm: New file. + +2001-09-13 Neil Booth + + * c-parse.in (_yylex): Use _cpp_backup_tokens. + * cpphash.h (struct tokenrun): Add prev. + (struct lexer_state): Remove bol. + (struct cpp_reader): Remove old lookahead stuff, add lookaheads. + (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token) + : Remove. + * cppinit.c (cpp_create_reader): Don't set bol. + (cpp_destroy): Don't free lookaheads. + * cpplex.c (lex_directive): Remove. + (next_tokenrun): Update. + (_cpp_lex_token): Clean up logic. + (lex_token): Update to return a pointer to lexed token, since it + can move to the start of the buffer. Simpify newline handling. + * cpplib.c (SEEN_EOL): Update. + (skip_rest_of_line): Remove lookahead stuff. + (end_directive): Line numbers are already incremented. Revert + to start of lexed token buffer if we can. + (_cpp_handle_directive, do_pragma, do_pragma_dependency, + parse_answer): Use _cpp_backup_tokens. + (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags + instead. Don't check for EOL. + (do_include_common, do_line, do_pragma_system_header): Use + skip_rest_of_line. + * cpplib.h (BOL, _cpp_backup_tokens): New. + * cppmacro.c (save_lookahead_token, take_lookahead_token, + alloc_lookahead, free_lookahead, _cpp_free_lookaheads, + cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove. + (builtin_macro): Don't use cpp_get_line. + (cpp_get_line): Short term kludge. + (parse_arg): Handle directives in arguments here. Back up when + appropriate. Store EOF at end of argument list. + (funlike_invocation_p): Use _cpp_backup_tokens. + (push_arg_context): Account for EOF at end of list. + (cpp_get_token): Remove lookahead stuff. Update. + +2001-09-13 Kaveh R. Ghazi + + * c-parse.in (yyerror): Const-ification and/or static-ization. + * c-typeck.c (push_member_name): Likewise. + * collect2.c (main): Likewise. + * dbxout.c (dbxout_parms): Likewise. + * diagnostic.c (format_with_decl): Likewise. + * dwarf2out.c (output_ranges): Likewise. + * dwarfout.c (fundamental_type_code): Likewise. + * except.c (dw2_output_call_site_table): Likewise. + * gcc.c (do_spec_1): Likewise. + * genopinit.c (optabs): Likewise. + * objc/objc-act.c (synth_id_with_class_suffix, start_class, + gen_declaration_1, handle_impent): Likewise. + * protoize.c (default_include, in_system_include_dir, abspath): + Likewise. + * sched-vis.c (visualize_stall_cycles): Likewise. + * sdbout.c (plain_type_1, sdbout_end_function, + sdbout_end_epilogue): Likewise. + * varasm.c (decode_reg_name): Likewise. + + * 1750a.c (mod_regno_adjust): Likewise. + * alpha.c (alpha_write_one_linkage, + unicosmk_output_default_externs): Likewise. + * arm.c (arm_condition_codes): Likewise. + * arm.h (arm_condition_codes): Likewise. + * avr.c (output_movsisf, encode_section_info): Likewise. + * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL): + Likewise. + * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise. + * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise. + * m88k.c (output_function_profiler): Likewise. + * mips.c (mips_output_conditional_branch): Likewise. + * ns32k.c (ns32k_out_reg_names): Likewise. + * ns32k.h (ns32k_out_reg_names): Likewise. + * pj.c (pj_output_rval): Likewise. + * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise. + * sparc.c (sparc_flat_function_prologue, + sparc_flat_function_epilogue): Likewise. + +2001-09-13 Markus Werle + Gerald Pfeifer + + * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at + Aachen University of Technology". + +2001-09-13 Andreas Schwab + + * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for + C99. + +2001-09-13 Richard Henderson + + * config/alpha/alpha.c (small_symbolic_operand): New. + (override_options): Set MASK_SMALL_DATA based on pic/PIC. + (some_operand, input_operand): Don't handle HIGH. + (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp. + (alpha_expand_mov): Likewise. + (print_operand) [H]: Just print HIGH symbol. + (print_operand_address): Handle small data. + * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New. + (TARGET_SWITCHES): Add -msmall-data/large-data. + (PIC_OFFSET_TABLE_REGNUM): New. + (PREFERRED_RELOAD_CLASS): Don't handle HIGH. + (PREDICATE_COES): Update. + * config/alpha/alpha.md (adddi_er_high): New. + (adddi_er_low): Handle small data. + * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA, + prefer .sdata to .rodata. + (SELECT_RTX_SECTION): Likewise. + +2001-09-12 Josh Martin + + * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from + defining __size_t and leaving size_t undefined. + +2001-09-12 Diego Novillo + + * basic-block.h (expunge_block): Declare. + * cfg.c (expunge_block): Remove static declaration. + +2001-09-12 Richard Henderson + + * integrate.c (copy_insn_list): Copy label name from + NOTE_INSN_DELETED_LABEL. + +2001-09-12 Kaveh R. Ghazi + + * c-common.c (c_tree_code_name): Const-ification. + * c-decl.c (c_decode_option): Likewise. + * c-typeck.c (warn_for_assignment): Likewise. + * collect2.c (libexts, is_ctor_dtor, main, ignore_library): + Likewise. + * cppinit.c (output_deps): Likewise. + * dependence.c (dependence_string, direction_string): Likewise. + * dwarf2out.c (output_ranges): Likewise. + * fixinc/fixfixes.c (emit_gnu_type): Likewise. + * fixinc/gnu-regex.c (re_error_msgid): Likewise. + * gcc.c (standard_exec_prefix, standard_exec_prefix_1, + standard_startfile_prefix, standard_startfile_prefix_1, + standard_startfile_prefix_2, tooldir_base_prefix, + standard_bindir_prefix, find_a_file): Likewise. + * genattrtab.c (make_length_attrs): Likewise. + * gencheck.c (tree_codes): Likewise. + * genemit.c (gen_split): Likewise. + * genrecog.c (special_mode_pred_table): Likewise. + * graph.c (graph_ext): Likewise. + * protoize (default_include): Likewise. + * reload.c (reload_when_needed_name): Likewise. + * sched-vis.c (visualize_stall_cycles): Likewise. + * tlink.c (recompile_files): Likewise. + * toplev.c (decode_g_option): Likewise. + * tradcpp.c (output_deps): Likewise. + * varasm.c (decode_reg_name): Likewise. + + * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code): + Const-ification. + * arm.md: Likewise. + * avr.c (avr_regnames, encode_section_info): Likewise. + * c4x.c (float_reg_names): Likewise. + * darwin.h (ASM_GLOBALIZE_LABEL): Likewise. + * elfos.h (const_section): Likewise. + * i386.c (ix86_comp_type_attributes): Likewise. + * i386/win32.h (STRIP_NAME_ENCODING): Likewise. + * ia64/aix.h (UNIQUE_SECTION): Likewise. + * ia64.c (type_names): Likewise. + * m68hc11.c (reg_class_names): Likewise. + * m88k.c (m_options): Likewise. + * mips.c (mips_output_conditional_branch, mips_unique_section): + Likewise. + * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise. + * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue, + ultra_code_names): Likewise. + * sparc.h (OVERRIDE_OPTIONS): Likewise. + +2001-09-12 Jakub Jelinek + + * configure.in (gcc_cv_as_shf_merge): Fix a typo. + Use --fatal-warnings option for gas. + * configure: Rebuilt. + +2001-09-12 Roman Lechtchinsky + + * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document. + +2001-09-11 Jim Wilson + + * alias.c (clear_reg_alias_info): Only handle pseudo registers. + +2001-10-11 Matt Kraai + + * builtins.c (c_strlen): Treat an offset too large for a + HOST_WIDE_INT as out of range. + +Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka + + * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags. + (EDGE_CRITICAL_P): New predicate. + * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL + handling. + (insert_insn_on_edge): Use EDGE_CRITICAL_P. + (dump_edge_info): Remove "crit". + * cfganal.c (mark_critical_edges): Kill. + * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call. + * cfgcleanup.c (cleanup_cfg): Likewise. + * profile.c (instrument_edges): Use EDGE_CRITICAL_P. + (find_spanning_tree): Likewise. + * reg-stack.c (convert_regs_1): Likewise. + * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise. + + * basic-block.h (create_basic_block_structure): New. + (create_basic_block): Update prototype. + (force_nonfallthru): New. + * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru. + * cfg.c (create_basic_block_structure): Rename from create_basic_block; + handle updating of block_for_insn, creating of empty BBs and BBs at + the end of INSN chain. + (create_basic_block): New function. + (split_block): Use create_basic_block. + (force_nonfallthru_and_redirect): Break out from ...; cleanup + (redirect_edge_and_branch_force): ... here. + (force_nonfallthru): New. + (split_edge): Rewrite to use force_nonfallthru and create_block. + * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure. + (find_basic_blocks): Free basic_block_for_insn. + * cfgcleanup.c (merge_blocks): Use force_nonfallthru. + + * cfg.c: Fix formating. + * cfgcleanup.c: Fix formating. + (merge_blocks, tail_recursion_label_p): Return bool. + (merge_blocks_move_predecessor_nojumps, + merge_blocks_move_successor_nojumps): Return void. + +2001-09-11 Jakub Jelinek + + * configure.in: Check whether assembler supports section merging. + * config.in: Rebuilt. + * configure: Rebuilt. + * varasm.c (variable_section, output_constant_pool): Pass alignment + to SELECT_SECTION and SELECT_RTX_SECTION. + (mergeable_string_section): New. + (mergeable_constant_section): New. + (default_elf_asm_named_section): Output SECTION_MERGE and + SECTION_STRINGS flags plus SECTION_ENTSIZE entity size. + * output.h (mergeable_string_section): New. + (mergeable_constant_section): New. + (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define. + * toplev.c (flag_merge_constants): New. + (f_options): Add -fmerge-constants and -fmerge-all-constants + options. + (toplev_main): Default to -fno-merge-constants if not optimizing. + * flags.h (flag_merge_constants): Add extern. + * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document. + * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third + argument. + * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): + Define if assembler has working .subsection -1 support. + (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument. + Put constant into special SHF_MERGE sections if the linker should + attempt to merge duplicates. + * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third + macro argument. + Put constant into special SHF_MERGE sections if the linker should + attempt to merge duplicates. + * config/alpha/elf.h: Likewise. + (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler + has working .subsection -1 support. + * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and + SELECT_SECTION. + * config/svr3.h: Likewise. + * config/darwin.h: Likewise. + * config/arm/aof.h: Likewise. + * config/arm/linux-elf.h: Likewise. + * config/avr/avr.h: Likewise. + * config/c4x/c4x.h: Likewise. + * config/d30v/d30v.h: Likewise. + * config/i386/dgux.h: Likewise. + * config/i386/osfrose.h: Likewise. + * config/i386/sco5.h: Likewise. + * config/i386/svr3gas.h: Likewise. + * config/ia64/aix.h: Likewise. + * config/m32r/m32r.h: Likewise. + * config/m68k/m68k.h: Likewise. + * config/m88k/dgux.h: Likewise. + * config/m88k/m88k.h: Likewise. + * config/mcore/mcore-pe.h: Likewise. + * config/mips/mips.h: Likewise. + * config/pa/pa.h: Likewise. + * config/pa/pa-linux.h: Likewise. + * config/romp/romp.h: Likewise. + * config/rs6000/sysv4.h: Likewise. + * config/rs6000/xcoff.h: Likewise. + * config/s390/linux.h: Likewise. + * config/sparc/sparc.h: Likewise. + * config/sparc/sysv4.h: Likewise. + * config/stormy16/stormy16.h: Likewise. + * config/v850/v850.h: Likewise. + * config/vax/vms.h: Likewise. + * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE + and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size. + * config/sparc/sparc.c (sparc_elf_asm_named_section): Use + default_elf_asm_named_section for SHF_MERGE sections. + +Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka + + * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block + is OK. + +2001-09-11 Joseph S. Myers + + * c-common.c (split_specs_attrs): Allow for empty attributes with + empty TREE_PURPOSE. Fixes PR c/4294. + +Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka + + * basic-block.h (cached_make_edge, make_single_succ): New. + (make_edge): Remove first parameter. + * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge. + * cfg.c (cached_make_edge): Rename from make_edge; return newly + created edge; use obstack allocation. + (make_edge, make_single_succ_edge): New. + (first_removed_edge): New static variable. + (init_flow): Initialize first_removed_edge and n_edges. + (clear_edges): Use remove_edge. + (flow_delete_block): Likewise. + (remove_edge): Add removed edges to the removed edges list. + (split_block, redirect_edge_and_branch_force, split_edge): + Use make_edge. + * cfganal.c (flow_call_edges_add): Updaet make_edge call. + (add_noreturn_fake_exit_edges): Likewise. + (connect_infinite_loops_to_exit): Liekwise. + * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks): + Use cached_make_edge. + * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge. + * profile.c (branch_prob): Update make_edge call. + * ssa-dce.c (ssa_eliminate_dead_code): Likewise. + +2001-09-11 Richard Henderson + + * config/alpha/alpha.c: Tidy formatting. + (local_symbolic_operand): Verify mode. + (alpha_sa_mask): Ignore unicos for eh_return. + (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL. + * config/alpha/alpha.md (umk divsi patterns): Remove. + (extendsfdf2): Remove unicos check. + (tablejump): Merge vms and unicos code; always use direct set + plus label_ref use. + +2001-09-11 Roman Lechtchinsky + + * config.gcc (alpha*-*-unicosmk*): New target. + + * config/alpha/alpha-protos.h (symbolic_operand, + unicosmk_add_call_info_word, unicosmk_add_extern, + unicosmk_defer_case_vector, unicosmk_unique_section, + unicosmk_output_align, unicosmk_text_section, unicosmk_data_section, + unicosmk_asm_file_start, unicosmk_asm_file_end, + unicosmk_output_common): Declare. + + * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand, + direct_return, function_arg, alpha_va_start, alpha_va_arg, + alpha_does_function_need_gp, alpha_end_function): Support Cray + Unicos/Mk. + (alpha_init_machine_status, alpha_mark_machine_status, + alpha_free_machine_status, unicosmk_output_deferred_case_vectors, + unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex, + unicosmk_asm_named_section, unicosmk_insert_attributes, + unicosmk_section_type_flags, symbolic_operand, + unicosmk_output_module_name, unicosmk_output_default_externs, + unicosmk_output_dex, unicosmk_output_externs, + unicosmk_output_addr_vec, unicosmk_ssib_name, + unicosmk_initial_elimination_offset, unicosmk_asm_file_start, + unicosmk_asm_file_end, unicosmk_output_common, + unicosmk_section_type_flags, unicosmk_unique_section, + unicosmk_add_call_info_word, unicosmk_text_section, + unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head, + unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list, + unicosmk_dex_count, unicosmk_special_name): New. + (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for + TARGET_ABI_UNICOSMK. + (get_aligned_mem, alpha_expand_unaligned_load, + alpha_expand_unaligned_store, alpha_expand_unaligned_load_words, + alpha_expand_unaligned_store_words): Support big-endian mode. + (print_operand): Likewise. New format specifier 't'. Use + TARGET_AS_SLASH_BEFORE_SUFFIX. + (alpha_is_stack_procedure): Rename from vms_is_stack_procedure. + (alpha_pv_save_size): Update with above change. + (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue, + alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray + Unicos/Mk. + + * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New. + (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK. + (TARGET_AS_SLASH_BEFORE_SUFFIX): New. + (EXTRA_CONSTRAINT): New constraint 'U'. + (PREDICATE_CODES): Add symbolic_operand. + + * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM, + UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants. + (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK. + (integer division and modulus patterns): Split in default and + Unicos/Mk versions. + (*divmodsi_internal, *divmoddi_internal): Disable for + TARGET_ABI_UNICOSMK. + (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in + little-endian and big-endian versions. + (ext, ins, msk): Likewise. + (extv, extzv, insv): Support big-endian mode. + (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK. + (call_umk, call_value_umk, *call_umk, tablejump_umk, + *tablejump_umk_internal, *call_value_umk): New. + (*movdi_nofix): Add pattern for loading an address into a register on + TARGET_ABI_UNICOSMK. + (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New. + (umk_mismatch_args, arg_home_umk): New. + (various insns): Don't use mov, fmov, nop, fnop and unop. + (realign): Support TARGET_ABI_UNICOSMK. + + * config/alpha/unicosmk.h: New file. + * config/alpha/t-unicosmk: New file. + + * fixinc/inclhack.def (unicosmk_restrict): New. + * fixinc/fixincl.x: Regenerate. + + * ginclude/stddef.h (size_t): Check for and define __SIZE_T__. + (wchar_t): Check for and define __WCHAR_T__. + +2001-09-11 Richard Sandiford + + * combine.c (simplify_shift_const): Treat shifts by the mode + size as undefined. + +2001-09-11 Neil Booth + + * cpphash.h (struct tokenrun): New. + (struct cpp_context): New member bol. + (struct cpp_reader): New members. + (_cpp_init_tokenrun): New. + * cppinit.c (cpp_create_reader): Set up the token runs. + * cpplex.c (lex_directive, lex_token, next_tokenrun): New. + (lex_token): New internalised version of _cpp_lex_token. Don't + handle directives or the multiple include optimization here any + more. Simply lex a token. + * cpplib.c (run_directive): Clear bol. + (_cpp_pop_buffer): Set bol. + * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing + arguments. + +2001-09-11 Michael Meissner + + * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and + give an error if the user uses -mfp32. + (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the + default options. + (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the + floating point register size. + (EXTRA_SPECS): Add CPP_FPR_SPEC. + + * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use + HOST_WIDE_INT_PRINT_DEC to properly print the result of + int_size_in_bytes. + * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto. + * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto. + +2001-09-11 Hans-Peter Nilsson + + * dbxout.c (dbxout_parms): Fix typo in comment. + * unroll.c (loop_find_equiv_value): Ditto. + * toplev.c (rest_of_compilation): Ditto. + * loop.c (scan_loop): Ditto. + * dwarf2out.c (struct dw_fde_struct): Ditto. + +2001-09-10 Zack Weinberg + + * cpplex.c (parse_identifier): Fast-path optimize. Avoid + copying identifier when we're just going to throw it away. + (parse_identifier_slow): New routine to handle abnormal cases. + (_cpp_lex_token): Update call site. + + * hashtable.c (ht_lookup): Don't assume that the string we've + been given is NUL-terminated. + * system.h: #define __builtin_expect(a, b) to (a) if not + GCC >=3.0. + +2001-09-10 Michael Meissner + + * config.gcc (sparc64-*-solaris2): Add alias to be compatible with + binutils, gdb. + +2001-09-10 David Edelsohn + + * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o). + +Mon Sep 10 16:26:44 2001 Richard Kenner + + * builtins.c (c_getstr): Correct thinko in last change and further + cleanup. + +2001-09-10 Tim Freeman + + * dwarf2out.c (incomplete_types, decl_scope_table): Make them + into varray's and register them as roots with the garbage + collector so they are not collected too soon. + +Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka + + * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o): + New. + * basic-block.h (flow_obstack, label_value_list, + tail_recursion_label_list): Declare + (tidy_fallthru_edges): Declare. + (expunge_block, last_loop_beg_note): Delete. + (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare. + * cfg.c: New file + (basic_block_for_insn, label_value_list): Move from flow.c; make global. + (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks, + init_flow, clear_edges, can_delete_note_p, can_delete_label_p, + flow_delete_insn, flow_delete_insn_chain, create_basic_block, + expunge_block, flow_delete_block, compute_bb_for_insn, + update_bb_for_insn, set_block_for_insn, set_block_for_new_insns, + make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup, + redirect_edge_pred, split_block, marge_blocks_nomove, block_label, + try_redirect_by_replacing_jump, last_loop_beg_note, + redirect_edge_and_branch, redirect_edge_and_branch_force, + tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p, + split_edge, insert_insn_on_edge, commit_one_edge_insertion, + commit_edge_insertions, dump_flow_info, debug_flow_info, + dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb, + verify_flow_info, purge_dead_edges, purge_all_dead_edges): + Move here from flow.c + * cfganal.c: New file. + (forwarder_block_p, can_fallthru, mark_critical_edges, + mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add, + find_unreachable_blocks, create_edge_list, free_edge_list, + print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print, + flow_edge_list_print, remove_fake_successors, remove_fake_edges, + add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit, + flow_reverse_top_sort_order_compute, flow_depth_first_order_compute, + flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb, + flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish); + Move here from flow.c + * cfgbuild.c: New file + (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge, + make_edges, find_basic_blocks_1, find_basic_blocks, + find_sub_basic_blocks): Move here from flow.c + * cfgcleanup.c: New file. + (try_simplify_condjump, try_forward_edges, tail_recursion_label_p, + merge_blocks_move_predecessor_nojumps, + merge_blocks_move_successor_nojumps, merge_blocks, + flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, + try_crossjump_bb, try_optimize_cfg): Move here from flow.c + (delete_unreachable_blocks, cleanup_cfg): Likewise; return true + if succeeded. + * cfgloop.c: New file + (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump, + flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find, + flow_loop_exit_edges_find, flow_loop_nodes_find, + flow_loop_pre_header_scan, flow_loop_pre_header_find, + flow_loop_tree_node_add, flow_loops_tree_build, + flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan, + flow_loops_find, flow_loops_update, flow_loop_outside_edge_p): + Move here from flow.c + * flow.c: Remove everything moved elsewhere + * output.h (cleanup_cfg): Return bool. + + * bb-reorder.c (reorder_block_def): Remove 'index'. + (insert_intra_1): Add argument BB, set block for new note. + (make_reorder_chain): Do not depdent on BB indexes. + (make_reorder_chain_1): Do not use BB indexes. + (label_for_bb): Likewise; set BB for new insn. + (emit_jump_to_block_after): Likewise. + (fixup_reorder_chain): Sanity check that all basic blocks + are chained; verify newly created insn chain; remove + undocnitional jump simplifying; Do not use BB indexes; + properly initialize count and frequency information; + dump reordered sequence. + (insert_intra_bb_scope_notes): update call of insert_intra_1. + (insert_inter_bb_scope_notes): Set block for new insn. + (reorder_basic_blocks): Dump flow info before reoredering. + +Mon Sep 10 06:47:35 2001 Richard Kenner + + * alias.c (clear_reg_alias_info): Use K&R format definition. + Avoid unsigned warning. + * builtins.c: Use "unsigned int", not "unsigned". + (target_char_cast): Use host_integerp and tree_low_cst. + (expand_builtin_args_info, expand_builtin_frame_address): Likewise. + (c_strlen): Likewise; OFFSET now HOST_WIDE_INT. + (c_getstr): Likewise. + (std_expand_builtin_va_arg): Use int_size_in_bytes. + (builtin_memcpy_read_str): Avoid unsigned warning. + (expand_builtin_memcpy): Alignments are unsigned. + (expand_builtin_strncpy, expand_builtin_memset): Likewise. + (expand_builtin_expect_jump): Use integer_zerop and integer_onep. + * predict.c (expensive_function_p): LIMIT now unsigned. + * resource.c (mark_target_live_regs): Make some vars unsigned. + * sdbout.c: Use "unsigned int", not "unsigned". + (MAKE_LINE_SAFE): Add cast to avoid unsigned warning. + (sdbout_source_line): Likewise. + (sdbout_record_type_name): Remove "const" for NAME declaration. + * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes. + +2001-09-10 Richard Sandiford + + * calls.c (store_one_arg): Expand comment. + +2001-09-10 Roman Lechtchinsky + + * calls.c (store_one_arg): Make sure that the entire argument is + pushed if STACK_PARMS_IN_REG_PARM_AREA is defined. + +2001-09-09 Richard Henderson + + * emit-rtl.c (adjust_address): Fix mode for LO_SUM. + +Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka + + * loop.c (combine_givs): Fix computing of benefit once giv is combined. + +2001-09-09 Richard Henderson + + * config/alpha/alpha.c (alpha_next_sequence_number): New. + (alpha_this_literal_sequence_number): New. + (alpha_this_gpdisp_sequence_number): New. + (some_operand, input_operand): Add HIGH. + (local_symbolic_operand): New. + (alpha_encode_section_info): New. + (alpha_legitimate_address_p): Allow LO_SUM. + (alpha_legitimize_address): Generate HIGH+LO_SUM. + (alpha_expand_mov): Likewise. + (secondary_reload_class): Check memory_operand not general_operand + for FP_REGS test. + (alpha_expand_unaligned_load): Force LO_SUM addresses into a register. + (alpha_expand_unaligned_store): Likewise. + (alpha_expand_unaligned_load_words): Likewise. + (alpha_expand_unaligned_store_words): Likewise. + (alpha_expand_block_clear): Likewise. + (print_operand): Handle %#, %*, %H. + (print_operand_address): Handle LO_SUM. + (find_lo_sum): New. + (alpha_does_function_need_gp): Use it. + (alpha_expand_block_move): Fix signed compare warnings. + (alpha_sa_mask, alpha_align_insns): Likewise. + * config/alpha/alpha-protos.h: Update. + * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New. + (MASK_EXPLICIT_RELOCS): New. + (TARGET_SWITCHES): Add -mexplicit-relocs. + (EXTRA_CONSTRAINT): Add 'T'. + (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS. + (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion. + (ENCODE_SECTION_INFO): Out line. + (REDO_SECTION_INFO_P): New. + (STRIP_NAME_ENCODING): New. + (ASM_OUTPUT_LABELREF): New. + (PRINT_OPERAND_PUNCT_VALID_P): Add #, *. + (PREDICATE_CODES): Update. + * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er, + call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix, + movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er, + builtin_setjmp_receiver_er, exception_receiver_1_er, + call_value_osf_1_er): New patterns. + (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative. + (movqi, movhi, movsi): Add explicit $31 base register to lda. + * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs. + (FINAL_PRESCAN_INSN): New. + +Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka + + * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code. + +2001-09-08 Andreas Jaeger + + * i386.h (TARGET_SWITCHES): Fix description. + +2001-09-07 David Edelsohn + + * rs6000.c (num_insns_constant): Compute number of instructions + more accurately. + + * doc/install.texi: Explain AIX exception handling work-around. + Update URL for AIX fixes. + +2001-09-07 Jim Wilson + + * alias.c (clear_reg_alias_info): New. + * flow.c (attempt_auto_inc): Call clear_reg_alias_info. + * rtl.h (clear_reg_alias_info): Declare. + +2001-09-07 Roman Lechtchinsky + + * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is + available. + (UEMUSHORT): New. Use instead of unsigned EMUSHORT. + (m16m,edivm,emulm): Change declaration to match definition. + +2001-09-07 Roman Lechtchinsky + + * reload.c (push_reload): Check for subreg_lowpart_p instead of + SUBREG_BYTE being 0 when determining if the inner part of a subreg + can be reloaded. + +2001-09-07 Roman Lechtchinsky + + * c-common.c (signed_or_unsigned_type): Handle machine mode types + which have no corresponding C type. + * fold_const.c (target_isinf,target_isnan,target_negative): Update + the representation of 64-bit doubles to work with 64-bit ints. + +2001-09-07 Aldy Hernandez + + * config/mips/mips.c (override_options): Do not override ISA when ABI + specified if MIPS_CPU_STRING_DEFAULT was specified. + +2001-09-07 Richard Henderson + + * loop.c (record_giv): Avoid simplifying MULT to ASHIFT. + (express_from_1): Wrap lines. + * rtlanal.c (commutative_operand_precedence): Rename from + operand_preference; export. + * rtl.h: Declare it. + * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling. + (simplify_binary_operation): Invoke simplify_plus_minus on + (CONST (PLUS ...)) as well. + (struct simplify_plus_minus_op_data): New. + (simplify_plus_minus_op_data_cmp): New. + (simplify_plus_minus): Use them. Avoid infinite recursion with + simplify_binary_operation wrt CONST. + +Fri Sep 7 11:52:30 2001 Kazu Hirata + + * h8300-protos.h (general_operand_dst_push): Remove. + * h8300.c (general_operand_dst_push): Likewise. + * h8300.h (OK_FOR_T): Likewise. + (EXTRA_CONSTRAINTS): Do not use OK_FOR_T. + * h8300.md (pushqi_h8300): New. + (pushqi_h8300hs): Likewise. + (pushqi): Likewise. + (pushhi_h8300): Likewise. + (pushhi_h8300hs): Likewise. + (pushhi): Likewise. + +Fri Sep 7 12:56:26 2001 Richard Kenner + + * genattrtab.c (attr_printf): First arg is unsigned. + Clean up formatting of callers. + +2001-09-06 Aldy Hernandez + + * config/mips/mips.c (override_options): Allow abi32 with 64 bit + registers. + +2001-09-07 Andreas Jaeger + + * i386.h (TARGET_SWITCHES): Fix descriptions. + +2001-09-07 Matt Kraai + + * stor-layout.c (compute_record_mode): Check DECL_SIZE is set. + +2001-09-06 Ira Ruben + + Remove OP_IDENTIFIER. + * tree.def (OP_IDENTIFIER): Remove. + * tree.c (tree_node_kind enum): Remove op_id_kind. + (tree_node_kind_names): Remove "op_identifiers". + (make_node): Remove OP_IDENTIFIER test. + (build_op_identifier): Removed because it isn't being used. + * print-tree.c (print_node): Remove OP_IDENTIFIER case. + * cp/pt.c (tsubst): Remove OP_IDENTIFIER case. + +2001-09-06 Richard Henderson + + * simplify-rtx.c (simplify_binary_operation): Revert last change. + +2001-09-06 Richard Henderson + + * simplify-rtx.c (simplify_binary_operation): Simplify contents + of CONST. + +2001-09-06 Franz Sirl + + * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register + number used for CR register. + +Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com) + Joern Rennecke (amylaar@cygnus.com) + + * h8300-protos.h (h8300_return_addr_rtx): New prototype. + * h8300.c (initial_offset): Handle offset between RP and FP. + (h8300_return_addr_rtx): New function. + * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a + return register. + (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes. + (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise. + (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise. + (CAN_ELIMINATE, REGISTER_NAMES): + (RETURN_ADDR_RTX): Call h8300_return_addr_rtx. + +2001-09-06 Nathan Sidwell + + Remove TYPE_NONCOPIED_PARTS. + * tree.h (TYPE_NONCOPIED_PARTS): Remove. + (struct tree_type): Remove noncopied_parts. + * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO. + * expr.c (save_noncopied_parts, init_noncopied_parts): Remove. + (fixed_type_p): Remove. + (expand_expr, INIT_EXPR): Don't deal with noncopied parts. + (expand_expr, MODIFY_EXPR): Likewise. + * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS. + * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME. + +2001-09-06 Alan Modra + + * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid + compiler warnings. + (mask64_operand): Likewise. + (includes_rldic_lshift_p): Likewise. + (includes_rldicr_lshift_p): Likewise. + +2001-09-05 Ziemowit Laski + + * objc/objc-act.c (build_message_expr): If a class method cannot + be found, do not issue a warning if a corresponding instance + method exists in the root class. + +2001-09-05 Richard Henderson + + * config/alpha/alpha.c (alpha_expand_mov): Initialize temp. + +2001-09-05 Zack Weinberg + + * function.c (ggc_mark_struct_function): Mark f->outer. + * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here... + * integrate.c (output_inline_function): ... not here. + +Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka + + * profile.c (branch_prob): Call add_noreturn_fake_exit_edges. + + * i386.c (size_cost): New static variable. + (override_function): Use size_cost when -Os is specified. + + * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue + properly; Use current_function_calls_eh_return. + (ix86_expand_epilogue): Avoid dummy optimize_size tests; + use leave to avoid dependency chain. + + * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream; + get BB loop_depth instead of computing it from LOOP notes. + + * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves. + +2001-09-05 John David Anglin + + * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. + * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, + UNALIGNED_DOUBLE_INT_ASM_OP): Define + +2001-09-05 Jeffrey A Law (law@cygnus.com) + Jason Merrill (jason@redhat.com) + + * stor-layout.c (layout_type): Complain if an array's size can + not be represented in a size_t. + + * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define. + +2001-09-05 David Billinghurst + + * gcc.c: (process_command) Add parentheses around assignment + used as truth value. + +2001-09-05 Richard Sandiford + + * config/mips/mips.c (save_restore_insns): Don't mark any register + save slots as unchanging if current_function_calls_eh_return. + +2001-09-05 Richard Henderson + + * config/alpha/alpha.c (alpha_legitimate_address_p): New. + * config/alpha/alpha-protos.h: Declare it. + * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file. + (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro. + (NONSTRICT_REG_OK_FP_BASE_P): Likewise. + (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro. + (REG_OK_FOR_BASE_P): Select one of the above. + +2001-09-05 Richard Sandiford + + * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead. + (crti.o): Prefix name of object file with $(T). + (crtn.o): Likewise. + +2001-09-05 David S. Miller + + * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC. + * config/sparc/linux64.h: Likewise. + +2001-09-05 Andreas Jaeger + + * doc/invoke.texi (i386 Options): -mwide-multiply is not + available anymore, remove the documentation. + (i386 Options): Fix typo, cleanup index entries. + + * prefix.c (concat): Remove, we can use the version from liberty. + +2001-09-05 Richard Henderson + + * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx): + New functions split out of md file expanders. + * config/alpha/alpha-protos.h: Declare them. + * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them. + +2001-09-05 Neil Booth + + * cppmacro.c (funlike_invocation_p): No need to restore context. + +2001-09-04 Richard Henderson + + * reload.c (push_reload): Export. + * reload.h (push_reload): Declare it. + + * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line. + (LEGITIMIZE_RELOAD_ADDRESS): Likewise. + * config/alpha/alpha.c (alpha_legitimize_address): New. + (alpha_legitimize_reload_address): Likewise. + * config/alpha/alpha-protos.h: Declare them. + +2001-09-04 Stan Shebs + + * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define. + * config/darwin.c (machopic_stub_name): Account for internally + generated lib calls such as memcpy. + +2001-09-04 Richard Henderson + + * unwind.h (_UA_END_OF_STACK): New flag. + * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it. + +Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com) + + * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8. + +2001-09-04 Richard Sandiford + + * config/mips/mips.c (save_restore_insns): Change base_offset to + fp_offset in second call to mips_emit_frame_related_store. + +2001-09-04 Hans-Peter Nilsson + + * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can + sometimes be represented as a NOTE of type + NOTE_INSN_DELETED_LABEL. + (Insns): Document NOTE_INSN_DELETED_LABEL. + +2001-09-04 Nathan Sidwell + + * c-common.h (tree_dump_index): Add more comments. + * c-dump.c (dump_files): Name flags `tree' rather than `ast'. + (dump_option_value_info): New struct. + (dump_options): New array. + (dump_switch_p): Parse switch options symbolically. + * doc/invoke.texi (-fdump-ast): Rename to ... + (-fdump-tree): ... here. Document that options are symbolic, and + not all are applicable. + +2001-09-04 David S. Miller + + * config/sparc/sparc.md (define_splits): Kill constraints. + + Cleanup redundant and unused insn attributes. + * config/sparc/sparc.md (define_attr "insn"): Kill address, unary, + binary, and move. Mark ialu as default. + (commented out define_function_unit "alu"): Kill. + (define_attr "use_clobbered"): Kill. + (whole file): Kill address insn type references. Replace + all unary/binary/move references with ialu. + * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS + references. Replace TYPE_{UNARY,BINARY,MOVE} references with + TYPE_IALU. + + Simplify length insn attribute and make more judicious use + of insn attribute defaulting. + * config/sparc/sparc.md (all insns with length > one): Mark as + insn type multi if real instructions, else use default if + it is a forced splitter. + (all insns with length == one): Use default insn length. + (all insns of type ialu): Use default insn type. + + Fix erroneous insn attribute settings. + (addx): Set insn type to misc. + (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64, + const_umulsidi3_sp64): Set insn type to imul. + + Track SFmode vs DFmode insns according to UltraSPARC + scheduling rules. + * config/sparc/sparc.md ("fptype"): New attribute, default + to "single". + (all DFmode single insns): Mark as fptype "double". + +2001-09-03 Jakub Jelinek + + * loop.c (express_from_1): Fix CONSTANT_P(a) case. + +2001-09-03 Richard Henderson + + * function.h (struct function): Add arg_pointer_save_area_init. + * function.c (expand_function_end): Init arg_pointer_save_area. + (get_arg_pointer_save_area): Do not init arg_pointer_save_area + when called from a nested function. + +2001-09-02 Angela Marie Thomas + + * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode + is enabled. + +Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka + + * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence. + +2001-09-01 Geoffrey Keating + + * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD. + (emit_push_insn): Use specified padding direction when + STACK_PUSH_CODE is POST_INC. + + * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0. + +2001-09-01 Kaveh R. Ghazi + + * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'. + +2001-09-01 Neil Booth + + * cppinit.c (cpp_start_read): Free the imacros list as we + traverse it. Don't free the chains before returning. + (_cpp_push_next_buffer): Only try pushing buffers if we've + completed -imacros handling. + +2001-08-31 Eric Christopher + + * gcc.c (handle_braces): Add explaination for abort. + +2001-08-30 Roman Zippel + + * expmed.c (store_bit_field): Update to patch from 2001-08-27: + move adjustment of bitpos instead. + +2001-08-31 Zack Weinberg + + * function.c: Remove all_functions. Make outer_function_chain + static. + (init_function_start): Don't add new function structure to + all_functions. + (find_function_data, push_function_context_to, + pop_function_context_from, put_var_into_stack, + trampoline_address): Update for changed structure element names. + (push_function_context_to): Disentangle. + (free_after_compilation): Also free F. + (expand_dummy_function_end): Don't free cfun here. + (put_var_into_stack): Comment why we can't use find_function_data here. + (fix_lexical_addr, trampoline_address, ): Use find_function_data. + (mark_function_chain): Split into maybe_mark_struct_function and + ggc_mark_struct_function. Export the latter. + (init_function_once): Mark from cfun and outer_function_chain; + not all_functions. + + * function.h (struct function): Kill next_global. Rename next + to outer. All users updated to match. + (all_functions, outer_function_chain): Don't declare. + + * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS. + * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS, + don't touch f->inlinable, after calling rest_of_compilation. + + * tree.h: Forward-declare struct function. Prototype + ggc_mark_struct_function. + +2001-08-31 Kazu Hirata + + * config/h8300/h8300.md (*andorhi3): Fix typos. + +2001-08-31 Kaveh R. Ghazi + + * calls.c (emit_library_call_value): Don't use a fixed + argument after VA_CLOSE, i.e. out of scope in traditional C. + + * emit-rtl.c (gen_rtvec): Likewise. + +2001-08-31 Kaveh R. Ghazi + + * Makefile.in (c-pragma.o): Depend on output.h. + (reorg.o): Depend on except.h. + + * c-pragma.c: Include output.h. + + * reorg.c: Include except.h. + + * unwind-dw2.c: Call __builtin_alloca, not alloca. + +2001-08-31 Richard Henderson + + * sched-deps.c (add_dependence): Don't elide dependency if the + conditional used by insn is modified in elem. + +2001-08-31 Nick Clifton + + * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define. + +2001-08-31 Diego Novillo + + * c-decl.c (c_decode_option): Skip '-f' prefix before calling + dump_switch_p. + +2001-08-31 Geoffrey Keating + + * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New + function. + (stormy16_asm_out_constructor): New function. + (TARGET_ASM_CONSTRUCTOR): Define. + (TARGET_ASM_DESTRUCTOR): Define. + +2001-08-31 Andreas Jaeger + + * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST. + * loop.c (add_label_notes): Likewise. + * reload.c (find_reloads): Likewise. + * config/sh/sh.c (machine_dependent_reorg): Likewise. + +2001-08-31 Jason Merrill + + * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading + code here. Take _Unwind_{W,Sw}ord*. + (read_encoded_value_with_base): Use them. + * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg + words. + (extract_cie_info): Simplify read_?leb128 handling. + (execute_stack_op, execute_cfa_program): Likewise. + * unwind-dw2-fde.c (get_cie_encoding): Likewise. + +2001-08-31 Geoffrey Keating + + * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use + the frame pointer to pop the stack if convenient. + + * config/stormy16/stormy16.c (stormy16_initialize_trampoline): + Don't use post-increment before combine. + * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use + a call-saved register. + +2001-08-31 Andreas Jaeger + + * jump.c (mark_jump_label): Revert patch from 2001-08-28, the + code was correct. + +2001-08-30 Geoffrey Keating + + * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD, + not DIV/MOD, of course. + +2001-08-30 Vladimir Makarov + + * rtl.def: Undo my patch commited 2001-08-27. + + * genattrtab.c: Ditto. + + * rtl.h: Ditto. + + * sched-int.h: Ditto. + + * target-def.h: Ditto. + + * target.h: Ditto. + + * haifa-sched.c: Ditto. + + * sched-rgn.c: Ditto. + + * sched-vis.c: Ditto. + + * Makefile.in: Ditto. + + * doc/md.texi: Ditto. + + * doc/tm.texi: Ditto. + + * doc/contrib.texi: Ditto. + + * doc/gcc.texi: Ditto. + + * genattrtab.h: Remove it. + + * genautomata.c: Remove it. + + * genattr.c: Undo my patch and Richard Henderson's patch commited + 2001-08-27. + +Thu Aug 30 19:22:15 2001 J"orn Rennecke + + * config.gcc (h8300-*-elf*): New case. + * h8300.h (CPP_SPEC): Add subtarget_cpp_spec. + (SUBTARGET_CPP_SPEC): Define. + (EXTRA_SPECS): Define. + (SUBTARGET_EXTRA_SPECS): Define. + * config/h8300/crti.asm, config/h8300/crtn.asm: New files. + * config/h8300/elf.h, config/h8300/t-elf: Likewise. + +Thu Aug 30 18:50:37 2001 J"orn Rennecke + + * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm. + (LIB2FUNCS_EXTRA): Define. + config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm . + config/h8300/fixunssfsi.c: New file. + +2001-08-30 Kazu Hirata + + * config/h8300/h8300.md (zero_extendqihi2): Changes to + define_expand to accommodate target-specific attributes. + (anonymous zero_extendqihi2 patterns): New. + +Thu Aug 30 18:10:56 2001 J"orn Rennecke + + * h8300.md (*andorhi3): New pattern. + +Thu Aug 30 16:00:31 2001 J"orn Rennecke + + * h8300.c (dosize): Fix test for "sub". + +Thu Aug 30 10:21:43 2001 J"orn Rennecke + + * c-typeck.c (pointer_diff): Try to eliminate common term before + doing conversions. + +2001-08-30 Nick Clifton + + * config/arm/arm.c (arm_compute_initial_elimination_offset): + Account for the saves of the FP registers. + + * config/arm/unknown-elf.h (TEXT_SECTION): Delete. + (TEXT_SECTION_ASM_OP): Define. + (INIT_SECTION_ASM_OP): Define. + (FINI_SECTION_ASM_OP): Define. + (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma. + (RDATA_SECTION_FUNCITON): Provide prototype. + +2001-08-29 Geoffrey Keating + + * reload1.c (move2add_note_store): Correct typo checking for + argument pushes. + +2001-08-29 Andrew MacLeod + + * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL + note should not be considered outside the libcall block. + +2001-08-29 Kaveh R. Ghazi + + * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE. + +2001-08-29 Kazu Hirata + + * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe. + +2001-08-29 Kazu Hirata + + * config/h8300/h8300-protos.h: Add a prototype for + emit_logical_op. + * config/h8300/h8300.c (emit_logical_op): New. + * config/h8300/h8300.md (andhi3): Use emit_logical_op. + (andsi3): Likewise. + (iorhi3): Likewise. + (iorsi3): Likewise. + (xorhi3): Likewise. + (xorsi3): Likewise. + +2001-08-29 John David Anglin + + * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for + comparison with rtx INTVAL. + (pa_output_function_prologue): Don't mix signed and unsigned in `?' + expression. + * pa.h (FUNCTION_ARG_SIZE): Likewise. + +2001-08-29 Kazu Hirata + + * config/h8300/lib1funcs.asm: Update the copyright. Fix + comment typos. + +2001-08-29 Kazu Hirata + + * config/h8300/h8300.md (anonymous movhi pattern): Don't move + (reg n) to (mem (pre_dec (reg n)) + (anonymous movsi pattern): Likewise. + +2001-08-29 Kazu Hirata + + * config/h8300/h8300.h (RETURN_ADDR_RTX): New. + +2001-08-29 Kazu Hirata + + * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of + several special constants. + +2001-08-29 Kazu Hirata + + * config/h8300/lib1funcs.asm: Fix comment typos. + +2001-08-29 Kaveh R. Ghazi + + * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT): + Fix format specifier warnings. + + * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof, + inet_makeaddr, semctl): Prototype. + + * mips.c (compute_frame_size): Fix signed/unsigned warnings. + (save_restore_insns): Use base_offset, not gp_offset. + + * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning. + (ASM_OUTPUT_BYTE): Fix format specifier warning. + +2001-08-29 Richard Henderson + + * bb-reorder.c (function_tail_eff_head): New. + (record_effective_endpoints): Set it. + (fixup_reorder_chain): Use it. + +2001-08-28 Kaveh R. Ghazi + + * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change. + +2001-08-28 Dale Johannesen + + * config/darwin.c (machopic_function_base_name): Add const + qualifier to a string. + (darwin_encode_section_info): Ditto. + +2001-08-28 Kaveh R. Ghazi + + * tree.c (default_valid_attribute_p): Don't use PARAMS on a + function definition. + +2001-08-28 Daniel Berlin + + * df.h (struct df): Add rts_order variable. + + * df.c (df_visit_next_rts): New function. + (df_visit_next): Renamed to df_visit_next_rc + (df_analyse_1): Allocate/compute/free rts_order as well. + (df_rd_global_compute): Use df_visit_next_rc instead of + df_visit_next. + (df_ru_global_compute): Use df_visit_next_rts instead of + df_visit_next. + + * flow.c (flow_reverse_top_sort_order_compute): New function. + + * basic-block.h: Add prototype. + +2001-08-28 Daniel Berlin + + * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable + blocks, the BB_REACHABLE is now set, rather than aux being + non-NULL. Update the test to reflect this. + +2001-08-28 Eric Christopher + + * config/mips/crtn.asm: Add comment explaining 16 byte alignment. + config/mips/crti.asm: Ditto. + +2001-08-28 Eric Christopher + Richard Henderson + + * c-pragma.h (add_weak): Move prototype from here... + * output.h (add_weak): ... to here. + * varasm.c (add_weak): Fix typo. + * config/mips/crti.asm: New file. + * config/mips/crtn.asm: Ditto. + * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef. + (CTOR_LISTS_DEFINED_EXTERNALLY): Remove. + (INVOKE__main): Ditto. + (INIT_SECTION_ASM_OP): New. + (FINI_SECTION_ASM_OP): Ditto. + (STARTFILE_SPEC): Add crti. + (ENDFILE_SPEC): Add crtn. + * config/mips/elf64.h: Same. + * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN): + Remove. + * config/mips/vxworks.h: Ditto. + * config/mips/t-elf: Support crti and crtn. + +2001-08-28 Alexandre Oliva + + * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not + INSN_LIST. + +2001-08-28 Richard Henderson + + * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos. + (one_cmplbi2 splitter): Remove redundant test. + +2001-08-28 Dale Johannesen + + * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define. + +2001-08-28 Danny Smith + + * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64. + +2001-08-28 Stan Shebs + + * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names. + (UNALIGNED_SHORT_ASM_OP): Define. + (UNALIGNED_INT_ASM_OP): Define. + +2001-08-28 Will Cohen + + * config/rs6000/rs6000.md (store_multiple): Correct RTL + generation for first set. + +2001-08-27 Roman Zippel + + * flow.c (redirect_edge_succ_nodup): Return new edge. + (try_simplify_condjump): Use new edge. + * basic-block.h (redirect_edge_succ_nodup): Update prototype. + + * cse.c (cse_basic_block): Skip note instructions. + +2001-08-27 Richard Henderson + + * combine.c (combine_simplify_rtx): Don't reverse condition + if there is no reverse for the condition. + (simplify_comparison): Don't simplify subregs from INT to FP. + + * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1, + suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1, + sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1, + bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, + bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev, + bunle_rev, bunlt_rev, bltgt_rev): New patterns. + +2001-08-27 Roman Zippel + + * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi, + bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset. + (pushqi1): New. + (adddi_dilshr32, adddi_dishl32): Only data register can be + source for mem destination. + + * expmed.c (store_bit_field): Ignore adjustment to bitpos + and use bitnum to decide about register move. + +2001-08-27 Richard Henderson + + * genattr.c (main): Emit state_t even when not doing scheduling. + +2001-08-27 Roman Zippel + Richard Henderson + + * gcse.c (reg_first_set, reg_last_set): Replace with ... + (reg_avail_info, current_bb): ... these. + (oprs_unchanged_p, record_last_reg_set_info): Use them. + (compute_hash_table): Likewise. + +2001-08-27 Roman Zippel + + * flow.c (verify_flow_info): Use checksums to verify edges. + +2001-08-27 Richard Henderson + + * genautomata.c (expand_automata): Always create a description. + +2001-08-27 Geoffrey Keating + + * optabs.c (expand_binop): Correctly handle the carry in multiword + add/subtract operations. + +2001-08-27 Fred Fish + + * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be + __SIZE_TYPE__. + +2001-08-27 Geoffrey Keating + + * reload.c (find_reloads_toplev): Back out this change: + + Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson + + * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a + mem if the address is a mode_dependent_address_p. + +2001-08-27 Vladimir Makarov + + * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET, + PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON, + AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New + RTL constructions. + + * genattr.c (main): New variable num_insn_reservations. Increase + it if there is DEFINE_INSN_RESERVATION. Output automaton based + pipeline hazard recognizer interface. + + * genattrtab.h: New file. + + * genattrtab.c: Include genattrtab.h. + (attr_printf, check_attr_test, make_internal_attr, + make_numeric_value): Move protypes into genattrtab.h. Define them + as external. + (num_dfa_decls): New global variable. + (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, + DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET, + DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION, + DEFINE_INSN_RESERVATION. Call expand_automata and write_automata. + + * genautomata.c: New file. + + * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them. + + * sched-int.h: (curr_state): Add the external definition for + automaton pipeline interface. + (haifa_insn_data): Add comments for members blockage and units. + + * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE, + TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN, + TARGET_SCHED_DFA_PRE_CYCLE_INSN, + TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN, + TARGET_SCHED_DFA_POST_CYCLE_INSN, + TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD, + TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New + macros. + (TARGET_SCHED): Use the new macros. + + * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn, + dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn, + first_cycle_multipass_dfa_lookahead, init_dfa_bubbles, + dfa_bubble): New members in gcc_target.sched. + + * haifa-sched.c (insert_schedule_bubbles_p): New variable. + (MAX_INSN_QUEUE_INDEX): New macro for automaton interface. + (insn_queue): Redefine it as pointer to array. + (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of + INSN_QUEUE_SIZE. + (max_insn_queue_index_macro_value): New variable. + (curr_state, dfa_state_size, ready_try): New varaibles for + automaton interface. + (ready_element, ready_remove, max_issue): New function prototypes + for automaton interface. + (choose_ready): New function prototype. + (insn_unit, blockage_range): Add comments. + (unit_last_insn, unit_tick, unit_n_insns): Define them for case + FUNCTION_UNITS_SIZE == 0. + (insn_issue_delay, actual_hazard_this_instance, schedule_unit, + actual_hazard, potential_hazard): Add comments. + (insn_cost): Use cost -1 as undefined value. Remove + LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton + pipeline interface. + (ready_element, ready_remove): New functions for automaton + interface. + (schedule_insn): Add new code for automaton pipeline interface. + (queue_to_ready): Add new code for automaton pipeline interface. + Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE. + (debug_ready_list): Print newline when the queue is empty. + (max_issue): New function for automaton pipeline interface. + (choose_ready): New function. + (schedule_block): Add new code for automaton pipeline interface. + Print ready list before scheduling each insn. + (sched_init): Add new code for automaton pipeline interface. + Initiate insn cost by -1. + (sched_finish): Free the current automaton state and finalize + automaton pipeline interface. + + * sched-rgn.c: Include target.h. + (init_ready_list, new_ready, debug_dependencies): Add new code for + automaton pipeline interface. + + * sched-vis.c: Include target.h. + (get_visual_tbl_length): Add code for automaton interface. + (target_units, print_block_visualization): Add comments. + + * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB, + USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables. + (sched-rgn.o, sched-vis.o): Add new dependency file target.h. + (getruntime.o, genautomata.o): New entries. + (genattrtab.o): Add new dependency file genattrtab.h. + (genattrtab): Add new dependencies. Link it with `libm.a'. + (getruntime.o, hashtab.o): New entries for canadian cross. + + * doc/md.texi: Description of automaton based model. + + * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST): + Add comments. + (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE, + TARGET_SCHED_DFA_PRE_CYCLE_INSN, + TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN, + TARGET_SCHED_DFA_POST_CYCLE_INSN, + TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN, + TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD, + TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new + hook descriptions. + (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE, + MAX_DFA_ISSUE_RATE): New macro descriptions. + + * doc/contrib.texi: Add dfa based scheduler contribution. + + * doc/gcc.texi: Add more information about genattrtab. + +2001-08-27 Diego Novillo + + * flow.c (flow_loop_dump): Do not display insn UIDs if this is not + an RTL basic block. + +2001-08-27 Richard Henderson + + * function.c (expand_function_end): Don't init arg_pointer_save_area. + (get_arg_pointer_save_area): New. Create an init it here. + (fix_lexical_addr): Use it. + * function.h: Declare it. + * builtins.c (expand_builtin_setjmp_receiver): Use it. + * stmt.c (expand_nl_goto_receiver): Use it. + +2001-08-27 Richard Henderson + + * final.c (final_scan_insn): Don't enter APP_ON mode for + empty asm strings. + + * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper + alignment for assemble_integer for DW_EH_PE_aligned. + * except.c (output_function_exception_table): Likewise. + +2001-08-26 Andreas Jaeger + + * c-tree.h: Add prototyp for c_sizeof_nowarn. + +2001-08-25 Dan Nicolaescu + + * ssa-ccp.c (ssa_const_prop): Free ssa_edges. + +2001-08-27 Alan Modra + + * config/rs6000/rs6000.c (mask_operand): Rewrite without + bit-shifting loop. + (mask64_operand): Likewise. + (rldic_operand): Delete. + (includes_lshift64_p): Delete. + (includes_rldic_lshift_p): New function. + (includes_rldicr_lshift_p): New function. + (print_operand): Don't call rldic_operand in case 'W'. + * config/rs6000/rs6000-protos.h (rldic_operand): Remove. + (includes_lshift64_p): Remove. + (includes_rldic_lshift_p): Declare. + (includes_rldicr_lshift_p): Declare. + * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand. + * config/rs6000/rs6000.md : + Replace match_operand rldic_operand predicate with + const_int_operand. Replace includes_lshift64_p condition with + includes_rldic_lshift_p. + : New. + +2001-08-27 Andreas Jaeger + + * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout. + * errors.c: Likewise. + * final.c: Likewise. + * dwarf2asm.c: Likewise. + * doprint.c (checkit): Likewise. + * diagnostic.c: Likewise. + * collect2.c: Likewise. + * calls.c: Likewise. + * c-semantics.c (build_stmt): Likewise. + * c-format.c (status_warning): Likewise. + * c-errors.c (pedwarn_c99): Likewise. + * builtins.c (validate_arglist): Likewise. + * config/pj/pj.c (pj_printf): Likewise. + * fix-header.c: Likewise. + * gcc.c: Likewise. + * gcov.c (fnotice): Likewise. + * gensupport.c (message_with_line): Likewise. + * mips-tfile.c: Likewise. + * protoize.c (notice): Likewise. + * read-rtl.c (fatal_with_file_and_line): Likewise. + * rtl-error.c: Likewise. + * tradcpp.c: Likewise. + * tree.c: Likewise. + * cp/tree.c (build_min_nt): Likewise. + (build_min): Likewise. + * cp/lex.c: Likewise. + * cp/errfn.c: Likewise. + * cp/rtti.c (create_pseudo_type_info): Likewise. + +Sun Aug 26 20:25:44 2001 Denis Chertykov + + * df.c (df_uses_record): Return after recording all uses + in ASM_OPERANDS. + +2001-08-26 Daniel Berlin + + * df.c (df_insn_modify): Realloc the INSN table here, if + necessary, here, too. + +2001-08-26 Aldy Hernandez + + * config/mips/mips.c (mips_function_value): Handle complex return + values. + +2001-08-25 Hans-Peter Nilsson + + * reload1.c (reload): Make all entries in reg_equiv_memory_loc + unshared. + * reload.c (make_memloc): Copy result if it is still + reg_equiv_memory_loc[regno] on return. + (subst_reloads) [ENABLE_CHECKING]: Check that none of + reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and + reg_equiv_mem are modified by the substitutions. + +Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka + + * predict.c (expensive_function_p): New. + * rtl.h (expensive_function_p): Declare. + * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant. + (use_fast_prologue_epilogue): New static variable. + (expand_prologue): Set it; emit short prologues if unset. + (expand_epilogue): Likewise. + +2001-08-22 Geoffrey Keating + + * config.gcc: Add stormy16-*-elf case. + * config/stormy16/stormy-abi: New file. + * config/stormy16/stormy16-lib2.c: New file. + * config/stormy16/stormy16-protos.h: New file. + * config/stormy16/stormy16.c: New file. + * config/stormy16/stormy16.h: New file. + * config/stormy16/stormy16.md: New file. + * config/stormy16/t-stormy16: New file. + +Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka + + * i386.h (no-accumulate-outgoing-args): Use proper mask. + +2001-08-24 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function + descriptor members are pointer size, not constant 4. + * config/rs6000/rs6000.md (define_splits): Remove more unused + constraints. + +2001-08-24 Kaveh R. Ghazi + + * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning. + +2001-08-24 Andreas Jaeger , rkl@connect.org.uk + + * cp/rtti.c (VPARAMS): Fix parameter. + +2001-08-24 Zack Weinberg + + * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv + to zero. + (mode_for_extraction): No need for #ifdefs. Add default-case abort + to switch. + (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv + in if controlling use of insv. + (extract_bit_field): Likewise, for extv and extzv. + +Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka + + * i386.md (movcc peep2): Fix load of 0. + +2001-08-24 Kaveh R. Ghazi + + * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR, + *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR. + +2001-08-23 Jason Merrill + + * c-pragma.h: Move weak_syms and weak_decls... + * varasm.c: ...here. Now static. + (declare_weak, weak_finish, remove_from_pending_weak_list): Don't + depend on HANDLE_PRAGMA_WEAK. + + * c-common.c (c_alignof, c_alignof_expr): Move here... + * c-typeck.c: ...from here. + * c-tree.h, c-common.h: Adjust. + +2001-08-23 Bernd Schmidt + + * config/ia64/ia64.c (rws_update): If !pred, set write_count + instead of incrementing it. + + * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one + asm ready, don't try to move them all into the same array element. + +Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka + + * function.c (thread_prologue_and_epilogue_insns): Avoid + fallthru flag on edge to exit. + + * i386.md (trunc?fsi splitter): Conditionionize for non-sse. + + * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge + dead edges. + +2001-08-23 Lars Brinkhoff + + * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove. + * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise. + * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx): + Remove prototype. + +2001-08-23 Lars Brinkhoff + + * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h: + replace "GNU CC" with "GCC". + +2001-08-23 Richard Henderson + + * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt. + Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode. + (ia64_secondary_reload_class): Need GR between AR/BR and anything. + Need GR between FR and not GR_AND_FR. + * config/ia64/ia64-protos.h (ia64_register_move_cost): Update. + * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move + AR regs before GR regs. + (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update. + (PREFERRED_RELOAD_CLASS): Tweak for reordered classes. + (REGISTER_MOVE_COST): Update. + (MEMORY_MOVE_COST): Add GR_AND_FR_REGS. + +2001-08-23 Richard Henderson + + * regclass.c (init_reg_sets_1): Don't assume cost 2 within + a register class. + +2001-08-22 Geoffrey Keating + + * reload1.c (emit_reload_insns): Don't look for notes + on a NULL store_insn. + +2001-08-22 Kaveh R. Ghazi + + * sparc.c (uns_small_int): Don't reference a constant >32-bit. + (addrs_ok_for_ldd_peep): Fix signed/unsigned warning. + (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix + format specifier warnings. + (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED. + +2001-08-22 David Billinghurst + + * config/i386/i386-protos.h: Correct declaration of + i386_pe_asm_named_section. + +2001-08-22 John David Anglin + + * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for + variable i. + * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise. + +2001-08-22 Neil Booth + + * cpperror.c (print_location): Don't show _Pragma. + * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing + and file change callback generation here. + (stack_include_file): Update use of cpp_push_buffer. + * cpphash.h (_cpp_pop_file_buffer): Update prototype. + (struct cpp_buffer): Remove type, pfile members. + * cppinit.c (cpp_handle_option): Use free_chain. + * cpplex.c (_cpp_lex_token): Don't do -include file pushing here. + (skip_escaped_newlines, get_effective_char, lex_percent): Take + a cpp_reader rather than a cpp_buffer. + (skip_escaped_newlines, get_effective_char, skip_block_comment, + skip_line_comment, parse_string, lex_percent, lex_dot, + _cpp_lex_token): Update accordingly. + * cpplib.c (_cpp_pop_buffer): Don't do file change callback + generation here. + (cpp_push_buffer): Update prototype. + (run_directive): Update use of cpp_push_buffer. + (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef, + handle_assertion): Update use of run_directive. + * cpplib.h (enum cpp_buffer_type): Remove. + (cpp_push_buffer): Update prototype. + * fix-header.c (read_scan_file): Update. + +2001-08-22 Matt Kraai + + * gcc.c (struct prefix_list): Change prefix to const char *. + +2001-08-22 Matt Kraai + + * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn. + +2001-08-22 Jason Merrill + + * explow.c (set_mem_attributes): Avoid returning a bogus alias set + from a new MEM. + + * jump.c (squeeze_notes): Take parms by reference. Handle END being + a squeezable note. + * rtl.h: Adjust. + * ifcvt.c (dead_or_predicable): Adjust. + * loop.c (find_and_verify_loops): Adjust. + * stmt.c (expand_end_case): Adjust. + * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the + head and end insn pointers in the basic block, not just local copies. + (merge_blocks_move_predecessor_nojumps): Likewise. + +2001-08-22 Lars Brinkhoff + + * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c, + bitmap.h, builtin-types.def, builtins.c, builtins.def, + c-aux-info.c, c-common.c, c-common.def, c-common.h, + c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c, + c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in, + c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c, + caller-save.c, calls.c, collect2.c, collect2.h, combine.c, + conditions.h, config.gcc, configure.frag, configure.in, + conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c, + cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h, + dependence.c, df.c, df.h, diagnostic.c, diagnostic.h, + doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c, + dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c, + emit-rtl.c, errors.c, errors.h, except.c, except.h, + exgettext, explow.c, expmed.c, expr.c, expr.h, final.c, + fixproto, flags.h, flow.c, fold-const.c, fp-test.c, + function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp, + gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c, + gencheck.c, gencodes.c, genconfig.c, genemit.c, + genextract.c, genflags.c, gengenrtl.c, genmultilib, + genopinit.c, genoutput.c, genpeep.c, genrecog.c, + gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c, + ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c, + graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h, + gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h, + gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h, + hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h, + integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c, + libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h, + machmode.def, machmode.h, main.c, mbchar.c, mbchar.h, + mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk, + mkmap-symver.awk, optabs.c, output.h, params.c, params.def, + params.h, predict.c, predict.def, predict.h, prefix.c, + prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c, + read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c, + regclass.c, regmove.c, regrename.c, regs.h, reload.c, + reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c, + rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h, + sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c, + sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c, + ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c, + stringpool.c, system.h, timevar.c, timevar.def, timevar.h, + tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h, + tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h, + unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h, + unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c, + xcoffout.h: replace "GNU CC" with "GCC". + +2001-08-21 Richard Henderson + + * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment. + (final_scan_insn): Consider jump tables data even if we have no + independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use + ADDR_VEC_ALIGN. + * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove. + (ASM_OUTPUT_CASE_END): Remove. + (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references. + * config/ia64/ia64.md (tablejump): Decode pc-relative references. + * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove. + +2001-08-21 Richard Henderson + + * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state + at barrier insns. Emit stop bits before barriers. + + * flow.c (flow_find_cross_jump): Don't consider unconditional + return insns for commoning. + + * final.c (compute_alignments): Fix typo. + + * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults. + (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise. + (store_bit_field): Use mode_for_extraction more places. + (extract_bit_field): Likewise. + +2001-08-21 Zack Weinberg + + * caller-save.c: Don't include insn-codes.h. + (reg_save_code, reg_restore_code): Make arrays of int. + All uses updated to match. + (insert_save, insert_restore): No need to initialize "code" + variable upon declaration. + * Makefile.in: update dependencies; fix typo in clean rule. + +2001-08-21 Richard Henderson + + * ifcvt.c (find_if_block): Allow join_bb as EXIT. + (merge_if_block): Handle fallout from same. + +2001-08-21 Kaveh R. Ghazi + + * builtins.c (type_to_class): Fix typo in last change. + +2001-08-21 Richard Henderson + + * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if + ia64_asm_output_label. + + * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved + copy of gp while the real gp register contains garbage. + +2001-08-21 Zack Weinberg + + * expmed.c (mode_for_extraction): New function. + (store_bit_field, extract_bit_field): Use it. + * expr.h: Prototype it and provide an enum for its first argument. + + * combine.c, function.c, recog.c: Don't include insn-codes.h. + Use mode_for_extraction rather than testing HAVE_insv/extv/extzv + and digging through the insn_data tables. + * Makefile.in: Update dependencies. + +2001-08-22 Neil Booth + + * cppfiles.c (stack_include_file): line-map.c now handles include + depth. + (handle_missing_handler): Similarly. + (_cpp_execute_include): Similarly. + (_cpp_pop_file_buffer): Similarly. + * cpphash.h (struct cpp_reader): Remove system_include_depth, + buffer_stack_depth and include_depth. + * cpplib.c (do_include_common): line-map.c now handles include depth. + (cpp_push_buffer): Similarly. + (_cpp_pop_buffer): Similarly. + * cppmacro.c (builtin_macro): Update. + * line-map.c (init_line_maps): Set depth. + (add_line_map): Increment "used" earlier. Update and use the + include depth. + (trace_include): Use the include depth. + * line-map.h (struct line_maps): New member depth. + +2001-08-21 Neil Booth + + * cppfiles.c (stack_include_file): Don't handle -H here. + * cppinit.c (cpp_start_read): Set include tracing after + cpp_post_options and after stacking the main file. + * line-map.c (trace_include): New. + (init_line_maps, add_line_map): Update. + * line-map.h (struct line_maps): New member trace_includes. + +2001-08-21 Neil Booth + + * cppfiles.c (stack_include_file): Harmonize system headerness tests. + * cppfiles.c (stack_include_file): Only stack a file if there + is something to do. Return a boolean indicating whether a + buffer was stacked or not. + (_cpp_execute_include): Similarly. + (_cpp_read_file): Similarly. + * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes. + +2001-08-21 Sam Steingold + + * tradcpp.c (rescan): define obufp_before_macroname before RECACHE + (RECACHE): keep obufp_before_macroname up to date + +2001-08-21 Zack Weinberg + + * stmt.c: Don't include insn-codes.h. + (expand_end_case): Machine specific logic moved to expr.c. + No need to worry about __builtin_classify_type. + (check_for_full_enumeration_handling, emit_case_nodes): + Kill #if 0 blocks. + + * builtins.o (expand_builtin_classify_type): Split up so code + can be shared with fold_builtin_classify_type. + (type_to_class, fold_builtin_classify_type): New functions. + (fold_builtins): Handle __builtin_classify_type. + + * expr.c (do_tablejump): Now static. + (case_values_threshold, try_casesi, try_tablejump): New; + code mostly from stmt.c (expand_end_case). + (expr.h): Update prototypes. + + * Makefile.in (stmt.o): Update dependencies. + +2001-08-21 Will Cohen + + * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local + declaration of variable i. + * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local + declaration of variable i. + +2001-08-21 Richard Henderson + + * crtstuff.c: Fix thinko last change. Move list tails to start + of CRT_END section. Tidy ifdefs. + (__EH_FRAME_BEGIN__): Always static for ELF. + (__do_global_ctors_1): Rename from __frame_dummy. + * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1 + name change; don't hide __EH_FRAME_BEGIN__. + +2001-08-21 Richard Henderson + + * gdbinit.in: Move break on exit after break on fancy_abort. + + * config/ia64/ia64.c (ia64_return_in_memory): True for variable + sized types. + +2001-08-21 Neil Booth + + * cpphash.h (_cpp_push_next_buffer): New. + * cppinit.c (do_includes): Remove. + (push_include, free_chain, _cpp_push_next_buffer): New. + (cpp_start_read): Use them to rework command line option handling. + (cpp_handle_option): Combine handling of -include and -imacros. + * cpplex.c (_cpp_lex_token): Push a new -include buffer if + appropriate. Always insert missing \n at EOF. + * cpplib.c (start_directive): Get the directive position right. + * cppmain.c (cb_file_change): Always print the first line, unless + preprocessed. + +2001-08-20 Andreas Jaeger + + * profile.c (compute_branch_probabilities): Remove extra new-line + in error message. + * flow.c (verify_flow_info): Likewise. + +2001-08-20 Diego Novillo + + * basic-block.h (basic_block): Add new field 'flags'. + (BB_REACHABLE): Define. + (expunge_block): Declare. + * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'. + (EXIT_BLOCK_PTR): Ditto. + (expunge_block): Remove static declaration. + (cleanup_cfg): Clear bb->aux on every basic block. + (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when + computing reachability. + (delete_unreachable_blocks): Delete block b if b->flags has + BB_REACHABLE unset. + +2001-08-20 Diego Novillo + + * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast. + +2001-08-20 Kaveh R. Ghazi + + * sparc.c (sparc_variable_issue): Fix typo in last change. + +2001-08-20 Richard Henderson + + * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage. + +2001-08-20 John David Anglin + + * pa.h (RETURN_IN_MEMORY): Improve comment. + +2001-08-20 Janis Johnson + + * doc/invoke.texi (Profiling options): Clarify the interactions + between -fprofile-arcs and -ftest-coverage, -fprofile-arcs. + +2001-08-20 Jeffrey Oldham + + * crtstuff.c (__do_global_ctors): Fix typo in preprocessing + command. + +2001-08-20 Matt Kraai + + * gcc.c (make_relative_prefix): Allocate a sufficiently large + buffer. + +2001-08-20 Richard Henderson + + * final.c (end_final): Fix typo last change. + +2001-08-20 Neil Booth + + * cppinit.c (init_standard_includes): The returned buffer + is already malloc-ed. + * gcc.c (add_prefix): Similarly. + * prefix.c (translate_name): Update to support clear buffer + ownership rules. + (update_path): Similarly. Be sure to free any newly allocated + key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument. + (tr): New function. + * prefix.h (update_path): Update prototype and document. + * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean + up and update to new buffer ownership rules. + * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update. + +Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka + + * final.c (compute_alignments): New function. + (init_insn_lengths): Do not care label_align. + (LABEL_ALIGN_AFTER_BARRIER): Default to 1. + (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0. + (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New. + (shorted_branches): Realloc label_align array; do + not call init_insn_lengths; Do not care about loop alignments. + * output.h (compute_alignments): Declare. + * toplev.c (rest_of_compilation): Call compute_alignments. + * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document. + + * predict.c (block_info_def): Add npredecesors, remove nvisited; + change visited to tovisit. + (propagate_freq): Use faster traversing algorithm. + (estimate_loops_at_level, estimate_bb_frequencies): Change visited + to tovisit; reverse meaning. + + * predict.c (struct block_info_def): Remove nvisited. + (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions. + (estimate_bb_frequencies): Call mark_dfs_back_edges. + +2001-08-19 Geoffrey Keating + + * doc/invoke.texi (MIPS Options): Document -mfused-madd. + * config/mips/mips.h (MASK_NO_FUSED_MADD): New. + (TARGET_FUSED_MADD): New. + (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd. + * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to + the multiply-add instructions. + +2001-08-19 Richard Henderson + + * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref + is aligned to pointer size. + +2001-08-19 Richard Henderson + + * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle + display markers during final schedule. + +2001-08-19 Richard Henderson + + * function.c (gen_mem_addressof): Don't call get_alias_set if no decl. + +2001-08-19 Richard Henderson + + * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and * + in the same string. + (ASM_NAME_TO_STRING): Remove. + * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and * + in the same string. Remove support for expressions. + +2001-08-19 Richard Henderson + + * config/i386/i386.md (tablejump): Make an expander; handle + pic relative addressing here. + (tablejump_1): Rename from tablejump_pic. + (casesi): Remove. + +2001-08-19 Richard Henderson + + * regclass.c (fix_register): Fix typo. + +2001-08-18 Richard Henderson + + * config/ia64/unwind-ia64.c (UNW_REG_B0): New. + (struct _Unwind_Context): Expand br_loc to hold it. + (uw_frame_state_for): Handle leaf functions better. + (uw_update_reg_address): Update for br_loc change. + +2001-08-18 Richard Henderson + + * crtstuff.c: Move list heads before code that uses them. + (__JCR_LIST__): Remove initial null. + (frame_dummy, __frame_dummy): Do java registration here ... + (__do_global_ctors_aux): ... not here. + + * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative. + (__do_global_dtors_aux): Update to match. + (__JCR_LIST__, __do_jv_register_classes): New. + (.init): Call it. + * config/ia64/crtend.asm (__JCR_END__): New. + (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__ + instead of an indirect LTOFF22 reloc. + +2001-08-18 Richard Henderson + + * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call. + * regclass.c (init_reg_sets_1): Fix typo. + * config/ia64/ia64.c (ar_pfs_reg_operand): New. + (ia64_expand_call): Pass ar.pfs to sibcall expanders. + (ia64_compute_frame_size): Make ar.unat live when in use. + (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf + for ar.pfs; remove ar.unat handling. + * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is + call-saved. + (PREDICATE_CODES): Add ar_pfs_reg_operand. + * config/ia64/ia64-protos.h: Update decls. + * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs. + (sibcall_pic): Likewise. + +2001-08-18 Richard Henderson + + * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past + pred_rel_mutex when searching for insn_group_barrier. + * config/ia64/ia64.md (cycle_display): Combine the expander + and insn patterns. + + * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop + bit before asm as needed. + +2001-08-18 Richard Henderson + + * timevar.def (TV_MACH_DEP): New. + * toplev.c (rest_of_compilation): Use it. + * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2. + +2001-08-18 Zack Weinberg + + * unwind-dw2.c (execute_stack_op): Add default aborts to + the inner switches to prevent warnings. + +2001-08-18 Richard Henderson + + * timevar.h (struct timevar_time_def): Change element type to float. + (ticks_to_msec, clocks_to_msec): Likewise. + (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float. + (get_time): Likewise. + (timevar_print): Adjust zero check and printing to match. + +2001-08-18 Zack Weinberg + + * doc/extend.texi, doc/gcc.texi, doc/install-old.texi, + doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi: + Eliminate overfull or underfull hboxes. + +2001-08-18 Zack Weinberg + + * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout. + +2001-08-18 Zack Weinberg + + * haifa-sched.c: Convert to target hooks. Macros replaced + are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT, + MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE, + MD_SCHED_FINISH, and HAVE_cycle_display. + * target-def.h (TARGET_SCHED_ADJUST_COST, + TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE, + TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT, + TARGET_SCHED_FINISH, TARGET_SCHED_REORDER, + TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY): + New hook #defines to be overridden. + (TARGET_SCHED): Bring them all together. + (TARGET_INITIALIZER): Update. + * target.h: Don't forward declare struct rtx_def. Use 'rtx' + instead of 'struct rtx_def *' throughout. + (struct sched): New set of hooks for the scheduler. + * Makefile.in (haifa-sched.o): Depend on target.h. + * doc/tm.texi: Document the new scheduler hooks, together in + their own section, instead of scattered around. + Fix a bunch of underfull/overfull hboxes. + + * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h, + ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h, + sparc.h: Don't define any of the old scheduler macros. + + * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c, + ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c, + sparc.c: Create hook functions from code extracted from + corresponding target header, or make existing hooks static, as + appropriate. Set the appropriate entries in targetm. + + * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h, + i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h, + rs6000-protos.h, s390-protos.h, sparc-protos.h: + Remove prototypes for functions which are now static. + + * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and + related gunk; the Haifa scheduler is now the only choice. + +2001-08-18 Zack Weinberg + + * optabs.h (OTI_flodiv, flodiv_optab): Kill. + * genopinit.c: Put floating point divide insns in sdiv_optab. + * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab. + * config/gofast.h, config/c4x/c4x.h, + config/ia64/hpux_longdouble.h, config/mips/mips.h, + config/pa/long_double.h, config/rs6000/sysv4.h, + config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab. + * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv. + (init_optabs): Use init_optabv for overflow-trapping optabs. + Don't init flodiv_optab. Give mov_optab, movstrict_optab, and + cmp_optab RTX codes so have_insn_for can find them. + + * optabs.c (expand_simple_binop, expand_simple_unop, + have_insn_for, gen_sub3_insn): New interfaces. + * expr.h: Prototype new functions. + (enum optab_methods): Move here from optabs.h. + + * builtins.c, combine.c, doloop.c, function.c, ifcvt.c, + loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c: + Use new functions instead of working directly with optabs. + * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c, + unroll.c: Don't include optabs.h. + * caller-save.c, combine.c, function.c, stmt.c: Just include + insn-codes.h, not optabs.h. + * Makefile.in: Update dependencies. + + * combine.c (make_compound_operation, simplify_comparison): + Fix typos testing for this or that instruction. + +2001-08-18 Herman A.J. ten Brugge + + * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when + generating libgcc.a. + +2001-08-18 Kaveh R. Ghazi + + * except.c (TYPE_HASH): Delete. + + * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not + HOST_WIDE_INT. + + * tree.c (TYPE_HASH): Delete. + + * tree.h (TYPE_HASH): Define. + +2001-08-18 Graham Stott + + * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from + define_split. + (adddi3_internal_2+2): Likewise. + (eh_set_lr_di+1): Likewise. + +2001-08-17 Richard Henderson + + * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, + UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ... + * dwarf2asm.c: ... here. + * dwarfout.c: Remove them. + + * varasm.c (assemble_integer): Add align parameter. + (assemble_real, output_constant, output_constructor): Likewise. + * output.h: Update decls. + * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c, + config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c, + config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h, + config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c, + config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md: + Update all callers. + + * final.c (end_final): Abort profile block generation if we + haven't layed it out properly. + * output.h (assemble_eh_integer): Remove stale decl. + * varasm.c (assemble_zeros): Tidy; use assemble_integer. + (min_align): New. + (assemble_integer): Handle unaligned data. + (assemble_real): Abort on unaligned data. + (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does + anything useful. + (default_dtor_section_asm_out_destructor): Use assemble_align. + (default_named_section_asm_out_constructor): Likewise. + (default_ctor_section_asm_out_constructor): Likewise. + * config/darwin.c (machopic_asm_out_constructor): Likewise. + (machopic_asm_out_destructor): Likewise. + * config/nextstep.c (nextstep_asm_out_constructor): Likewise. + (nextstep_asm_out_destructor): Likewise. + * config/alpha/alpha.c (vms_asm_out_constructor): Likewise. + (vms_asm_out_destructor): Likewise. + +2001-08-17 Richard Henderson + + * config/mips/iris6.h (TARGET_IRIX6): New. + (current_section_name, current_section_flags): New. + (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New. + (MAX_OFILE_ALIGNMENT): New. + (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section. + * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove. + (copy_file_data): Split out from + (mips_asm_file_end): ... here. + (mips_asm_file_start): Remove extra .section directive. Use + tmpfile instead of mips_make_temp_file. + (mips_unique_section): Use const char * as needed for warnings. + (iris6_asm_named_section_1): Renamed from iris6_asm_named_section; + re-add align parameter. + (iris6_asm_named_section): New. + (iris_section_align_entry_eq, iris_section_align_entry_hash): New. + (iris6_asm_output_align, iris6_section_align_1): New. + (iris6_asm_file_start, iris6_asm_file_end): New. + * config/mips/mips-protos.h: Update decls. + +2001-08-17 Janis Johnson + + * doc/install.texi (Install GCC): Add links to build status pages. + (Specific): Ditto. + (Final install): Ditto; request updates for specific info + +2001-08-17 Neil Booth + + * cpperror.c (print_location): Don't take a file name; use the + line map instead. + (_cpp_begin_message): Similarly. + (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning, + cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update. + (cpp_pedwarn_with_file_and_line): Remove. + * cppfiles.c (stack_include_file): Update; set filename to stdin + here when appropriate. + * cpphash.h (struct cpp_buffer): Remove nominal_fname. + (_cpp_begin_message): Don't take a file name. + * cppinit.c: Add comment. + * cpplex.c: Fix end-of-directive indicator. + * cpplib.c: Don't include intl.h. + (run_directive, do_diagnostic): Update. + (do_line): Update to not use nominal_fname. + (cpp_push_buffer): Don't take a filename. + * cpplib.h (struct ht): Remove. + (cpp_push_buffer): Don't take a filename. + (cpp_pedwarn_with_file_and_line): Remove. + * cppmacro.c (struct cpp_macro): Remove file. + (builtin_macro): Update. + (_cpp_create_definition): Update. + * cppmain.c: Correct comment. + * fix-header.c (read_scan_file): Update. + +2001-08-17 Kazu Hirata + + * sbitmap.c: Fix comment formatting. + * sched-deps.c: Likewise. + * sibcall.c: Likewise. + * simplify-rtx.c: Likewise. + * ssa.c: Likewise. + * ssa-ccp.c: Likewise. + * stor-layout.c: Likewise. + * timevar.c: Likewise. + * toplev.c: Likewise. + * unwind-dw2.c: Likewise. + * unwind-dw2-fde.c: Likewise. + * varasm.c: Likewise. + +2001-08-17 John David Anglin + + * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable + or larger than an integer in memory. + +2001-08-17 Zack Weinberg + + * system.h: Forward-declare struct rtx_def, struct rtvec_def, + and union tree_node. Typedef rtx, rtvec, and tree. Fix comment. + * rtl.h: Don't forward-declare union tree_node here. Don't + typedef rtx or rtvec here. Change all uses of struct rtx_def *, + struct rtvec_def *, or union tree_node * to use rtx, rtvec, + and tree respectively. + * tree.h: Don't forward-declare struct rtx_def here. Don't + typedef tree here. Change all uses of struct rtx_def *, + struct rtvec_def *, or union tree_node * to use rtx, rtvec, + and tree respectively. + +2001-08-17 Richard Henderson + + * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h, + config/mips/openbsd.h: Fix typos last change. + +2001-08-17 Gerald Pfeifer + + * doc/invoke.texi (Optimize Options): The default for + -finline-limit is 600. + +2001-08-17 Richard Henderson + + * varasm.c (text_section): Allow TEXT_SECTION to override the + printing of TEXT_SECTION_ASM_OP. + * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION. + (DATA_SECTION, BSS_SECTION): Remove. + * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME, + RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME): + Rename from s/_NAME//. + * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16. + (ASM_DECLARE_FUNCTION_NAME): Move file switching ... + (TEXT_SECTION): ... here. New. + * config/mips/elf.h (TEXT_SECTION): New; no file switching. + * config/mips/elf64.h, config/mips/netbsd.h: Likewise. + * config/mips/openbsd.h: Likewise. + * config/mips/mips.c (mips_asm_file_start): Tidy file switching test. + (mips_asm_file_end): Likewise test. + (mips_output_function_epilogue): Likewise. Switch back to data + section after emitting the function. + + * doc/tm.texi (Sections): Document TEXT_SECTION. + +2001-08-17 Richard Henderson + + * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here. + (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info. + +2001-08-17 Richard Henderson + + * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN. + * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__, + __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__): + Add aligned attribute. + +2001-08-17 Andrew Haley + + * config/sh/sh.md: Add modes to unspecs in first insn to match + those in the second. + + * Makefile.in: Fix collect2 copy for Cygwin. + +Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka + + Install the proper patch. + * function.c (put_var_into_stack): Temporarily clear DECL_RTL. + (assign_params): Avoid setting DECL_RTL to unfinished RTX. + (expand_function_start): Likewise. + * stmt.c (expand_decl): Likewise. + * varasm.c (make_decl_rtx): Likewise. + +Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka + + * final.c: Undo my previous accidental checkin. + * output.h: Likewise. + * tm.texi: Likewise. + +2001-08-16 Richard Henderson + + * varasm.c (named_section_flags): Remove align parameter. + * varasm.c, dwarf2out.c: Update all callers. + * output.h: Update prototypes. + + * target.h (target.asm_out.named_section): Remove align parameter. + * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c, + config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c, + config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c, + config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c, + config/sh/sh.c, config/sparc/sparc.c: Update implementations to match. + + * varasm.c (in_named_entry_eq, in_named_entry_hash): New. + (get_named_section_flags, set_named_section_flags): New. + (named_section_flags): Use them. + (named_section): Do decl vs section flags check here... + (default_section_type_flags): ... not here. + (init_varasm_once): Create in_named_htab. + (resolve_unique_section): Mark reloc unused. + +2001-08-16 Richard Henderson + + * varasm.c (force_const_mem): Keep pool alignment in bits. + (output_constant_pool): Use assemble_align. + +2001-08-16 Zack Weinberg + + * doc/tm.texi: Remove extra @table command. + +2001-08-16 Zack Weinberg + + * final.c (shorten_branches): Clear the end of the label_align + array only if we made it larger. Break up messy expressions + for clarity. + + * diagnostic.c (internal_error): Check for error recursion + before doing ICE suppression. + + * timevar.c: Timing variables now count in milliseconds. + (init_timevar): Set up ticks_to_msec and clocks_to_msec here. + (get_time): Not here. + (timevar_print): Don't print any timer whose user, cpu, and + wall times are all zero as displayed. + * timevar.h: Update comment aboout units. Make timevar + counters unsigned. + +Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka + + * function.c (put_var_into_stack): Temporarily clear DECL_RTL. + (assign_params): Avoid setting DECL_RTL to unfinished RTX. + (expand_function_start): Likewise. + * stmt.c (expand_decl): Likewise. + * varasm.c (make_decl_rtx): Likewise. + +2001-08-16 Jason Merrill + + * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN. + (finalize_record_size): Don't set TYPE_USER_ALIGN. + +2001-08-16 Matt Kraai + + * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused + variables. + +2001-08-16 Andreas Jaeger + + * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame + prototype. + +Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com) + + * rtl.h (only_sets_cc0_p): New prototype. + * jump.c (sets_cc0_p): Handle INSN. + (only_sets_cc0_p): New function. + * flow.c (merge_blocks_nomove): Use only_sets_cc0_p. + (tidy_fallthru_edge): Likewise. + * integrate.c (copy_insn_list): Likewise. + * unroll.c (unroll_loop): Likewise. + (copy_loop_body): Likewise. + +2001-08-15 Jason Eckhardt + + * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t". + +Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka + + * predict.c (struct block_info_def): Remove nvisited. + (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions. + (estimate_bb_frequencies): Call mark_dfs_back_edges. + + * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium + (ix86_adjust_cost): Teach scheduler that latency to load operand can + be masked. + +Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka + + * predict.def: Update hitrates. + +2001-08-15 Richard Henderson + + * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT. + +Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com) + + * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG + note from its associated jump. + +2001-08-14 Ulrich Weigand + + * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__ + also on 64-bit s390x targets. + +2001-08-14 Nick Clifton + + * config/arm/arm.c (arm_compute_initial_elimination_offset): New + function. + (arm_expand_prologue): Handled nested functions which take a + variable argument list. + * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace + macro with an invocation of + arm_compute_initial_elimination_offset. + * config/arm/arm-protos.h: Prototype + arm_compute_initial_elimination_offset. + +2001-08-14 Gerald Pfeifer + + * doc/install.texi (Specific, avr): Fix markup. + (Specific, c4x): Ditto. + +2001-08-14 Matt Kraai + + * predict.c (dump_prediction): Change `bool' parameter to `int'. + +2001-08-14 Gabriel Dos Reis + + * Makefile.in (OBJS): Add rtl-error.o + (rtl-error.o): New rule. + (diagnostic.o): Adjust dependency. + diagnostic.c (file_and_line_for_asm, diagnostic_for_asm, + error_for_asm, _fatal_insn, _fatal_insn_not_found, + warning_for_asm): Move to... + rtl-error.c: ...here. New file. + +2001-08-14 Richard Henderson + + * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame + if USING_SJLJ_EXCEPTIONS. + +2001-08-14 Steve Ellcey + + * tlink.c (scan_linker_output): Check string for unsatisfied in + addition to undefined and unresolved. + +2001-08-14 Graham Stott + + * libgcc2.c (*): Replace EH_FRAME_SECTION with + EH_FRAME_SECTION_NAME. + +Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka + + * genattrtab.c (simplify_test_exp_in_temp): New function. + (simplify_test_exp): Avoid explicit use of temporary obstack. + (simplify_cond, insert_right_side, evaluate_eq_attr, + simplify_and_tree, simplify_or_tree, eliminate_known_true): + Use simplify_test_exp_in_temp. + (optimize_attrs): Iterate until expression stabilizes. + +2001-08-13 Ulrich Weigand : + + * glimits.h: Remove the __LONG_MAX__ special case for s390x. + * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES. + +2001-08-13 Richard Henderson + + * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove. + (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove. + * config/arm/conix-elf.h: Likewise. + +2001-08-13 Geoffrey Keating + + * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done + in gcc.c. + * config/rs6000/sysv4.h (LINK_SPEC): Likewise. + + * gcse.c (hash_scan_set): Expressions that are set as part of + jump instructions are not available. + +2001-08-13 Ulrich Weigand + + * config/s390/s390.c (print_operand, s390_function_prologue, + s390_va_start): Fixed HOST_WIDE_INT type mismatch. + +2001-08-13 Richard Henderson + + * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New. + * defaults.h (EH_FRAME_SECTION_NAME): Respect it. + * doc/tm.texi (Exception Region Output): Document it. + +2001-08-13 Geoffrey Keating + + * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use + DWARF2 instead of stabs by default. + +2001-08-13 David Edelsohn + + * config/rs6000/rs6000.c: Include optabs.h. + +2001-08-13 David Edelsohn + + * config/rs6000/eabi.asm: Define 64-bit versions of FPR + save/restore routines. + * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros. + +2001-08-13 Andreas Jaeger + + * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo, + the english is correct. + +2001-08-13 Zack Weinberg + + * expr.h: Split out optab- and libfunc-related code to... + * optabs.h, libfuncs.h: ... these new headers. + + * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h. + (OPTABS_H): New. + (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to + dependencies. + * mkconfig.sh: Don't include insn-codes.h from config.h. + + * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether + enum insn_code is available. Move reload_in_optab and + reload_out_optab array declarations to optabs.h. + * regmove.c (gen_add3_insn): Move to optabs.c, export from + there, prototype in expr.h. + * gencodes.c: Cleanup: zap global variables, don't use + printf where puts will do, don't bother defining MAX_INSN_CODE + which nothing uses, let CODE_FOR_nothing get its value implicitly. + + * genemit.c, genopinit.c: Include optabs.h in generated file. + * genoutput.c: Include insn-codes.h in generated file. + * builtins.c, caller-save.c, combine.c, doloop.c, explow.c, + expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c, + reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c, + config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c, + config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c, + config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c: + Include optabs.h. + * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c, + optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c, + config/m88k/m88k.c, config/sparc/sparc.c: + Include libfuncs.h. + * reload.c: Include expr.h and optabs.h before reload.h. + * config/alpha/alpha.c: Include tree.h before reload.h. + * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h, + and reload.h in that order. + * config/sparc/sparc.c: Include debug.h. + * recog.c: Include insn-codes.h. + +2001-08-13 Andreas Jaeger + + * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on + s390*linux. + +2000-08-13 Theodore Papadopoulo + + * dwarf2out.c (output_cfa_loc): Fix typo in comment. + * gcc.c (init_spec): Fix typo in comment. + * varasm.c (data_section): Fix typo in comment. + +Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka + + * predict.c (dump_prediction): New argument "USED". + (combine_predictions_for_insn): Determine the used heuristics, + output the case no heuristic applied. + * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New. + +2001-08-13 Andreas Jaeger + + * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize + register %rip. + +2001-08-13 Kazu Hirata + + * jump.c: Fix formatting. + +2001-08-13 Kazu Hirata + + * config/h8300/h8300.md (zero_extendqihi2): Correct the insn + length. + +2001-08-12 Geoffrey Keating + + * loop.c (check_dbra_loop): Use condjump_label to compute + jump_label. + + * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around + to better document the files they're in. + +2001-08-12 Zack Weinberg + + * recog.h (struct insn_operand_data): Shrink 'mode' field + to 16 bits. + +2001-08-12 Kazu Hirata + + * gcc.c: Fix comment formatting. + * gccspec.c: Likewise. + * gcov.c: Likewise. + * gcse.c: Likewise. + * genemit.c: Likewise. + * gengenrtl.c: Likewise. + * genrecog.c: Likewise. + * gensupport.c: Likewise. + * ggc-page.c: Likewise. + * global.c: Likewise. + * graph.c: Likewise. + * ifcvt.c: Likewise. + * integrate.c: Likewise. + * lcm.c: Likewise. + * libgcc2.c: Likewise. + * loop.c: Likewise. + * mbchar.c: Likewise. + * optabs.c: Likewise. + * predict.c: Likewise. + * prefix.c: Likewise. + * profile.c: Likewise. + * protoize.c: Likewise. + * real.c: Likewise. + * recog.c: Likewise. + * regclass.c: Likewise. + * regmove.c: Likewise. + * reg-stack.c: Likewise. + * reload1.c: Likewise. + * resource.c: Likewise. + * rtlanal.c: Likewise. + * rtl.c: Likewise. + +2001-08-12 Kazu Hirata + + * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how + a tree representing a constant is passed to the macro. + +2001-08-12 Richard Henderson + + * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New. + (rs6000_elf_asm_out_destructor): New. + * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove. + (DTORS_SECTION_ASM_OP): Remove. + (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. + (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors. + +2001-08-12 David Edelsohn + + Revert: + 2001-08-02 Rainer Orth + * gcc.c (set_collect_gcc_options): New function, split out from + main. + Ignore elided switches. + (do_spec_1): Invoke before executing command. + (set_input): Export. + Move declaration ... + * gcc.h (set_input): ... here. + * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input + file. + +2001-08-12 Richard Henderson + + * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix + thinko wrt TARGET_RELOCATABLE. + +2001-08-12 Neil Booth + + * fix-header.c (cb_file_change): Update prototype. + +2001-08-11 Zack Weinberg + + * toplev.c (set_float_handler): Make static. + * toplev.h: Don't prototype set_float_handler. + + * simplify-rtx.c: Don't include setjmp.h. + (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1): + New functions. + (simplify_unary_operation, simplify_binary_operation): Use them, + via do_float_handler. + + * fold-const.c: Don't include setjmp.h. + (exact_real_inverse_1): New function. + (exact_real_inverse): Use it, via do_float_handler. + + * varasm.c: Don't include setjmp.h. + (assemble_real_1): New function. + (assemble_real): Use it, via do_float_handler. + Call internal_error if we get a trap here. + + * c-parse.in, cse.c, cselib.c, config/i386/i386.c, + config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h. + +2001-08-11 Zack Weinberg + + * defaults.h: Define PREFERRED_STACK_BOUNDARY to + STACK_BOUNDARY if not already defined. + + * calls.c, function.c, reload1.c, explow.c: Don't default + PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on + PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY. + + * explow.c (allocate_dynamic_stack_space): Change unsafe #if + to run-time test. + + * doc/tm.texi: Document that STACK_BOUNDARY is required; + clarify difference between it and PREFERRED_STACK_BOUNDARY. + +2001-08-11 Neil Booth + + * cppmacro.c (enter_macro_context): Push macro expansions even + if empty. + +2001-08-11 Franz Sirl + + * config/rs6000/rs6000.c: Include integrate.h to silence warning. + (rs6000_elf_section_type_flags): Actually return a value. + +2001-08-11 Ulrich Weigand + + * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux: + Clean up code: add missing comments and prototypes, fix warnings, + remove obsolete code, fix spacing to conform to coding style. + +2001-08-11 Ulrich Weigand + + * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN + and TARGET_ASM_CLOSE_PAREN. + (regclass_map): CC register belongs to class NO_REGS. + (legitimize_pic_address): Don't generate unnecessary moves + (to avoid confusing loop optimization). + (check_and_change_labels): Replace jump_long by indirect_jump. + (s390_final_chunkify): Don't start a new literal pool on section + switch in 64-bit code. + (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit. + + * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug. + (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit). + (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer + modes correctly. + (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS. + (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit. + (CONST_COSTS): Fixed incorrect costs. + + * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3): + Use emit_jump instead of emit_jump_insn (gen_jump). + (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting + (to avoid confusing flow analysis). + (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi. + (casesi, casesi_jump): New. + (jump_long): Removed. Functionality merged into indirect_jump. + (indirect_jump): Accept address_operand, not just register_operand. + (cjump_long, icjump_long): Use same logic as indirect_jump. + (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp): + Fixed broken setjmp/longjmp handling. + (do_builtin_setjmp_setup): Removed. + + * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around + broken GNU as versions that don't accept .quad with large + negative values. Use hexadecimal output instead. + (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn. + (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE, + FUNCTION_EPILOGUE): Removed. Now in targetm. + + * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register. + + * config/s390/fixdfdi.h: Add missing copyright statement. + Fix type conflicts on 64-bit. Add missing SFmode routines. + + * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect + email address. + +2001-08-11 Richard Henderson + + * rtl.h (REG_EH_RETHROW): Remove. + * rtl.c (reg_note_name): Update. + * combine.c (distribute_notes): Don't check for it. + +2001-08-11 Richard Henderson + + * combine.c (distribute_notes): Place REG_SETJMP. + +2001-08-11 Richard Henderson + + * doc/extend.texi (Arrays and pointers implementation): Discourage + relying on sign-extension of pointers. + +2001-08-11 H.J. Lu + + * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and + in_dtors. + (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and + RDATA_SECTION_ASM_OP. + +2001-08-11 Gerald Pfeifer + + * doc/install.texi (Specific, c4x): Fix cross-reference to the + main manual to work both for info and HTML versions. + +2001-08-11 Neil Booth + Matt Kraai + + * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy. + * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix. + (struct cpp_pool): New member first. + * cppinit.c (append_include_chain): Plug memory leaks. + * cpplib.c (cpp_register_pragma, cpp_register_pragma_space): + Allocate pragma structures from the (aligned) macro pool to + avoid leaking memory. + * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first + so we don't leak memory. + * hashtable.c (ht_destroy): New. + * hashtable.h (ht_destroy): New. + +2001-08-11 Neil Booth + Franz Sirl + + * c-lex.c (map): Make const. + (cb_file_change): Update for callback passing a line map. + Don't assume we have a previous map. Remove sanity check + about popping too many files. + * cpperror.c (print_location): Make map const. + * cppfiles.c (stack_include_file): Update; line maps now hold sysp. + (cpp_make_system_header): Similarly. + (search_from): Similarly. + (_cpp_execute_include): Don't remember where we came from. + * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp. + (struct cpp_reader): Make map const. + (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update. + * cpplib.c (do_line): Update; line maps now hold sysp. + (cpp_push_buffer): Similarly. + (_cpp_do_file_change): Similarly; callback with map instead. + (cpp_get_line_maps): Constify return value. + (_cpp_pop_buffer): Update. + * cpplib.h (struct cpp_file_change): Remove. + (struct cpp_callbacks): Update. + (cpp_get_line_maps): Constify return value. + * cppmacro.c (_cpp_create_definition): Update. + * cppmain.c (struct printer): Constify map. + (maybe_print_line): Similarly. + (print_line): Similarly. Deduce flags 1 and 2 here. + (cb_file_change): Update. + * line-map.c (free_line_maps): Warn regardless. + (add_line_map): Return pointer to const. When passed NULL to_file + with LC_LEAVE, use the obvious values for the return point so the + caller doesn't have to figure them out. + (lookup_line): Return pointer to const. + (print_containing_files): Take pointer to const. + * line-map.h (struct line_map): New members reason, sysp. + (add_line_map): Return pointer to const. + (lookup_line): Similarly. + (print_containing_files): Take pointer to const. + +2001-08-10 Roman Zippel + Richard Henderson + + * regmove.c (regmove_optimize): Avoid setting a register twice in + a parallel set. + +2001-08-10 Richard Henderson + + * doc/extend.texi (Arrays and pointers implementation): Document + behavior of pointer/integer conversion. + +2001-08-10 Ulrich Weigand + + * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture. + +2001-08-10 Richard Henderson + + * doc/extend.texi (C Implementation): New chapter. + * doc/gcc.texi (Top): Link it in. + +2001-08-10 Andrew Cagney + + * doc/install.texi (Specific): Fix CVS merge botch. + +2001-08-10 Richard Henderson + + * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with + ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP. + +2001-08-10 Zack Weinberg + + * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY + if not already defined. Remove all #ifdefs on STACK_BOUNDARY; + this macro is now required. + + * cselib.c (cselib_process_insn), flow.c (propagate_block), + loop.c (find_and_verify_loops), reload.c (reload): Check + for rtx code of CALL_INSN, not CALL, when deciding if we + need to check for REG_SETJMP note. + + * gcse.c (compute_hash_table, compute_store_table): Update + the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP + logic. + + * config/avr/avr.c: Fix typo. + * config/convex/convex.c (expand_movstr): Use adjust_address. + * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen + variable. + * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address. + * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h. + Fix typo. + * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?) + Do define STACK_BOUNDARY. + * config/i370/i370.c: Include expr.h. + * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h, + config/pa/som.h, config/v850/v850.h: Take in_ctors and + in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION + and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS. + * config/m88k/m88k.c: Include c-tree.h after expr.h. + * config/pdp11/pdp11.c: Include expr.h and toplev.h. + * config/romp/romp.c: Include expr.h after tree.h. + Include toplev.h. + (output_fpop): Use xmalloc, not oballoc. + * config/we32k/we32k.c: Include expr.h. + +2001-08-10 Kazu Hirata + + * config/h8300/h8300.h: Fix formatting. + +2001-08-08 Jason Merrill + + * c-common.h (RETURN_NULLIFIED_P): Lose. + * c-semantics.c (genrtl_return_stmt): Don't check it. + +2001-08-10 Richard Sandiford + + * config/mips/mips.c (mips_add_large_offset_to_sp): New function. + (mips_annotate_frame_insn): New function. + (mips_emit_frame_related_store): New function. + (save_restore_insns): Don't mark instructions that set up the base + registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to + the store instructions instead. + (mips_expand_prologue): If the stack size is moved into a temporary + register, do not mark that move as frame-related. Add a + REG_FRAME_RELATED_EXPR note to the stack adjustment instruction. + +2001-08-10 Richard Sandiford + + * config/mips/mips.c (save_restore_insns): Don't mark the RA's + stack slot as unchanging if current_function_calls_eh_return. + +2001-08-10 Richard Sandiford + + * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to + access the second half of the TFmode scratch operand. + +2001-08-10 Anthony Green + + * java/class.c (emit_register_classes): Conditionalize code on + JCR_SECTION_NAME. + +2001-08-10 Gerald Pfeifer + + * doc/install.texi (Specific, avr): Fix cross-reference to the + main manual to work both for info and HTML versions. + +2001-08-09 John David Anglin + + * stmt.c (expand_null_return_1): Remove code to generate simple returns + and "use_goto" argument. + (expand_null_return, expand_value_return): Update all callers. + * function.c (expand_function_end): Remove code to generate simple + return. + * config/vax/vax.md (epilogue): New expander for function return. + * doc/md.texi (epilogue): Remove "if defined". + +2001-08-09 Zack Weinberg + + * Makefile.in: Partially revert my previous change: + put -DGENERATOR_FILE back in HOST_CFLAGS, take it out + of the hashtab.o and safe-ctype.o rules. + +2001-08-09 Richard Henderson + + * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses. + (USE_COLLECT2): Remove duplicate definition. + * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h. + (use_collect2): Remove dead code. + * configure.in (use_collect2): Remove will_use_collect2 and + maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines. + * configure: Rebuild. + + * target.h (targetm.asm_out.constructor): New. + (targetm.asm_out.destructor, targetm.have_ctors_dtors): New. + * target-def.h (TARGET_ASM_CONSTRUCTOR): New. + (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New. + * varasm.c (in_ctors, in_dtors): New. + (assemble_constructor, assemble_destructor): Remove. + (default_stabs_asm_out_destructor): New. + (default_named_section_asm_out_destructor): New. + (dtors_section, default_dtor_section_asm_out_destructor): New. + (default_stabs_asm_out_constructor): New. + (default_named_section_asm_out_constructor): New. + (ctors_section, default_ctor_section_asm_out_constructor): New. + * output.h: Update declarations. + * c-decl.c (c_expand_body): Use target hooks instead of + assemble_constructor and assemble_destructor. + * profile.c (output_func_start_profiler): Likewise. + * objc/objc-act.c (finish_objc): Likewise. + (build_module_descriptor): Tidy. Set TREE_PUBLIC properly + for the constructor. + * objc/Make-lang.in (objc-act.o): Depend on TARGET_H. + + * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define. + (DTORS_SECTION_ASM_OP): Likewise. + (__CTOR_LIST__): Use attribute section when possible. + (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise. + + * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on + ASM_OUTPUT_CONSTRUCTOR. + + * config/darwin.c (machopic_asm_out_constructor): New. + (machopic_asm_out_destructor): New. + * config/darwin-protos.h: Update declarations. + * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (ASM_OUTPUT_DESTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. + * config/nextstep.c (nextstep_asm_out_constructor): New. + (nextstep_asm_out_destructor): New. + * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (ASM_OUTPUT_DESTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. + * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of + ASM_OUTPUT_*STRUCTOR. + * config/i386/aix386ng.h: Likewise. + + * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove. + (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors. + (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove. + (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove. + * config/lynx.h: Likewise. + * config/netware.h: Likewise. + * config/psos.h: Likewise. + * config/alpha/alpha-interix.h: Likewise. + * config/alpha/elf.h: Likewise. + * config/arc/arc.h: Likewise. + * config/arm/aof.h: Likewise. + * config/arm/coff.h: Likewise. + * config/arm/elf.h: Likewise. + * config/c4x/c4x.h: Likewise. + * config/h8300/h8300.h: Likewise. + * config/i386/cygwin.h: Likewise. + * config/i386/djgpp.h: Likewise. + * config/i386/i386-coff.h: Likewise. + * config/i386/i386-interix.h: Likewise. + * config/i386/sco5.h: Likewise. + * config/i386/vsta.h: Likewise. + * config/i386/win32.h: Likewise. + * config/i960/i960-coff.h: Likewise. + * config/ia64/sysv4.h: Likewise. + * config/m68hc11/m68hc11.h: Likewise. + * config/m68k/coff.h: Likewise. + * config/m68k/mot3300.h: Likewise. + * config/m88k/m88k.h: Likewise. + * config/mcore/mcore-pe.h: Likewise. + * config/mcore/mcore.h: Likewise. + * config/mips/elf.h: Likewise. + * config/mips/elf64.h: Likewise. + * config/mips/iris6.h: Likewise. + * config/pa/pa64-hpux.h: Likewise. + * config/rs6000/sysv4.h: Likewise. + * config/sh/sh.h: Likewise. + * config/sparc/litecoff.h: Likewise. + + * config/svr3.h (CTORS_SECTION_ASM_OP): Remove. + (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove. + (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove. + * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (ASM_OUTPUT_DESTRUCTOR): Remove. + * config/a29k/a29k.c: Move include of tree.h. + * config/a29k/udi.h: Delete file. + * config/alpha/alpha.c (vms_asm_out_constructor): New. + (vms_asm_out_destructor): New. + * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors. + (EXTRA_SECTION_FUNCTIONS): Likewise. + (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. + * config/c4x/c4x.c: Move include of tree.h. + * config/clipper/clipper.c (clix_asm_out_constructor): New. + (clix_asm_out_destructor): New. + * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (ASM_OUTPUT_DESTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. + * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR): New. + * config/i386/i386.c (ix86_svr3_asm_out_constructor): New. + (sco_asm_out_constructor): New. + * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New. + * config/i386/svr3gas.h: Remove stack grows up code. + Remove code duplicated from i386/sysv3.h. + (TARGET_ASM_CONSTRUCTOR): New. + (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove. + (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove. + * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR): New. + * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New. + (m68hc11_asm_out_destructor): New. + * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New. + (TARGET_ASM_DESTRUCTOR): New. + * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR. + * config/m68k/dpx2.h: Properly undef all the bits inherited from + config/svr3.h pertaining to section manipulation. + * config/m68k/dpx2g.h: Remove #if 0 code. + * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New. + * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo. + (ASM_OUTPUT_CONSTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR): New. + * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local. + (m88k_svr3_asm_out_constructor): New. + (m88k_svr3_asm_out_destructor): New. + * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (ASM_OUTPUT_DESTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. + * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code. + * config/rs6000/aix.h: Likewise. + * config/mips/rtems64.h: Don't undef removed constructor related bits. + * config/mips/vxworks.h: Likewise. + * config/rs6000/lynx.h: Likewise. + * config/sh/elf.h: Likewise. + * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New. + (DTORS_SECTION_ASM_OP): New. + * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (ASM_OUTPUT_DESTRUCTOR): Remove. + * config/sparc/sol2-sld-64.h: Likewise. + * config/vax/vax.c (vms_asm_out_constructor): New. + (vms_asm_out_destructor): New. + * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove. + (ASM_OUTPUT_DESTRUCTOR): Remove. + (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New. + + * doc/tm.texi (@node Initialization): Update. + +2001-08-09 Richard Henderson + + * config/alpha/crtbegin.asm (__JCR_LIST__): New. + (__do_global_dtors_aux): Use gp-relative static data to avoid + one dynamic relocation. + (__do_frame_setup): Register Java classes. + * config/alpha/crtend.asm (__JCR_END__): New. + +2001-08-09 Zack Weinberg + + * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE. + (CONFIG_H, TCONFIG_H, TM_P_H): Update. + (GEN, STAGESTUFF): Add new files. + (insn-constants.h, s-constants, tm-preds.h, s-preds, + genconstants, genpreds, genconstants.o, genpreds.o): New rules. + (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE. + * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h + as well as insn-codes.h and insn-flags.h in config.h; and no + extra headers in tconfig.h and hconfig.h. + + * gencodes.c: Eliminate code to generate predicate declarations + or #defines for md-file constants. + * genconstants.c, genpreds.c: New files. + + * i386.md: Re-order guard expressions such that TARGET_64BIT + comes first, when this permits better optimization. Add + TARGET_64BIT to more x86-64 patterns. Add comment explaining + why this is desirable. + +2001-08-09 Jakub Jelinek + + * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers. + (find_fde_for_dso): Remove. + (_Unwind_IteratePhdrCallback): New. + (_Unwind_FindTableEntry): Use dl_iterate_phdr. + * config/ia64/crtbegin.asm (__ia64_app_header): Remove. + +Thu Aug 9 11:30:20 2001 Richard Kenner + + * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING. + (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING. + +2001-08-09 Graham Stott + + * sched-vis.c (MAX_VISUAL_NO_UNIT): Define. + (vis_no_unit): Use it. + (visualize_no_unit): Add the insn only if room exists. + +2001-08-09 Graham Stott + + * predict.c (estimate_probability): Replace magic numbers with + appropriate enumeration. + +2001-08-09 Graham Stott + + * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro + parameter. + (EXTRACT_FLAGS): Likewise. + +2001-08-09 Aldy Hernandez + + * config/mips/mips.c (mips_legitimate_address_p): Check for + CONST_INT in last patch. + +2001-08-08 Anthony Green + + * java/class.c (emit_register_classes): Use assemble_jcr if + possible. Keep the original mechanism as a fallback. + * defaults.h (JCR_SECTION_NAME): Define if we have named section + and weak symbol support. + * crtstuff.c (__JCR_LIST__): Define. + (__JCR_END__): Define. + (_Jv_RegiserClasses): Define weak symbol if possible. + (__do_global_ctors_aux): Register classes for ELF targets with + weak symbol support. + +2001-08-08 Kazu Hirata + + * dbxout.c: Fix comment formatting. + * dependence.c: Likewise. + * df.c: Likewise. + * diagnostic.c: Likewise. + * dominance.c: Likewise. + * doprint.c: Likewise. + * dwarf2out.c: Likewise. + * dwarfout.c: Likewise. + * emit-rtl.c: Likewise. + * except.c: Likewise. + * explow.c: Likewise. + * expmed.c: Likewise. + * expr.c: Likewise. + * flow.c: Likewise. + * fold-const.c: Likewise. + * function.c: Likewise. + +2001-08-08 Franz Sirl + + * global.c (retry_global_alloc): Avoid shadowing allocno. + +2001-08-08 Mark Mitchell + + * except.c (remove_fixup_regions): Fix typo. + +2001-08-08 Jan van Male + + * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to + unsigned HOST_WIDE_INT to avoid warning. + * final.c (final): Cast INSN_UID to unsigned to avoid warning. + * flow.c (set_block_for_new_insns): Likewise. + +Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka + + * sibcall.c (return_value_pseudo): New static variable. + (skip_copy_to_return_value): Handle return_value_pseudo. + (call_ends_block_p): Ensure that return_value_pseudo is set. + (optimize_sibling_and_tail_recursive_call): Discover the + load of pseudo return value in alternate exit block. + +Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka + + * calls.c (ECF_ALWAYS_RETURN): New constant. + (emit_call_1): Add REG_ALWAYS_RETURN note if needed. + (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func. + (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN. + * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN. + * rtl.c (reg_note_name): New name. + * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN. + +2001-08-07 Aldy Hernandez + + * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses. + +2001-08-08 Jason Merrill + + * alias.c (get_alias_set): Return a previously calculated + alias set for a VAR_DECL. + * function.c (gen_mem_addressof): Calculate the alias set before + touching the RTL. + +Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka + + * predict.def: Set hitrates according our experimental run. + +Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka + + * i386.h (HARD_REGNO_RENAME_OK): New macro. + +2001-08-08 H.J. Lu + + * config/mips/mips.c (mips_unique_section): New. Copied from + config/mips/elf.h. + + * config/mips/mips-protos.h (mips_unique_section): New + prototype. + + * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section. + + * config/mips/little.h: New. Generic little endian mips + targets. Only mips*-*-linux* is converted to use it so far. + + * config/mips/linux.h: Include "gofast.h" and "mips/mips.h". + (WCHAR_TYPE): Defined + (WCHAR_TYPE_SIZE): Likewise. + (INIT_SUBTARGET_OPTABS): Likewise. + (BSS_SECTION_ASM_OP): Likewise. + (SBSS_SECTION_ASM_OP): Likewise. + (ASM_OUTPUT_ALIGNED_BSS): Likewise. + (ASM_DECLARE_OBJECT_NAME): Likewise. + (UNIQUE_SECTION): Likewise. + (EXTRA_SECTIONS): Likewise. + (ASM_OUTPUT_CONSTRUCTOR): Likewise. + (ASM_OUTPUT_DESTRUCTOR): Likewise. + (ASM_OUTPUT_DEF): Likewise. + (HANDLE_SYSV_PRAGMA): Removed. + (NO_IMPLICIT_EXTERN_C): Likewise. + (TARGET_MEM_FUNCTIONS): Likewise. + (STARTFILE_SPEC): Likewise. + (ENDFILE_SPEC): Likewise. + (LIB_SPEC): Likewise. + (INVOKE__main): Likewise. + (CTOR_LIST_BEGIN): Likewise. + (CTOR_LIST_END): Likewise. + (DTOR_LIST_BEGIN): Likewise. + (DTOR_LIST_END): Likewise. + (SET_ASM_OP): Likewise. + (ASM_OUTPUT_SOURCE_LINE): Likewise. + (ASM_OUTPUT_DEF): Likewise. + (ASM_OUTPUT_IDENT): Likewise. + + * config/mips/mips.h (ASM_SPEC): Undefine before define. + (CPLUSPLUS_CPP_SPEC): Likewise. + (ASM_APP_ON) Redefine only if not defined. + (ASM_APP_OFF): Likewise. + (ASM_OUTPUT_SOURCE_LINE): Likewise. + (ASM_OUTPUT_IDENT): Likewise. + + * config.gcc: Update tm_file for Linux/mips. + +2001-08-08 Bernd Schmidt + + * cselib.c (cselib_record_sets): If insn is predicated, turn + sources into IF_THEN_ELSEs. + + * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b): + Turn into define_insn_and_split. + + * sched-deps.c: Include "cselib.h". + (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2): + Use cselib to turn memory addresses into VALUEs. + (sched_analyze): Call cselib_init/cselib_finish if necessary. + * sched-int.h (struct sched_info): New member USE_CSELIB. + * sched-ebb.c (ebb_sched_info): Initialize it. + * sched-rgn.c (rgn_sched_info): Likewise. + * Makefile.in (sched-deps.o): Update dependencies. + + * cselib.h (cselib_subst_to_values): Declare. + * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs + that have no value and autoincs to be handled by generating a new + dummy value. + +2001-08-08 Graham Stott + + * final.c (shorten_branches): Update the INSN_ADDRESSES of insns + within fixed length SEQUENCE. + +2001-08-08 Graham Stott + + * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter. + (diagnostic_prefixing_rule): Likewise. + (diagnostic_line_cutoff): Likewise. + (diagnostic_kind_count): Likewise. + +2001-08-08 Graham Stott + + * alias.c (find_base_decl): Delete redundent assignment. + +2001-08-08 Graham Stott + + * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter. + (abs): Uppercase and paranthesize macro parameter. + (MEM_DEPENDENCY): Add whitespace. + +2001-08-08 Graham Stott + + * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking + failure check for CONST_INT + +2001-08-08 Graham Stott + + * flow.c (back_edge_of_syntactic_loop_p): Add whitespace. + (libcall_dead_p): Likewise. + + (mark_used_regs): Constify fmt. + (find_use_as_address): Likewise. + +2001-08-08 Graham Stott + + * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro + parameter. + +2001-08-08 Graham Stott + + * combine.c (combine_simplify_rtx): Update comment and + remove erroneous test. + +2001-08-07 Neil Booth + + * cppinit.c (cpp_finish): Pop the final buffer without comment. + * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and + take care to avoid multiple no-newline at EOF warnings in that + case. + +Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka + + * calls.c (expand_call): Do not emit INSN_SETJMP note. + (emit_library_call_value_1): Likewise. + (emit_call_1): Emit REG_SETJMP note. + * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead + of INSN_SETJMP + * cselib.c (cselib_process_insn): Likewise. + * flow.c (propagate_block): Likewise. + * loop.c (find_and_verify_loops): Likewise. + * reload.c (find_equiv_regs): Likewise. + * reload1.c (reload): Likewise. + * resource.c (mark_referenced_resources, + mark_set_resources): Likewise. + * sched-deps (sched_analyze_insn, sched_analyze): Likewise. + * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP. + * haifa-sched.c (unlink_other_notes): Likewise. + (reemit_notes): Likewise. + * sched-ebb.c (sched_ebb): Likewise. + * sched-rgc.c (sched_region): Likewise. + * rtl.c (note_insn_name): Likewise. + (reg_note_name): Add REG_SETJMP + * rtl.h (reg_note): Add REG_SETJMP. + (insn_note): Remove NOTE_INSN_SETJMP. + + * profile.c (branch_prob): Add fake edges for setjmp. + +2001-08-07 Daniel Jacobowitz + + * config.gcc: Quote target_cpu_default2 correctly for + powerpc*-*-* targets. + +2001-08-07 Neil Booth + + * cpplib.h, line-map.h: Update comments. + * cppmain.c (printer_init): Move inline. + (maybe_print_line, print_line): Take a map pointer. + (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update. + (cb_file_change): Don't use prior value of print.map. + +2001-08-07 David Edelsohn + + * doc/install.texi: Document fine-grained multilib configuration. + +Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka + + * rtlanal.c (find_first_parameter_load): Call note_stores + only on the instructions. + +Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka + + * alias.c (nonlocal_mentioned_p): + Rename CONST_CALL_P to CONST_OR_PURE_CALL_P + * calls.c (emit_call_1): Likewise. + * cse.c (cse_insn, invalidate_skipped_block): Likewise. + * cselib.c (cselib_process_insn): Likewise. + * df.c (df_insns_modify): Likewise. + * flow.c (need_fake_edge_p): Likewise. + (propagate_one_insn): Likewise. + * haifa-sched.c (reemit_notes): Likewise. + * integrate.c (copy_insn_list): Likewise. + * jump.c (delete_prior_computation): Likewise. + * local-alloc.c (validate_equiv_mem): Likewise. + * loop.c (scan_loop): Likewise. + * predict.c (estimate_probability): Likewise. + * reload.c (reload): Likewise. + * sched-deps (sched_analyze): Likewise. + * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P. + * gcse.c (compute_hash_table): Likewise. + (mark_call): Likewise. + (store_killed_in_insn): Likewise. + +2001-08-07 Jason Merrill + + * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P. + +2001-08-06 Richard Henderson + + * varasm.c (assemble_gc_entry): Remove. + * output.h: Likewise. + +2001-08-06 Richard Henderson + + * varasm.c (assemble_constructor): Take a symbol_ref and a + priority instead of a bare string. Move priority handling + here from cp/decl2.c. + * output.h: Update decls. + + * c-decl.c (c_expand_body): Update calls to assemble_constructor + and assemble_destructor. + * profile.c (output_func_start_profiler): Likewise. + * objc/objc-act.c (finish_objc): Likewise. + (build_module_descriptor): Return the symbol not the symbol name. + +2001-08-06 David Edelsohn + + * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace. + * config/rs6000/linux64.h (RS6000_MCOUNT): Define. + ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define. + * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace. + * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace. + * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace. + +2001-08-06 Neil Booth + + * cpperror.c (print_containing_files): Moved to line-map.c. + (print_location): line-map.c handles re-listing or otherwise. + * cpphash.h (struct lexer_state): Remove next_bol. + (struct cpp_buffer): Remove include_stack_listed. + * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer): + Remove faked buffer handling. + (_cpp_do_file_change): Tweak. + * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE. + * cppmain.c (struct printer): Remove filename. + (print_line, cb_file_change): Update accordingly. + * line-map.c: Include intl.h. + (init_line_maps): Initialize last_listed. + (free_line_maps): Sanity check, warn if ENABLED_CHECKING. + (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING. + (print_containing_files): New. + * line-map.h (struct line_maps): New member last_listed. + (print_containing_files, INCLUDED_FROM): New. + * Makefile.in: Update. + * po/POTFILES.in: Add line-map.c. + +2001-08-06 Richard Henderson + + * except.c (convert_from_eh_region_ranges_1): Never mark + USE or CLOBBER insns as throwing. + + * expr.c (store_constructor): Don't clobber memory targets. + +2001-08-06 Andreas Jaeger + + * profile.c (branch_prob): Remove unused variable insn. + + * Makefile.in (local-alloc.o): Add dependency on except.h. + + * local-alloc.c: Include except.h for can_throw_internal prototype. + +2001-08-06 Richard Henderson + + * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New. + * function.c (expand_main_function): Implement it. + * doc/tm.texi: Document it. + +2001-08-06 Stan Shebs + + * doc/install.texi: Document powerpc-*-darwin* details. + +2001-08-06 Daniel Berlin + + * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h + (ASM_CPU_SPEC): Move back to rs6000.h + #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them. + + * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro. + + * config/rs6000/linux.h: Remove vtable thunks stuff we accidently + readded. + + * config/rs6000/linux64.h: Ditto. + + * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back + to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to + nothing. + + Remove accidently readded definitions of FUNCTION_PROLOGUE, + FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN + + * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back + to rs6000.h + +2001-08-05 Richard Henderson + + * local-alloc.c (update_equiv_regs): Do not move insns that + can throw. + +2001-08-05 Jan Hubicka + + * Makefile.in (reload1.o): Add dedendancy on except.h + * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update + prototypes. + * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool + indicating wehther edges has been cleaned up. + * reload1.c: Inlucde except.h + (fixup_abnormal_edges): Accept deleted insns. + * toplev.c (rest_of_compilation): Purge dead edges unconditionally + after combine. + +2001-08-06 Neil Booth + + * cpplib.c (do_line): Correct line number after pop_buffer. + +2001-08-05 Neil Booth + + PR preprocessor/3824 + * line-map.c: Update comments. + * line-map.h: Update comments. + * tradcif.y: Don't consider large numbers unsigned. + +2001-08-05 Neil Booth + + PR preprocessor/3081 + * c-lex.c (map): New. + (cb_file_change): Update map and use it. + (cb_def_pragma, cb_define, cb_undef): Use map and line. + (c_lex): Update to use map. + * cpperror.c (print_location): Move to using logical line numbers. + * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change. + (cpp_make_system_header): Similarly. + (_cpp_execute_include): Stop line numbering hacks. Store the + line we will return to. + * cpphash.h (CPP_BUF_LINE): Remove. + (struct cpp_buffer): Remove lineno and pseudo_newlines. + Add map and return_to_line. + (_cpp_do_file_change): Update. + * cppinit.c (cpp_start_read): Update line kludge. + * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines. + (trigraph_ok): Use logical line numbers for diagnostics. + (skip_block_comment): Likewise. + (skip_whitespace): Likewise. + (skip_line_comment): Use pfile->line instead. + (_cpp_lex_token): Update to use logical line numbering exclusively. + Handle BOL locally. Accept new lines in directives, but keep + pfile->line decremented. Diagnostics use logical lines. Update + directive handling. + * cpplib.c (SEEN_EOL): New. + (skip_rest_of_line, check_eol): Use it. + (end_directive): Increase line number when accepting the newline + at the end of a directive. + (run_directive): Simplify. + (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update. + (_cpp_do_file_change): Update to take buffer line number as an + argument, and store the current map in the cpp_reader. Remove + line number kludges. + (_cpp_do__Pragma): Restore output position after a _Pragma. + (cpp_push_buffer): Don't set output line or lineno. + (_cpp_pop_buffer): Transfer more info from a faked buffer. + Remove line kludge. Set output_line. + * cppmacro.c (builtin_macro): Update handling of __LINE__. + (parse_arg): Use logical lines. + (save_lookahead_token): Save EOFs too now. + * cppmain.c (struct printer): Fix comments. + (printer_init): Simplify, let caller do errors. + (scan_translation_unit, check_multiline_token, dump_macro): Update. + (maybe_print_line): Simplify. + (print_line): Don't print a linemarker if -P. + (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update. + (cb_file_change): Simplify. + * line-map.h (LAST_SOURCE_LINE): Fix. + (CURRENT_LINE_MAP): New. + +2001-08-05 Bernd Schmidt + + * doloop.c (doloop_modify_runtime): Properly compute number of + iterations if loop was unrolled. + + * alias.c (rtx_equal_for_memref_p): VALUEs are only identical + if their CSELIB_VAL_PTRs are. + + * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn. + (setup_spill_pointers): Initialize it. + (spill_restore_mem): Set it. + (do_spill, do_restore): Use it to add REG_INC note. + * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed. + + * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of + asms if other insns are available. + + * config/ia64/ia64.c (condop_operator): New predicate. + * config/ia64/ia64.h (PREDICATE_CODES): Add it. + * config/ia64/ia64.md (cond_opsi2_internal and splitters): New + patterns. + + * expr.c (expand_expr, case COND_EXPR): Prefer working with a + temporary register than directly using a MEM. + +2001-08-04 Hans-Peter Nilsson + + * config/sh/sh.c (sh_asm_named_section): Fix typo in align + parameter in last change. + +2001-08-04 Zack Weinberg + + * sparc.md: Don't use #if inside C test expression. + +2001-08-04 Richard Henderson + + * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack. + +2001-08-04 Neil Booth + + * cpphash.h (struct cpp_reader): New member directive_line. + * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks. + * cpplib.c (do_define, do_undef, do_ident, do_include_common, + do_pragma): Pass line to callbacks. + (start_directive): Record line of directive. + * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma, + cb_include): Similarly. + * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma): + Similarly. + +2001-08-04 Hans-Peter Nilsson + + * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION + comment. + +Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka + + * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes. + + * reload1.c (fixup_abnormal_edges): New static function. + (reload): Use it. + + * flow.c (need_fake_edge_p): New function. + (flow_call_edges_add): Fix handling of noreturn and sibling calls; + avoid call insn to be very last insn in the insn stream. + + * profile.c (branch_prob): Call flow_call_edges_add instead of + doing that by hand; cleanup cfg to re-merge basic blocks once + we are done. + +2001-08-04 Neil Booth + + * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h + are also on line-map.h. + * cppfiles.c (stack_include_file): Update. + * cpphash.h (struct cpp_buffer): New member return_at_eof. + (_cpp_pop_buffer): New. + * cppinit.c (cpp_destroy, cpp_finish): Update. + (do_includes): Mark each buffer to return at EOF. + * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or + return as requested. + * cpplib.c (run_directive, do_line, cpp_push_buffer): Update. + (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping. + * cpplib.h (cpp_pop_buffer): Remove. + (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput. + * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop + buffers. + * cppmain.c (scan_buffer): Rename scan_translation_unit. No need + to pop buffers. + (do_preprocessing): Update. + * fix-header.c (read_scan_file): Update. No need to pop buffers. + * c-parse.in (_yylex): Similarly. + * scan-decls.c (scan_decls): Similarly. + * line-map.h: Update comments. + + * objc/Make-lang.in (objc-act.o): Update dependencies. + +2001-08-04 Stephane Carrez + + * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory + and soft register for operand 0. + ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0. + +2001-08-04 Stephane Carrez + + * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft + register for operand 0. + ("bitcmpqi_z_used"): Allow memory for operand 0. + (split "bitcmpqi"): New split to handle address reg as operand 1. + +2001-08-04 Andreas Jaeger + + * gcse.c: Revert Daniel's last patch. + +2001-08-03 Zack Weinberg + + * sparc-protos.h: Add prototypes for fp_zero_operand and + reg_or_0_operand. + * sh-protos.h: Add prototype for fpul_operand. + +2001-08-04 Hans-Peter Nilsson + + * doc/extend.texi (Other Builtins): Fix typo in last change. + +2001-08-03 Richard Henderson + + * target.h (gcc_target): Add asm_out.named_section, + section_type_flags, have_named_sections. + * target-def.h (TARGET_ASM_NAMED_SECTION): New. + (TARGET_HAVE_NAMED_SECTIONS): New. + (TARGET_SECTION_TYPE_FLAGS): New. + + * Makefile.in (toplev.o): Depend on TARGET_H. + (varasm.o, dbxout.o): Likewise. + * c-common.c (decl_attributes): Check targetm.have_named_sections + instead of ifdef ASM_OUTPUT_SECTION_NAME. + * dbxout.c (dbxout_function_decl): Likewise. + (dbxout_function_end): Likewise. + * toplev.c (compile_file): Likewise. + * varasm.c (exception_section): Likewise. + * cp/decl2.c (finish_objects): Likewise. + + * defaults.h (EH_FRAME_SECTION): Remove. + (EH_FRAME_SECTION_ASM_OP): Remove. + (EH_FRAME_SECTION_NAME): New. + (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME. + (UNIQUE_SECTION_P): Remove. + * dwarf2out.c (SECTION_FORMAT): Remove. + (ASM_OUTPUT_SECTION): Remove. + (output_call_frame_info): Use named_section_flags. + (output_comp_unit, dwarf2out_start_source_file): Likewise. + (dwarf2out_end_source_file, dwarf2out_define): Likewise. + (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise. + * varasm.c (in_eh_frame, eh_frame_section): Remove. + (named_section_flags): New. + (named_section): Use it and targetm.section_type_flags. + (resolve_unique_section): New. + (assemble_start_function): Use it. + (asm_emit_uninitialised, assemble_variable): Likewise. + (default_section_type_flags): New. + (default_no_named_section, default_elf_asm_named_section): New. + (default_coff_asm_named_section, default_pe_asm_named_section): New. + * output.h: Update varasm.c decls. + (SECTION_*): New flags. + + * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP. + (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section. + + * config/elfos.h (UNIQUE_SECTION_P): Remove. + * config/alpha/elf.h, config/arm/linux-elf.h: Likewise. + * config/arm/pe.h, config/arm/unknown-elf.h: Likewise. + * config/i386/cygwin.h, config/i386/djgpp.h: Likewise. + * config/i386/i386-interix.h, config/i386/win32.h: Likewise. + * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise. + * config/mips/elf.h, config/mips/elf64.h: Likewise. + * config/mips/iris6gld.h, config/mips/mips.h: Likewise. + * config/pa/pa64-hpux.h, + + * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove. + (TARGET_ASM_NAMED_SECTION): New. + * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise. + * config/alpha/vms.h, config/arm/coff.h: Likewise. + * config/arm/conix-elf.h, config/arm/elf.h: Likewise. + * config/arm/linux-elf.h, config/arm/pe.h: Likewise. + * config/arm/unknown-elf.h, config/avr/avr.h: Likewise. + * config/c4x/c4x.h, config/h8300/h8300.h: Likewise. + * config/i386/cygwin.h, config/i386/djgpp.h: Likewise. + * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise. + * config/i386/sco5.h, config/i386/win32.h: Likewise. + * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise. + * config/mcore/mcore.h, config/mips/elf.h: Likewise. + * config/mips/elf64.h, config/mips/iris6.h: Likewise. + * config/mips/netbsd.h, config/mips/openbsd.h: Likewise. + * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise. + * config/rs6000/xcoff.h, config/sh/sh.h: Likewise. + * config/sparc/sysv4.h: Likewise. + + * config/nextstep.h: Error until named sections implemented. + + * config/a29k/a29k.c (a29k_asm_named_section): New. + * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New. + (vms_section_type_flags, vms_asm_named_section): New. + * config/arm/arm.c (arm_elf_asm_named_section): New. + * config/avr/avr.c (asm_output_section_name): Remove. + * config/avr/avr-protos.h: Update. + * config/c4x/c4x.c (c4x_asm_named_section): New. + * config/h8300/h8300.c (h8300_asm_named_section): New. + * config/i386/i386.c (sco_asm_named_section): New. + * config/i386/winnt.c (SECTION_PE_SHARED): New. + (i386_pe_section_type_flags): New. + (i386_pe_asm_named_section): New. + * config/i386/i386-protos.h: Update. + * config/m68k/m68k.c (m68k_coff_asm_named_section): New. + * config/mcore/mcore.c (mcore_asm_named_section): New. + * config/mips/mips.c (iris6_asm_named_section): New. + * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY + instead of UNIQUE_SECTION_P. + * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New. + (xcoff_asm_named_section): New. + * config/sh/sh.c (sh_asm_named_section): New. + * config/sparc/sparc.c (sparc_elf_asm_named_section): New. + + * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove. + * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove. + (EH_FRAME_SECTION_NAME): New. + (EXCEPTION_SECTION): New. + * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove. + (DEBUG_*_SECTION): Remove. + * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove. + * config/mips/iris6.h (DEBUG_*_SECTION): Remove. + (EH_FRAME_SECTION_ASM_OP): Remove. + + * doc/tm.texi (UNIQUE_SECTION_P): Remove. + (ASM_OUTPUT_SECTION_NAME): Remove. + (TARGET_ASM_NAMED_SECTION): New. + (TARGET_HAVE_NAMED_SECTIONS): New. + (TARGET_SECTION_TYPE_FLAGS): New. + (EH_FRAME_SECTION_ASM_OP): Remove. + (EH_FRAME_SECTION_NAME): New. + +2001-08-03 Zack Weinberg + + * builtins.c (fold_builtin_constant_p): Return integer_zero_node + for complex expressions when cfun == 0. + * doc/extend.texi: Document that __builtin_constant_p can be + used in data initializers as well as functions. + +2001-08-03 Alexandre Oliva + + * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare + variable I locally, instead of expecting a declaration in the + calling context. + +2001-08-03 Richard Henderson + + * except.c (collect_one_action_chain): Add an explicit cleanup + action if regions surrounding a catch were encoded entirely + within the call-site entry. + +2001-08-03 Richard Henderson + + * dbxout.c (dbxout_symbol_location): Flatten subregs first; + don't take REGNO of a non-register. + +2001-08-03 John David Anglin + + * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and + __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization. + (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1 + (__gthread_mutex_init_function): New function for mutex initialization. + +2001-08-03 Daniel Berlin + + * Makefile.in: Revert screwed up commit. + +2001-08-03 Stephane Carrez + + * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor. + * config/m68hc11/larith.asm (_exit): Split in several sub-sections + merged by linker script to get a final _exit(). + (__do_global_dtors): New for destructor handling in specific exit + section. + (__do_global_ctors): New for constructors in specific install section. + (__map_data_section): Map data sections before running constructors. + * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word. + (CTORS_SECTION_ASM_OP): Define to put in readonly section. + (DTORS_SECTION_ASM_OP): Likewise. + (CTORS_SECTION_FUNCTION): Define to force a reference to + __do_global_ctors. + (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors. + +2001-08-03 Daniel Berlin + + * ChangeLog: Fix date on previous ChangeLog entry for GCSE. + + * Makefile.in: Add df.h to gcse.c dependencies. + +2001-08-03 John David Anglin + + * varasm.c (output_constant_def_contents): Use for the length of a + string constant either its TREE_STRING_LENGTH or its int_size_in_bytes + depending on which is larger. + +2001-08-03 Daniel Berlin + + * gcse.c: Include df.h for use as a dataflow analyzer. + Remove regvec. + Declaration of reg_set_info: gone. + New df_analyzer variable used by store motion. + (reg_set_info): Deleted. + (mark_mem_regs): New function, analyze regs used by a mem. + (store_ops_ok): Use dataflow analyzer results to determine if + necessary regs are changed in the block. + (find_moveable_store): Remove check for symbol ref, we can handle + much more complex expressions now. + (compute_store_table): Remove most of the code, it's unnecessary + now that the dataflow analyzer records the info for us. + (store_killed_after): Add parameter to say whether to do the + store_ops_okay test, used to speed up testing when we already know + the answer, and just want to know if the store itself was killed. + (build_store_vector): Largely rewritten to calculate the various + vectors properly, and somewhat optimized. + (store_motion): Init the df_analyzer, get REG_DEF chains. + Also handle trapping expressions (since mems almost always trap) + (simple_mem): Redefine what a simple mem is. + +2001-08-03 DJ Delorie + + * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary + set from a constant part of the condition. + +2001-08-01 Andrew Cagney + + * mkdeps.c (deps_add_default_target): Make local variable + ``start'' a const char pointer. + * dwarf2out.c (compute_section_prefix): Localize use of ``p''. + +2001-08-03 Rainer Orth + + * doc/install.texi (Configuration): Fix markup. + (Specific, i?86-*-udk): Likewise. + (Specific, alpha*-dec-osf*): Warn against --with-gnu-as, + --with-gnu-ld. + Document --enable-threads and --enable-libgcj status. + (Specific, mips-sgi-irix*): Canonicalize triples. + (Specific, mips-sgi-irix5): Warn about problems with this config. + Mention required GNU as patch. + Native assembler problems are fixed. + (Specific, mips-sgi-irix6): Update O32 ABI support status. + Document --enable-threads and --enable-libgcj status. + +2001-08-02 Nick Clifton + + * Makefile.in, mklibgcc.in: Restore changes with fixed invocation + of mkinstalldirs. + +2001-08-03 Richard Henderson + + * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to + constant data. + +2001-08-03 Richard Henderson + + * rtlanal.c (find_first_parameter_load): Stop if we + reach a CODE_LABEL at BOUNDARY. + +2001-08-03 Richard Henderson + + * config/alpha/alpha.md (force_movdi): New insn. + * config/alpha/alpha.c (alpha_expand_prologue): Use it. + Tweek FRP marking of VMS prologue insns. + * config/alpha/vms.h (EPILOGUE_USES): New. + +2001-08-02 Richard Henderson + + * Makefile.in, mklibgcc.in: Revert mkinstalldirs change. + +2001-08-02 Lars Brinkhoff + + * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c, + simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h, + config/convex/convex.h, config/d30v/d30v.c, + config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, + config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c, + config/mips/mips.h, config/mn10200/mn10200.h, + config/mn10300/mn10300.h, config/pdp11/pdp11.md, + config/v850/v850.h, config/vax/openbsd.h, + config/vax/openbsd1.h, config/vax/ultrix.h, + config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h, + config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h, + cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi, + doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi, + doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX" + in comments and documentation. + +2001-08-03 Neil Booth + + * line-map.c: New. + * line-map.h: New. + * Makefile.in (line-map.o): New. + (LIBCPP_OBJS, LIBCPP_DEPS): Update. + * c-lex.c (cb_file_change): Update for new cpp_file_change structure. + * cpperror.c (print_containing_files): Similarly. + (print_location): Update. Don't output a space before _Pragma. + * cppfiles.c (stack_include_file): Set to line 1 immediately. + (stack_include_filee, cpp_make_system_header): Update. + (_cpp_execute_include): Get logical line number right for calling + as-yet-unterminated #include. + * cpphash.h (struct cpp_reader): Add line_maps. + (_cpp_do_file_change): Update. + * cppinit.c (cpp_create_reader): Initialize line maps. + (cpp_destroy): Destroy line maps. + (cpp_start_read): Get logical line number right. + * cpplex.c (parse_string): Only warn once for multi-line strings. + Use boolean variable for null warning. + * cpplib.c (_cpp_handle_directive): End the directive if it isn't + already. + (do_include_common): End the directive early. + (do_line): Don't warn about out-of-range lines in preprocessed + source. Update. Remove unused variables. + (_cpp_do_file_change): Update for new line mapping. + (pragma_cb): New typedef. + (cpp_register_pragma): Stop looking ahead before calling the + handler. Clean up. + (do_pragma_system_header): End directive early. + (cpp_get_line_maps): New. + (cpp_pop_buffer): Fudge logical line. Update. + * cpplib.h: Include line-map.h + (enum cpp_fc_reason): Remove. + (struct cpp_file_change): Update. + (cpp_get_line_maps): New. + * cppmain.c (struct_printer): New member map. + (cb_file_change): Update for new mappings. + * fix-header.c (cb_file_change): Similarly. + +2001-08-02 Nick Clifton + + * Makefile.in (libgcc.mk): Define mkinstalldirs. + * mklibgcc.in: Use mkinstalldirs instead of mkdir. + +2001-08-02 Lars Brinkhoff + + * config/vax/vax.c: include expr.h. + +2001-08-02 Nick Clifton + + * Makefile.in ($(srcdir)/configure): Only rebuild in + maintainer mode. + ($(srcdir)/config.in): Only define in maintainer mode. + ($(srcdir)/cstamp-h.in): Only define in maintainer mode. + +2001-08-02 David Edelsohn + + * doc/install.texi (Install GCC: Binaries): Update Bull info. + +2001-08-02 Rainer Orth + + * gcc.c (set_collect_gcc_options): New function, split out from + main. + Ignore elided switches. + (do_spec_1): Invoke before executing command. + (set_input): Export. + Move declaration ... + * gcc.h (set_input): ... here. + * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input + file. + +2001-08-02 Nathan Sidwell + + Kill -fhonor-std. + * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std + interaction. + * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std. + +2001-08-02 Richard Sandiford + + * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise + for the unnamed instructions it expands to. + +2001-08-02 Richard Henderson + + * regclass.c (call_really_used_regs): Conditionally define. + (init_reg_sets_1): Don't use it if not defined. + (fix_register): Similarly, don't set it. + +2001-08-01 Gerald Pfeifer + + * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600. + Correct comment that had been missed in the previous change. + +2001-08-01 Stan Shebs + + * config/darwin.c (machopic_stub_name): Try matching by name. + (update_stubs): New function. + (darwin_encode_section_info): Call it and update_non_lazy_ptrs + unconditionally. + +2001-08-01 Richard Henderson + + * except.c (output_function_exception_table): Use assemble_align. + * varasm.c (assemble_eh_label): Remove. + (assemble_eh_align, assemble_eh_integer): Remove. + +2001-08-01 Robert Lipe + + * dwarfout.c: Remove reference to README.DWARF. + +2001-08-01 Andrew MacLeod + + * regclass.c (call_really_used_regs): New array for registers which + are actually used by a call. + (init_reg_sets_1): Initialize regs_invalidated_by_call with the + new array. + (fix_register): Set call_really_used too. + * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize. + * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document. + +2001-08-01 Richard Henderson + + * read-rtl.c (read_name): Consider \r whitespace. + +2001-07-11 Andrew Cagney + + * config.gcc: Recognize powerpc-*-netbsd*. + + * doc/install.texi (Host/target specific installation notes for + GCC): Mention powerpc-*-netbsd*. + + * config/rs6000/netbsd.h: New file. + (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine. + (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine. + (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine. + (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine. + (TARGET_VERSION): Redefine. + + * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize + mcall-netbsd as a match for mcall-sysv. + (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext). + (ncrti.S, ncrtn.S): New targets. + ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets. + + * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize + "netbsd' as a V4 ABI. + (ASM_SPEC): Check for -mcall-netbsd. + (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto. + (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto. + (LIB_SPEC, ENDFILE_SPEC): Ditto. + (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define. + (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define. + (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define. + (SUBTARGET_EXTRA_SPECS): Add NetBSD specs. + + * doc/invoke.texi (Option Summary): Add -mcall-netbsd. + (RS/6000 and PowerPC Options): Mention -mcall-netbsd. + +2001-08-01 Mark Kettenis + + * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define + only if NO_BASE_OF_ENCODED_VALUE isn't defined. + * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before + including "unwind-pe.h". + +Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka + + * rs6000.md (define_splits): Kill unused constraints. + +Wed Aug 1 20:02:12 CEST 2001 Graham Stott + Jan Hubicka + + * function.c (thread_prologue_and_epilogue_insns): Kill code + dealing with non-existent CFG. + +2001-08-01 Kazu Hirata + + * alias.c: Fix comment formatting. + * bitmap.c: Likewise. + * builtins.c: Likewise. + * calls.c: Likewise. + * c-common.c: Likewise. + * c-decl.c: Likewise. + * c-dump.c: Likewise. + * c-lex.c: Likewise. + * collect2.c: Likewise. + * combine.c: Likewise. + * conflict.c: Likewise. + * cppfiles.c: Likewise. + * cppinit.c: Likewise. + * cpplex.c: Likewise. + * cpplib.c: Likewise. + * cppmacro.c: Likewise. + * cppspec.c: Likewise. + * c-pragma.c: Likewise. + * crtstuff.c: Likewise. + * cse.c: Likewise. + * cselib.c: Likewise. + * c-semantics.c: Likewise. + * c-typeck.c: Likewise. + +2001-08-01 H.J. Lu + + * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined. + +2001-08-01 H.J. Lu + + * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined. + +2001-08-01 Ziemowit Laski + + * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for + contextualizing Objective-C class name lookup by the lexer. + (typespec_reserved_nonattr): Disable ObjC class name lookup after + seeing a TYPESPEC. + (protocoldef): Add support for forward @protocol declarations. + (yylexname): Suppress ObjC class name lookup in certain contexts; + re-enable after lookup is complete. + (_yylex): Re-enable ObjC class name lookup when certain + punctuation marks are seen. + + * objc/objc-act.c (check_protocol_recursively): New function used + for finding circular dependencies in protocols. + (objc_declare_protocols): New function for handling forward + @protocol declarations. + (receiver_is_class_object): Detect the case when 'self' is used + inside of a class method. + (build_message_expr): Issue a warning if class method is desired + but instance method is found instead. + (conforms_to_protocol): Streamline. + (objc_comptypes): Detect the fact that 'Bar foo' conforms to + protocol Foo, even if 'Bar foo' does not. + (check_protocols): Streamline. + (start_protocol): Add checks for circular and duplicate protocol + definitions. + (encode_aggregate_within): For typedefs of structs, encode the + underlying struct. + * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor. + (objc_declare_protocols): New prototype. + +2001-08-01 Neil Booth + + * cpphash.h (struct cpp_reader): New members line, pseudo_newlines. + * cpplex.c (handle_newline): Update prototype. Maintain logical + line number. + (skip_escaped_newlines, skip_block_comment, parse_string): + Update accordingly. + (_cpp_lex_token): Update, and store token position within the token. + * cpplib.h (struct cpp_token): Add line and column entries. + * cppmacro.c (replace_args): Position stringified tokens correctly. + +2001-08-01 Andreas Jaeger + + * basic-block.h: Add prototype for last_loop_beg_note. + +2001-07-31 Alexandre Petit-Bianco + + * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of + RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in + comment. + (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL + while handling WITH_CLEANUP_EXPR node. Use second operand calling + expand_decl_cleanup. + * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is + the first RTX. + (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second + operand while calling simple_cst_equal. + * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second + operand is the cleanup expression, the third is the RTL_EXPR. + * tree.h (WITH_CLEANUP_EXPR_RTL): New macro. + +2001-07-31 Jeff Sturm + + * except.c (duplicate_eh_regions): Test n_array[i] for NULL. + +2001-07-31 matthew green + + * config.gcc (i386-*-netbsdelf): New description. + * config/i386/netbsd-elf.h: New file. + +2001-07-30 Geoffrey Keating + + * loop.c (check_dbra_loop): Use single_set to compute + jump_label. + +2001-07-31 Daniel Berlin + + PowerPC reorg and support for powerpc64-*-linux*. + + Also fixes emitting of constants on 32 bit and 64 bit + platforms. + + * config.gcc: powerpc64-*-linux* is a new target. + Things that needed aix.h now also include xcoff.h + + * config/rs6000/rs6000.h: Split XCOFF specific stuff into + xcoff.h. + Move AIX specific stuff into aix.h. + (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used + with more than just XCOFF now. + (SET_ASM_OP): Remove, now defined where needed. + (FUNCTION_PROLOGUE): New macro definition. + (FUNCTION_EPILOGUE): New macro definition. + (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition. + + * config/rs6000/xcoff.h: New file. + + * config/rs6000/linux64.h: New file. + + * config/rs6000/darwin.h: Copy needed AIX alignment definitions. + +2001-07-31 Alan Modra + + * rs6000.c (print_operand_address): Handle ELF syntax. + (output_toc): Simplify. Use DOUBLE_INT_ASM_OP. + * rs6000.md (load_toc_aix_di): Handle ELF syntax. + * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP. + +2001-07-31 David Edelsohn + + * rs6000.c (rs6000_override_options): Only disable + flag_function_sections for XCOFF. + (exact_log2_cint_operand): New predicate. + (reg_or_{add,sub}_cint64_operand): New predicates. + (add_operand): Compare CONST_INT with fewer function calls. + (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions. + (print_operand, case 'p'): Ensure positive operand. + (rs6000_emit_load_toc_table): No load_toc_v4_pic_di. + * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value. + (PREDICATE_CODES): Add new predicates. + * rs6000.md (addsi3): Split 32-bit constants more correctly. + (divsi3, modsi3): Ensure positive power-of-2. + (adddi3): Use new predicate. Split 32-bit constants more + correctly. Re-arrange splitter to handle any constant. + (subdi3): Use new predicate. + (divdi3, moddi3): Ensure positive power-of-2. + (movdi): Use rs6000_emit_set_const. + (load_toc_v4_pic_di): Delete. + +2001-07-31 Graham Stott + + * function.c (pad_below): Revert 2001-07-26 patch. + +Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka + + * reg-stack (convert_regs_1): Fix best edge condition. + +Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka + + * jump.c (duplicate_loop_exit_test): Better test for jumps + entering the loop; create loop pre_header. + +2001-07-31 Hartmut Penner + + * doc/install.texi: Add s390 and s390x as new targets. + * doc/invoke.texi: Add documentation of S/390 and zSeries + target options. + * doc/md.texi: Add documentation of S/390 and zSeries constraints. + +2001-07-30 Roman Zippel + + * config/m68k/m68k.md: Replace all general_operand with + nonimmediate_operand for all destinations. + * config/m68k/m68k.c (not_sp_operand): Likewise. + +Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com) + + * flow.c (merge_blocks): Return 1 if an extra jump is inserted. + +2001-07-30 Richard Henderson + + * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New. + * config/mips/iris6.h (DEBUG_RANGES_SECTION): New. + +2001-07-30 Roman Zippel + + * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS): + Add missing doc strings + * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise + * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise + +Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka + + * i386.c (ix86_output_main_function_alignment_hack): New function. + (TARGET_ASM_FUNCTION_PROLOGUE): Default to it. + + * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back + edges by EDGE_DFS_BACK flag. + (dump_edge_info): Add dfs_back flag. + * basic-block.h (EDGE_DFS_BACK): New constant. + (mark_dfs_back_edges): Declare. + * alias.c (loop_p): Remove. + (mark_constant_function): Use mark_dfs_back_edges. + + * reg-stack.c (block_info_def): Add predecessors counter and stack_out. + (reg_to_stack): Call mark_dfs_back_edges; count the predecessors. + (compensate_edge): Break out from ... + (convert_regs_1): ... here; do smart choosing of stack_out to copy. + (convert_regs_2): Set block_done once block is really done; + Do updating of the predecessors counts. + + * toplev.c (rest_of_compilation): Recompute block_for_insn + before post-reload cfg_cleanup. + * function.c (thread_prologue_epilogue_insns): + Call set_block_for_new_insns when emitting prologue directly. + +2001-07-30 Andreas Jaeger + + * jump.c: Add prototype for mark_modified_reg. + + * cse.c (set_live_p): Add unused attribute. + + * gcov.c (calculate_branch_probs): Use gcov_type to avoid + overflow. + (scan_for_source_files): Use long for count to avoid overflow. + (output_data): Likewise. + (output_data): Don't use string concatatenation to silence gcc + -traditional. + + * predict.c: Fix typos and grammar. + + * gcse.c (insert_insn_end_bb): Remove unused variables. + +Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka + + * flow.c (mark_set_1): Use REG_FREQ_FROM_BB. + (attempt_auto_inc): LIkewise. + (mark_used_reg): Likewise. + (try_pre_increment_1): Likewise. + * regclass.c (regclass): Likewise. + * global.c (allocno_compare): Update comment; change scaling factor. + * local-alloc.c (QTY_CMP_PRI): Likewise. + * regs.h (REG_FREQ_FROM_BB): New. + (REG_FREQ_MAX): Likewise. + +2001-07-30 H.J. Lu + + * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add + -D_GNU_SOURCE. + +2001-07-30 H.J. Lu (hjl@gnu.org) + + * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined. + (ASM_DECLARE_FUNCTION_SIZE): Likewise. + (FUNCTION_NAME_ALREADY_DECLARED): Likewise. + +2001-07-30 Nick Clifton + + * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well + as -mthumb-interwork when -mcpu=arm7 is specified. + +Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka + + * predict.def (noreturn, loop branch, loop exit): Mark as first + match heuristics. + +Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka + + * combine.c (try_combine): Avoid barrier after noop jumps. + +2001-07-29 Neil Booth + + * cpphash.h (struct cpp_reader): Remove import_warning. + * cpplib.c (skip_rest_of_line): Don't bother turning off + macro expansion. + (parse_include): Move include handling to... + (do_include_common): ... here. Move import warning from... + (do_import): ... here. + (do_pragma_poison): Don't do a callback for poison identifiers. + * cpplib.h (struct cpp_callbacks): Don't do poison callbacks. + * cppmain.c (setup_callbacks): Similarly. + +Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka + + * rtlanal.c (parms_set, find_first_parameter_load): Break out from...; + handle multiple sets. + * except.c (sjlj_mark_call_sites): .... here. + * gcse.c (insert_insn_end_bb): Use find_first_parameter_load. + +Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka + + Suggested by Richard Henderson and Richard Kenner: + * combine.c (recog_for_combine): Use the fake recog + only if instruction does not match. + * rtl.h (NOOP_MOVE_INSN_CODE): New. + * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE. + + * combine.c (try_combine): Discover noop jump as direct jump. + +2001-07-29 Daniel Berlin + + * df.c (df_rd_global_compute): Add successors to worklist, not + current item. + (df_ru_global_compute): Ditto. + +2001-07-27 Daniel Berlin + + * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we + increment REG_N_SETS. + +2001-07-26 Daniel Berlin + + * sbitmap.h: New prototype for sbitmap_a_xor_b. + + * sbitmap.c (sbitmap_a_xor_b): New function. + ifdef the basic block stuff on IN_GCC. + +2001-07-29 Neil Booth + + * cppexp.c (parse_defined): Always record the macro name. + (lex): Don't worry about identifiers, or special-case + CPP_NOT here. + (_cpp_parse_expr): Figure out at the end of the routine + whether we saw a valid !defined() expression. + * cppfiles.c (stack_include_file): Update for mi_valid. + (_cpp_pop_file_buffer): Similarly. + * cpplex.c (_cpp_lex_token): Similarly. + * cpphash.h (enum mi_state, enum mi_ind, mi_state, + mi_if_not_defined, mi_lexed): Remove. + (mi_valid): New. + * cpplib.c (do_if): Simplify. + (do_endif, push_conditional, _cpp_handle_directive): Update + for renaming of mi_state to mi_valid. +doc: + * cpp.texi: Add index entries for digraphs, and add comment + that C++ refers to them as alternative tokens. + +Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka + + * basic-block.h (CLEANUP_PRE_LOOP): New. + * except.c (finish_eh_generation): Update call of cleanup_cfg. + * sibcall.c (optimize_sibling_calls): Likewise. + * toplev.c (rest_of_compilation): Likewise. + * flow.c (try_forward_edges): Take argument MODE; + do not forward over loop pre-headers if CLEANUP_PRE_LOOP. + (try_optimize_cfg): Update call of try_forward_edges. + +Sun Jul 29 18:59:56 CEST 2001 Roman Zippel + Jan Hubicka + + * (validate_replace_rtx_1): Fix simplification of MINUS. + +2001-07-29 Neil Booth + + PR preprocessor/3669 + * cppinit.c (init_dependency_output): Turn off dump requests + if sending dependencies to stdout. + +2001-07-28 Richard Henderson + + * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if + not optimizing. + +2001-07-28 Golubev I. N. + + * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define. + +2001-07-28 Kazu Hirata + + * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL + is VAR_DECL first to prevent an ICE. + +2001-07-28 Richard Henderson + + * varasm.c (immed_real_const_1): Don't elide special cases for + nested functions. + (clear_const_double_mem): Clear const_tiny_rtx too. + +2001-07-28 Richard Henderson + + * dwarf2out.c (dw_val_class_offset): New. + (struct dw_ranges_struct, dw_ranges_ref): New. + (ranges_table, ranges_table_allocated): New. + (ranges_table_in_use, RANGES_TABLE_INCREMENT): New. + (add_AT_offset, add_ranges, output_ranges): New. + (print_die, output_die): Handle dw_val_class_offset. + (attr_checksum, size_of_die, value_format): Likewise. + (gen_lexical_block_die): Handle non-contiguous blocks. + (gen_block_die): Likewise. + (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit + if needed. Dump the ranges table. + * final.c (final_start_function): Remove unnecessary notes and + rebuild the block tree before numbering the blocks. + * function.c (reorder_blocks_0): Walk the existing block tree + to unmark all blocks. + (reorder_blocks_1): Create block fragments when duplicate block + notes are seen. + (reorder_fix_fragments): New. + (reorder_blocks): Call it. + * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New. + +2001-07-28 Richard Henderson + + * emit-rtl.c (adjust_address): Make a copy of the memory address. + +2001-07-28 Richard Henderson + + * flow.c (add_to_mem_set_list): New function. + (init_propagate_block_info): Use it. + (mark_set_1): Likewise. + (insn_dead_p): Canonicalize memory address for dead store + comparison. Allow wider mode stores to kill narrower mode stores. + (invalidate_mems_from_autoinc): Use invalidate_mems_from_set. + (invalidate_mems_from_set): Don't handle MEMs. + +2001-07-28 Kazu Hirata + + * config/h8300/h8300.h: Fix formatting. + +Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka + + * basic-block.h (EDGE_FREQUENCY): New macro. + * bb-reorder (fixup_reorder_chain): Set counts and frequencies + for new BB/edges. + * flow.c (find_sub_basic_blocks): Likewise. + (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY + (redirect_edge_and_branch): Use EDGE_FREQUENCY. + + * predict.c (DEF_PREDICTOR): New argument FLAGS. + (HITRATE): New macro. + (PRED_FLAG_FIRST_MATCH): New constant. + (predictor_info): New field flgags. + (combine_predictions_for_insn): Use DS theory to combine + probabilities; set the edge probabilities when finished. + (estimate_probability): Avoid duplicated matches + of LOOP_BRANCH heuristics for nested loops; update comment. + * predict.def: Add flags for each prediction, set probabilities + according to B&L paper. + * predict.h (DEF_PREDICTOR): New argument FLAGS. + + * profile.c (compute_branch_probabilities): Cleanup way the edge + probabilities are computed and REG_BR_PROB notes are dropped; if + values does not match, emit error. + (init_branch_prob): Do error instead of warning when profile driven + feedback is missing or corrupt. + +2001-07-27 DJ Delorie + + * ifcvt.c (noce_get_alt_condition): If the condition is a compare + against a constant, try to adjust the compare to have the desired + constant in it so that min/max optimizations happen more often. + +Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka + + * flow.c (last_loop_beg_note): New function. + (redirect_edge_and_branch): Use it. + (split_edge): Likewise. + + * alias.c (loop_p): Avoid uninitialized memory access. + + * flow.c (try_forward_edges): Avoid accessing freed memory. + + * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized + variable access. + +2001-07-26 Andrew Haley + Joern Rennecke + + * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New. + (SUBTARGET_CPP_ENDIAN_SPEC): New. + (SUBTARGET_CPP_SPEC): New. + (CPP_SPEC): Remove. + * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New. + (SUBTARGET_CPP_PTR_SPEC): New. + (CPP_DEFAULT_CPU_SPEC): New. + (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC, + SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC. + (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC, + SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC. + (SUBTARGET_CPP_SPEC): Define as an empty string. + +2001-07-27 Gerald Pfeifer + + * doc/install.texi (Configuration): Properly link the host + specific instructions also when generating HTML. + +Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com) + + * flow.c (redirect_edge_and_branch_force): Test + target->global_live_at_start. + +2001-07-26 Richard Henderson + + * simplify-rtx.c (avoid_constant_pool_reference): Export. + * rtl.h (avoid_constant_pool_reference): Declare it. + * dwarf2out.c (add_location_or_const_value_attribute): Use it. + (add_const_value_attribute): Use add_AT_unsigned for unsigned values. + +Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka + + * rtl.h (cleanup_barriers): Declare. + * jump.c (cleanup_barriers): New function. + * toplev.c (rest_of_compilation): Call cleanup_barriers + before loop optimizer and after bb_reorder. + + * flow.c (back_edge_of_syntactic_loop_p): New. + (split_edge): Use it. + +2001-07-26 Rainer Orth + + * glimits.h (_MACH_MACHLIMITS_H_): Delete. + +Thu Jul 26 22:22:21 2001 Denis Chertykov + + * cse.c (cse_process_notes): Replace any registers if the address + remains valid. + +Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com) + + * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define. + (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES. + (propagate_block): Update prototype. + * flow.c (update_life_info): Simplify the CFG and + recalculate the global regs which are alive when + removing dead code during a global update. + (propagate_block): Return non-zero if an INSN is + deleted. + +2001-07-26 Rainer Orth + + * Makefile.in (LIBICONV): Define. + +2001-07-26 Catherine Moore + + * config/v850/v850.h (ENCODE_SECTION_INFO): Change order + of conditional to avoid tree checking errors. + +2001-07-26 Kazu Hirata + + * regmove.c (regmove_optimize): Don't replace a reg with + another reg of a different mode. + +2001-07-26 Andrew MacLeod + + * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to + limit length of dependency flush list. + * params.h (MAX_PENDING_LIST_LENGTH): Define. + * sched-int.h (struct deps): Add pending_flush_length field. + * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now + has 1 element in it. + (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH. + (sched_analyze): After a jump, if the pending memory flush list is too + large, flush the pending lists. + (init_deps): Initialize pending_flush_length to 0. + * doc/invoke.texi (max_pending_list_length): Document parameter. + +2001-07-26 Neil Booth + + * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate. + * dbxout.c (dbxout_global_decl): Move outside #ifdef. + * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies. + +2001-07-26 Neil Booth + + * cpphash.h (struct_lexer_state): Delete was_skipping. + Move skipping here from struct cpp_reader. + * cpplex.c (parse_identifier): Update. + (_cpp_lex_token): Don't skip tokens in a directive. + * cpplib.c (struct if_stack): Update. + (start_directive, end_directive): Don't change skipping state. + (_cpp_handle_directive): Update. + (do_ifdef, do_ifndef, do_if, do_elif): Similarly. + (do_else, do_endif): Update; only check for excess tokens if not + in a skipped conditional block. + (push_conditional): Update for new struct if_stack. + +2001-07-26 Graham Stott + + * function.c (locate_and_pad_parm): Also pad initial offset + so that the total argument size also includes the padding. + +2001-07-26 Graham Stott + + * gensupport.c (alter_output_for_insn): Correct enable checking failure + change XSTR to XTMPL. + + (process_one_cond_exec): Likewise + +2001-07-25 Richard Henderson + + * varasm.c (assemble_variable): Create DECL_RTL before setting + TREE_ASM_WRITTEN. + +Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka + + * predict.c (estimate_probability): Avoid duplicated predictions. + + * loop.c (find_and_verify_loops): Grok multiple barriers. + +Wed Jul 25 18:00:05 2001 Richard Kenner + + * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'. + + * dbxout.c: Consistently use putc instead of fputc. + (print_wide_int): New function; call instead of direct fprintf. + (dbxout_type_index): Adjust calls of CHARS to be more accurate. + (dbxout_type_fields, dbxout_type_method_1): Likewise. + (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise. + (print_int_cst_octal): Likewise. + (print_octal): Show we wrote characters. + (dbxout_type): Set have_used_extensions in more places. + +2001-07-25 Catherine Moore + + * config/v850/v850.c (v850_va_arg): Use addr + instead of valist to build incr. + +Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka + + * flow.c (delete_dead_jumptables): New function. + (life_analyzis): Call it. + * bb-reorder.c (skip_insns_after_block): Handle contradictory + sequences. + +2001-07-25 Richard Henderson + + * except.c (reachable_handlers): Handle a region being removed + out from under a RESX. + +2001-07-25 Richard Henderson + + * config/alpha/alpha.c (alpha_emit_conditional_move): Always + swap GE/GT if it is an fp comparison. + +2001-07-25 Andrew Haley + + * alias.c (rtx_equal_for_memref_p): Allow strings as types in + operands. + +Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com) + + * ssa.c (rename_insn_1): Do not wrap an assignment to a + paradoxical SUBREG inside a SEQUENCE. Fix minor formatting + glitch. + + * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can + throw an exception. + (visit_expression): When attempting to simplify an expression, + retrieve any modes for arguments before they are simplified + to constants. + +2001-07-25 Andrew MacLeod + Janis Johnson + + * stmt.c (expand_goto): A nonlocal goto can be a call too. + * builtins.c (expand_builtin_longjmp): Reverse label and static chain + pointer parameters to match documented usage of nonlocal_goto. + * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain + parameters to their correct order. + * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain + parameters to their correct order. + +2001-07-25 Andrew MacLeod + + * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well. + +2001-07-25 Jan Hubicka + Richard Henderson + + * flow.c (find_sub_basic_blocks): Fix handling of the last BB in + the sequence. + (make_edges): New argument update_p; populate the edge cache if set. + (find_basic_blocks): Update make_edges invocation. + +2001-07-24 Joel Sherrill + + * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float. + +2001-07-24 Joel Sherrill + + * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant + -Acpu and -Amachine.h. + * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise. + Corrected header to say ELF not a.out. + * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT + when given -msoft-float. + +2001-07-24 Joel Sherrill + + * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as + extra multilib parts like arm-elf. + (i960-*-coff*, i960-*-rtems): Should not use collect2. + (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and + crtfini.o as extra multilib parts. + +2001-07-24 Joel Sherrill + + * configure.in: Add rtems as a supported thread model. + * gthr-rtems.h: Add missing entry point __gthread_active_p. + * configure: Rebuilt. + +2001-07-24 Lars Brinkhoff + + * stor-layout.c (get_mode_alignment): make it work when + BITS_PER_UNIT is not a power of two. + * builtins.c (get_pointer_alignment): Likewise. + +2001-07-24 Richard Henderson + + * simplify-rtx.c (avoid_constant_pool_reference): Coerce + the retrieved constant into the expected mode. + +Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka + + * flow.c (try_simplify_condjump): Avoid duplicated edges. + (verify_flow_info): Check for duplicated edges; clarify + error reporting. + + * flow.c (block_label): Update basic_block_for_insn. + (commit_edge_insertions): Call compute_bb_for_insn. + + * flow.c (purge_dead_edges): Handle conditional jumps and conditional + returns too. + + * flow.c (redirect_edge_and_branch, + try_optimize_cfg): Use redirect_edge_succ_nodup + (redirect_edge_succ_nodup): New. + * basic_block.h (redirect_edge_succ_nodup): Declare. + + * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup + after gcse. + +Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka + + * flow.c (try_forward_edges): Accept fallthru edge; Update comment. + (try_crossjump_to_edge): Update commetns. + (try_crossjump_bb): Likewise. + +2001-07-24 Richard Henderson + + * combine.c (distribute_notes): Move set of need_refresh + for noop_move_p down to catch all cases. + +Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka + + * recog.c (split_all_insns_noflow): New. + * rtl.h (split_all_insns_noflow): Declare. + * ia64.c (ia64_reorg): Use split_all_insns_noflow. + * m68hc11.c (m68hc11_reorg): Likewise. + * sh.c (machine_dependent_reorg): Likewise. + * toplev.c (rest_of_compilation): Likewise for last split_all_insns + call. + +2001-07-18 Andrew Haley + + * config/sh/sh.md (ashlsi3_std splitter): Split only after reload. + (ashlsi3_n splitter): Likewise. + (lshrsi3_n splitter): Likewise. + + (GOTaddr2picreg): Make const SImode. + (sym_label2reg): Likewise. + (symGOT2reg): Likewise. + (symGOTOFF2reg) Likewise. + + (casesi_worker_0): Make unspec SImode. + +2001-07-18 Andrew Haley + + * config/sh/sh.c (barrier_align): Check that an operand really is + an insn before extracting its INSN_CODE. + +2001-07-24 Andrew Haley + + * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of + dangling else. + + * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands + for SImode to prevent overflow. + +2001-07-24 Rainer Orth + + * config/mips/irix6-libc-compat.c: New file. + * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it. + * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure + passing workaround. + +2001-07-24 lars brinkhoff + + * rtl.texi (REG_POINTER): Document. + (Machine Modes): Document BImode, OImode, PQImode, PHImode, + QFmode, HFmode, TQFmode, QCmode, and HCmode. + +Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka + + * flow.c (delete_noop_moves): Do not confuse libcall regions. + +2001-07-23 Richard Henderson + + * flow.c (try_simplify_condjump): Use tidy_fallthru_edge. + +2001-07-23 Kazu Hirata + + * config/h8300/h8300-protos.h: Add a prototype for + general_operand_dst_push. + * config/h8300/h8300.c (general_operand_dst_push): New. + * config/h8300/h8300.h (OK_FOR_T): New. + (EXTRA_CONSTRAINT): Use it. + * config/h8300/h8300.md (movqi_push): Remove and integrate into + the existing movqi pattern. + (movhi_push): Likewise. + + * reload.c: Fix comment typos. + +Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka + + * gcse.c (cprop_insn): Update call of cprop_cc0_jump. + +2001-07-23 H.J. Lu (hjl@gnu.org) + + * doc/extend.texi: Update __builtin_return_address and + __builtin_frame_address. + +2001-07-23 Richard Henderson + + * config/i386/i386.c (ix86_expand_setcc): Don't use method 0 + before CSE. + * config/i386/i386.md: New setcc+movzbl peephole2. + +2001-07-23 Neil Booth + + * objc/Make-lang.in (objc-act.o): Depend on debug.h. + * objc/objc-act.c: Include debug.h. + (synth_module_prologue): Save and restore debug hooks too. + +2001-07-23 lars brinkhoff + + * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT + and C4X_FLOAT_FORMAT. + (BOOL_TYPE_SIZE): Document. + +Mon Jul 23 11:54:23 2001 Clinton Popetz + + * unroll.c (loop_iterations): Fix miscalculation of initial + giv offset. + +2001-07-13 Andrew Haley + + * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro. + * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro. + * config/sh/sh.c (sh_can_redirect_branch): New function. + * config/sh/sh-protos.h (sh_can_redirect_branch): Declare. + * reorg.c (steal_delay_list_from_target): Use + MD_CAN_REDIRECT_BRANCH to see if redirection is possible. + +Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka + + * flow.c (try_simplify_condjump): Unlink insn chain on + fallthru edge; use can_fallthru. + +Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka + + * basic-block.h (find_sub_basic_block): Declare. + * flow.c (make_edges): New arguments MIN and MAX; + (find_sub_basic_blocks): Revamp to use make_edges + and purge_dead_edges. + (find_basic_blocks): Update call of find_sub_basic_block. + + * recog.c (split_all_insns): Always expect CFG to be consistent; + call find_sub_basic_blocks in case something has changed. + * toplev.c (rest_of_compilation): Always call split_all_insns once CFG + has been built. + + * basic-block.h (delete_noop_moves): Declare. + * combine.c (combine_instructions): Call it. + (recog_for_combine): Tolerate noop moves + (distribute_notes): Force refresh when register dies at noop move. + * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns + too. + (life_analysis): Update delete_noop_moves call. + (set_noop_p): Move too ... + * rtlanal.c (noop_move_p): ... here. + * rtl.h (noop_move_p): Declare. + + * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions. + * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges + after combine. + * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block". + (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded. + +2001-07-23 Hans-Peter Nilsson + + * reload.c (push_reload): Fix typo in comment. + (find_reloads_address): Ditto. + (reg_overlap_mentioned_for_reload_p): Ditto in head comment. + +2001-07-22 Richard Henderson + + * flow.c: Grammar check and clarify a lot of comments. + (try_simplify_condjump): Rename variables to be clearer. + (try_forward_edges): Skip complex and fallthru edges. + Rearrange tests to avoid duplicate checks. + (flow_find_cross_jump): Likewise. + (outgoing_edges_match): Allow match if neither branch has + probability data. Loosen probability match to 5%. + (try_crossjump_to_edge): Hoist repeated indirection into + local variables. + (try_crossjump_bb): Don't check complex edges. Eliminate + redundant crossjump tests. + (try_optimize_cfg): Fix use of bool. Reorganize cheaper + checks before more expensive checks. + +2001-07-22 Richard Henderson + + * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of + INTEGRAL_TYPE_P when folding comparisons with operand_equal_p + arguments. + +2001-07-22 Richard Henderson + + * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits. + (const_sint32_operand): Likewise. + * m68k.md (anon mulsi pattern): Use const_int_operand not + const_sint32_operand. + (umulsi3_highpart): Zero extend a constant input. + (smulsi3_highpart): Don't bother checking SImode constant. + (const_umulsi3_highpart): Give op3 DImode. + (const_smulsi3_highpart): Likewise. + +2001-07-22 Richard Henderson + + * flow.c (split_block): Make sure bb_note is included in the + new block when splitting before a label. + +Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka + + * basic-block.h (redirect_edge_and_branch_force, + redirect_edge_and_branch, block_label, forwarder_block_p): Declare. + * flow.c (redirect_edge_and_branch_force, + redirect_edge_and_branch, block_label, forwarder_block_p): Make global. + (redirect_edge_and_branch_force): Fix copying of lifeness information. + (block_label): Handle EXIT_BLOCK_PTR by returning NULL. + * ifcvt.c (dead_or_predictable): Take BB as an new destination + instead of label; update CFG after transformation. + (find_if_case_1): Update call, use redirect_edge_and_branch_force + for finishing the transformation; handle even case where ELSE + does not follow THEN. + (find_if_case_2): Update call of dead_or_predictable; simplify + CFG update. + + * emit-rtl.c (split_branch_probability): New global variable. + (try_split): Take care to set split_branch_probability and + create REG_BR_PROB note for new jump insns. + * md.texi (define_split): Document new feature. + + * i386.c (ix86_split_fp_branch): Redistribute branch probability notes. + +2001-07-22 Neil Booth + + * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h. + (asm_out_file): Remove redundant declaration. + (assemble_asm): Remove old #if 0 block. + (assemble_variable): Remove end of function; debug output is + now handled with global_decl. Remove old #if 0 block. Update. + Remove saved_in_section and associated no-op code. + * Makefile.in (varasm.o): Correct dependencies. + +Sun Jul 22 17:55:11 2001 Alexandre Oliva + + * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use + the definition in defaults.h. + +Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka + + * jump.c: Update comments. + (delete_barrier_successors, delete_unreferenced_labels, + delete_noop_moves, tension_vector_labels, delete_from_jump_chain, + delete_labelref_insn, redirect_tablejump, jump_optimize_1, + jump_optimize, jump_optimize_minimal): Kill. + (rebuild_jump_labels): Move code from jump_optimize_1. + (purge_line_number_notes): Likewise. + (copy_loop_headers): Likewise. + * reg-stack.c: Update comment. + * stmt.c: Likewise. + * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES, + JUMP_AFTER_REGSCAN): Kill. + * toplev.c (rest_of_compilation): Use cleanup_cfg, call + purge_line_number_notes and copy_loop_headers. + +2001-07-22 Neil Booth + Richard Henderson + + * dbxout.c (dbxout_global_decl): New. + (xcoff_debug_hooks, dbx_debug_hooks): Use it. + * sdbout.c (sdbout_finish): New. + (sdbout_debug_hooks): Use it, add comments. + (sdbout_global_decl): Defer initialised public vars to + sdbout_finish. + * varasm.c (assemble_variable): Don't output debug information + for file-scope variables. + +2001-07-22 Richard Henderson + + * config/alpha/alpha.c (get_trap_mode_suffix): New. + (get_round_mode_suffix): New. + (print_operand): Use them for [/]. Remove support for [&'`()+]. + * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update. + * config/alpha/alpha.md (attr round_suffix): New. + (attr trap_suffix): New. + (all insns): Set them appropriately. Use %/ instead of the + myriad punctuators. + +2001-07-22 Neil Booth + + * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch. + +2001-07-22 Richard Henderson + + * regrename.c (regrename_optimize): Compute nregs for each + potential target register. + +2001-07-21 Neil Booth + Richard Henderson + + * dbxout.c (dbxout_global_decl): New. + (xcoff_debug_hooks, dbx_debug_hooks): Use it. + * sdbout.c (sdbout_finish): New. + (sdbout_debug_hooks): Use it, add comments. + (sdbout_global_decl): Defer initialised public vars to + sdbout_finish. + * varasm.c (assemble_variable): Don't output debug information + for file-scope variables. + +2001-07-21 H.J. Lu (hjl@gnu.org) + + * config/mips/mips.c (mips_cpu): Moved into ... + (override_options): Here. + + * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with + mips_tune. + (mips_cpu): Removed. + +2001-07-21 Stephane Carrez + + * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand. + ("iorqi3"): Likewise. + ("xorqi3"): Likewise. + ("*addhi3"): Fix constraint to avoid reloading in a soft register. + ("*subhi3_sp): Likewise. + ("*subhi3"): Likewise. + ("extendhisi2"): Accept D, X and Y as source operand to avoid + reload problems. + +2001-07-21 Nathan Sidwell + + * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS. + * config/freebsd.h: Likewise. + * config/linux.h: Likewise. + * config/openbsd.h: Likewise. + * config/alpha/linux-elf.h: Likewise. + * config/arm/linux-elf.h: Likewise. + * config/d30v/d30v.h: Likewise. + * config/fr30/fr30.h: Likewise. + * config/ia64/aix.h: Likewise. + * config/ia64/ia64.h: Likewise. + * config/mips/linux.h: Likewise. + * config/pj/pj.h: Likewise. + * config/rs6000/linux.h: Likewise. + * config/sparc/linux.h: Likewise. + * config/sparc/linux64.h: Likewise. + +2001-07-20 Bruce Korb + + * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons + because getc() and char* may disagree on signedness. + +2001-07-20 Richard Henderson + + * doc/rtl.texi (REG_DEAD): Update for current semantics. + + * flow.c (try_redirect_by_replacing_jump): Correctly compute which + insns to delete in the presence of cc0 in a jump insn. + +Fri Jul 20 22:14:49 CEST 2001 Roman Zippel + Jan Hubicka + + * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead + of doing the change by hand. + +Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka + + * rtlanal.c (set_noop_p): Return true for noop jumps. + + * expr.c (emit_single_push_insn): Add call to push expander. + * expr.h (optab_index): Add OTI_push + (push_optab): New constant. + * genopinit.c (optabs): Add push_optab. + * optabs.c (init_optab): Init push optab. + * md.texi (push??1): Document + +2001-07-20 Stephane Carrez + + * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an + expand to emit the pattern; put a REG_INC note for push/pop + instructions. + ("movdf", "movdf_internal"): Likewise. + ("movsi", "movsi_internal"): Likewise. + ("movsf", "movsf_internal"): Likewise. + ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions. + +2001-07-20 Stephane Carrez + + * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use + gen_highpart. + +2001-07-20 Daniel Berlin + + * params.def: Change default max inline insns to 100. + +2001-07-20 Diego Novillo + + * combine.c (combine_simplify_rtx): Generate a new shift operation + when simplifying the first operand of a (neg (ashift)) expression. + +2001-07-20 Roman Lechtchinsky + + * regclass.c (N_REG_INTS): Use only 32 bits per element. + +2001-07-20 Kelley Cook + + * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug + information. Move rest into ... + (*-*-solaris): ... here. Eliminate redundant information and + reword necessary packages section. Delete 4.x assembler bug info. + (sparc-sun-*): Merge into ... + (sparc-sun-sunos*): here. + +2001-07-20 Catherine Moore + + * config/v850/v850.md (casesi): Generate LABEL_REF + with Pmode. + +Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka + + * i386-protos.h (ix86_zero_extend_to_Pmode): Declare. + * i386.c (ix86_zero_extend_to_Pmode): Make global. + * i386.md (strclrsi expander): Use it. + +Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka + + * integrate.c (copy_insn_list): handle + NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL. + (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL + identically as to CODE_LABEL. + + * fold-const (fold): Convert A/B/C to A/(B*C) and + A/(B/C) to (A/B)*C + + * except.c (connect_post_landing_pads): Delete the RESX insns. + +2001-07-20 Aldy Hernandez + + * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro. + + * config/mips/mips.md (nmadd/nmsub): Use macro. + +2001-07-20 Nathan Sidwell + + * cppinit.c (remove_dup_dir): Make static. + (remove_dup_dirs): Make static. Only warn about preempting a + system directory with a non-system directory. + +2001-07-19 Geoffrey Keating + + * ifcvt.c (noce_try_store_flag_constants): Correct order + of parameters to trunc_int_for_mode. + +2001-07-19 Mark Mitchell + + * reorg.c (fill_simple_delay_slots): If an instruction might throw + an exception that will be caught within this function, do not fill + its delay slot with any subsequent instruction. + +2001-07-19 Steve Ellcey + + * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition. + * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized + pointer extension instruction. + * combine.c (nonzero_bits,num_sign_bit_copies) Likewise. + * simplify-rtx.c (simplify_unary_operation) Likewise. + * explow.c (convert_memory_address) Check value of + POINTERS_EXTEND_UNSIGNED to avoid some conversions when + less than zero. + * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS, + MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support. + * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES) + Add Multilib Support. + (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support. + * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES) + Add Multilib Support. + (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32 + support. + * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4. + * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle" + a 32 bit HP-UX pointer into a 64 bit HP-UX pointer. + +2001-07-19 Alexandre Oliva + + * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from + old and new operands in `<', `3' and `b'. + +2001-07-19 Neil Booth + + * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h. + (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h. + (toplev.o): Don't depend on xcoffout.h. + * c-decl.c: Include debug.h + (duplicate_decls): Use debug hook. + * dbxout.c (dbxout_source_file, dbxout_args): Make static. + (dbx_debug_hooks, xcoff_debug_hooks): Update. + (dbxout_types): Remove. + * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove. + * debug.c (do_nothing_debug_hooks): Update. + (debug_true_tree, debug_nothing_rtx): New. + * debug.h (struct rtx_def): New. + (struct gcc_debug_hooks): New hooks ignore_block, + outlining_inline_function and label. + (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init, + dwarf2out_frame_finish): New. + * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function): + Make static, update prototype. + (dwarf2_debug_hooks): Update. + * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function, + dwarf2out_frame_init, dwarf2out_frame_finish): Remove. + * dwarfout.c (dwarf_debug_hooks): Update. + * emit-rtl.c: Include debug.h. + (remove_unnecessary_notes): Use debug hook. + * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h. + (final_scan_insn): Use debug hook. + * integrate.c (output_inline_function): Use debug hook. + * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static. + (sdb_debug_hooks): Update. + * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove. + * toplev.c: Don't include xcoffout.h. + (note_outlining_of_inline_function, debug_ignore_block): Remove. + * toplev.h (note_outlining_of_inline_function, debug_ignore_block): + Remove. + * tree.h (dwarf2out_do_frame): Remove. + +2001-07-19 Catherine Moore + + * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore. + +2001-07-19 Geoffrey Keating + + * reload1.c (eliminate_regs_in_insn): When updating a set + to the frame pointer to the hardware frame pointer, perform + the update always not just when REPLACE is set. + + * reload1.c (choose_reload_regs): Don't inherit a reload + that crosses multiple registers if registers past the first + don't fit in the desired class. + + * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode + when negating constants. + +2001-07-19 Toon Moene + + * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument. + * doc/tree.texi: Ditto. + +2001-07-19 Mark Kettenis + Jakub Jelinek + + * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr. + (extract_cie_info): Handle "eh" augmentation properly, + remember eh_ptr. + (struct frame_state, __frame_state_for): New. + +2001-07-19 Rainer Orth + + * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL, + HANDLE_SYSV_PRAGMA): Define. + * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline + previous args. + (copy_object): Caller changed. + +2001-07-19 Andreas Schwab + + * configure.in (assembler dwarf2 debug_line support): Define nop + insn for m68k. + * configure: Regenerated. + +2001-07-19 Neil Booth + + * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on + dwarfout.h. + * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move + to conditionally compiled block. + (dbx_debug_hooks, xcoff_debug_hooks): Update. + * dbxout.h (dbxout_function): Remove. + * debug.c (do_nothing_debug_hooks): Update. + * debug.h (struct gcc_debug_hooks): New hooks function_decl, + global_decl, deferred_inline_function. + * dwarf2out.c (dwarf2_debug_hooks): Update. + (dwarf2out_global_decl): New. + * dwarfout.c: Don't include dwarfout.h. + (dwarfout_global_decl, dwarfout_function_decl, + dwarfout_deferred_inline_function): New. + (dwarf_debug_hooks): Update. + * dwarfout.h: Remove. + * final.c: Don't include dwarfout.h. + * sdbout.c (sdbout_global_decl): New. + (sdbout_debug_hooks): Update. + * toplev.c: Don't include dwarfout.h. + (check_global_declarations, rest_of_compilation): Use new debug hooks. + (note_deferral_of_defined_inline_function): Remove. + * toplev.h (note_deferral_of_defined_inline_function): Remove. + * ch/Makefile.in (lex.o): No dependence on dwarfout.h. + * ch/lex.c: Don't include dwarfout.h. + * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h. + (semantics.o, optimize.o): Depend on debug.h not dwarfout.h. + * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h. + * cp/optimize.c: Include debug.h. + (maybe_clone_body): Use debug hook. + * cp/semantics.c: Include debug.h. + (expand_body): Use debug hook. + * po/POTFILES.in: Remove dwarfout.h. + +2001-07-19 Neil Booth + + * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases. + * c-parse.in (yyerror, _yylex): Similarly. + * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr): + Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough. + Update comments. + * cpplib.h (CPP_INT, CPP_FLOAT): Remove. + * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases. + +2001-07-18 Jeff Sturm + + * dwarf2out.c (dwarf2out_abstract_function): Don't emit + in-class declaration at -g1. Fixes c++/2814. + +2001-07-18 Richard Henderson + + * doc/md.texi (reload_in/out): Document restrictions in predicates + and constraints for these patterns. Document empty string matching + ALL_REGS. + +2001-07-18 Rainer Orth + + * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL. + +Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka + + * cse.c: Undo my previous patch. + +2001-07-18 Tom Tromey + + For PR java/2812: + * configure: Rebuilt. + * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV + instead. + * aclocal.m4 (AM_ICONV): New macro from Bruno Haible. + +Wed Jul 18 18:46:30 CEST 2001 Richard Henderson + Jan Hubicka + + * flow.c (redirect_edge_and_branch): Bail out on complex edges. + (try_optimize_cfg): Do not remove tail recursive labels before sibcall. + * jump.c (mark_jump_label): Do not forward branches. + +Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka + + * cse.c (delete_trivially_dead_insns): Delete the libcall block + when return value is unused. + +Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka + + * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores. + +Wed Jul 18 12:05:29 2001 Nicola Pero + + * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value + on error. We can't blindly return the result of + pthread_mutex_trylock because it returns a positive number on + error, while we must return -1 on error. + (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar + fixes. + Reported by Stephen Brandon . + +2001-07-18 Andreas Jaeger + + * integrate.c (output_inline_function): Correct type of debug_hooks. + +2001-07-18 Toon Moene + + * combine.c (combine_simplify_rtx): DIV can be treated + associatively for floats if unsafe math optimisations are enabled. + +2001-07-17 Richard Henderson + + * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS. + +2001-07-17 Richard Henderson + + * calls.c (prepare_call_address): New parameter SIBCALLP. If true, + don't force the function address into a register. + (expand_call, emit_library_call_value_1): Update callers. + * builtins.c (expand_builtin_apply): Likewise. + * expr.h (prepare_call_address): Update decl. + +2001-07-17 Chandrakala Chavva + + * config.gcc: For *-*-chorusos triplet, get chorus.h file from + config directory. + * config/i386/chorus.h: Move up. + * config/sparc/chorus.h: Likewise. + * config/rs6000/chorus.h: Likewise. + * config/chorus.h: Moved here. + +2001-07-17 Andreas Schwab + + * configure.in (assembler eh_frame optimization): Handle big + endian. + * configure: Regenerated. + +Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka + + * expr.c (epxand_expr): Convert divisions into multiplications by + reciprocals if -ffast-math. + +2001-07-17 Neil Booth + + * dbxout.c (dbxout_really_begin_function): Rename to + dbxout_begin_function. + (dbx_debug_hooks, xcoff_debug_hooks): Update. + (dbxout_begin_function): Remove. + (dbxout_function): Update. + (dbxout_source_line): Update prototype. + * dbxout.h (dbxout_begin_function): Remove. + * debug.c (do_nothing_debug_hooks): Update. + (debug_nothing_tree): Update. + (debug_nothing_charstar_rtx): Remove. + * debug.h (union tree_node): Declare. + (struct rtx_def): Remove. + (gcc_debug_hooks): New hooks begin_prologue, end_prologue, + begin_function. Change source_line prototype. + (debug_nothing_tree): New. + (debug_nothing_charstar_rtx): Delete. + (dwarf2out_begin_prologue): Moved from ... + * tree.h: ... here. + * dwarf2out.c (dwarf2_debug_hooks): Update. + (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2 + debug info, call dwarf2out_source_line. + (dwarf2out_souce_line): Update prototype. + * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue. + Change prototype, make static. + (dwarfout_source_line): Update prototype. + (dwarf_debug_hooks): Update. + * dwarfout.h (dwarfout_begin_function): Remove. + * final.c (final_start_function, final_scan_insn): Use appropriate + debug hooks, update to use notice_source_line. + (output_source_line): Rename notice_source_line. Don't call the + source_line debug hook. + * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue, + make static, update prototype. + (sdbout_mark_begin_function): Rename sdbout_begin_function, update + prototype. + (sdbout_end_prologue): New. + (sdbout_source_line): Update prototype. + (sdbout_debug_hooks): Update. + (sdbout_symbol): Remove unused var. + * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function): + Delete. + * varasm.c: Include debug.h. + (assemble_start_function): Use begin_function debug_hook. + * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function, + update with prototype. + (xcoffout_source_line): Update prototype. + * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function, + update prototype. + (xcoffout_source_line): Update prototype. + +2001-07-17 Richard Henderson + + * c-typeck.c (build_binary_op): Do not shorten unsigned + right shift after sign extension. + +Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka + + * combine.c (combine_simplify_rtx): Attempt to simplify + a*(b/c) as (a*b)/c for floats in unsafe_math mode. + + * simplify-rtx.c (avoid_constatn_pool_reference): New static function. + (simplify_binary_operation, simplify_unary_operation, + simplify_relational_operation): Use it. + + * combine.c (combine_simplify_rtx): Don't do associative law + on divisions; allow associative law on floats. + +2001-07-17 H.J. Lu + Rainer Orth + + * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and + ASM_OUTPUT_WEAK_ALIAS are defined. + * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible. + * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL): + Moved ... + * config/mips/iris5.h: ... here. + (HANDLE_SYSV_PRAGMA): Defined as 1. + * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS. + * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak + symbol. + +2001-07-17 Joseph S. Myers + + * c-parse.in (all_prefix_attributes): New variable. + (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros. + (maybe_resetattrs): New production. + (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl, + maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl, + notype_initdcl, nested_function, notype_nested_function, + component_decl, components, components_notype, + component_declarator, component_notype_declarator, + absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl, + ivars, mydecl, myparm): Update. Avoid prefix attributes just + after a comma being applied to more than one declarator. + * doc/extend.texi (Attribute Syntax): Update. Remove + documentation of bugs that are no longer present. + +2001-07-13 Eric Christopher + + * config/mips/mips.h: Change TUNE_MIPS* options to use + mips_tune. + (EXTRA_SPECS): Add cc1_cpu_spec. + * config/mips/mips.md (muldf3): Fix typo. + +2001-07-16 Richard Henderson + + * config/m68k/m68k.c: Include expr.h and reload.h. + (print_operand_address) [16 bit int]: Cast INTVAL to int for %d. + [general int]: Use HOST_WIDE_INT_PRINT_DEC. + +2001-07-16 Daniel Berlin + Richard Henderson + + * cse.c (set_live_p): Take INSN argument for cc0; update callers. + (insn_live_p): Fix fall off end of function. + (dead_libcall_p): Remove COUNTS argument; update callers. + (delete_trivially_dead_insns): Remove unused variables. + +2001-07-17 Andreas Jaeger + + * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for + x86-64 pic support. + + * lcm.c (optimize_mode_switching): Avoid warning for unused + variable if !NORMAL_MODE. + + * flow.c (try_crossjump_to_edge): Remove unused variable. + +2001-07-16 John David Anglin + + * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3 + atexit declaration in stdlib.h. + +2001-07-16 Richard Begg + + * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h + +Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka + + * basic-block.h (CLEANUP_PRE_SIBCALL): New constant. + * except.c (finish_eh_generation): Update call of cleanup_cfg; + do rebuild_jump_labels instead of jump_optimize + * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise. + * toplev.c (rest_of_compulation): Likewise for -Wreturn_type. + * flow.c (try_optimize_cfg): Remove unneeded code_labels. + + * flow.c: Include timevar.h + (find_basic_block): Push/pop timevar; + (cleanup_cfg): Likewise. + * timevar.def (TV_CFG, TV_CLEANUP_CFG): New. + * Makefile: Add dependencies on timevar.h + + * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes. + (copy_insn_list): Avoid killing of BASIC_BLOCK notes. + + * rtl.h (delete_trivially_dead_insns): Add new parameter. + * toplev.c (rest_of_compilation): Update calls. + * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ... + (delete_trivially_dead_insns): ... here; accept new argument + preserve_basic_blocks; preserve basic blocks if set. + + * reg-stack.c (stack_regs_mentioned): Return 0 if + stack_regs_mentioned_data is not initialized. + (reg_to_stack): Make stack_regs_mentioned survive after the + reg-stack is completted; do not call cleanup_cfg. + * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder; + make cleanup_cfg after bb-reorder to output to debug file. + +2001-07-16 Richard Henderson + + * regclass.c (init_reg_sets): Use only 32 bits per initializer + from int_reg_class_contents. + +2001-07-16 Richard Henderson + + * hard-reg-set.h (regs_invalidated_by_call): Declare. + * regclass.c (regs_invalidated_by_call): Move from cse.c. + (init_reg_sets_1): Move initialization from cse_main. + * cse.c (regs_invalidated_by_call): Move to regclass.c. + (cse_main): Move its initialization also. + * df.c (df_insn_refs_record): Use regs_invalidated_by_call. + * flow.c (propagate_one_insn): Likewise. + * gcse.c (compute_hash_table): Likewise. + (compute_kill_rd, compute_store_table): Likewise. + * sched-deps.c (sched_analyze_1): Likewise. + +Mon Jul 16 18:07:07 2001 J"orn Rennecke + + * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of + gen_rtx_SET. + +2001-07-16 Steve Ellcey + + * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests + in if statement so we don't access undefined memory. + +2001-07-16 Daniel Berlin + + * gcse.c: Update comment at top. + Update comment on mem handling. + mem_last_set, mem_first_set, mem_set_in_block: gone. + Declaration of reg_set_info: gone. + (oprs_unchanged_p): Don't use mem_*set_* anymore. They are + pointless with load_killed_in_block_p (they are *more* + conservative then it, not less, and less accurate). + (oprs_not_set_p): Ditto. + (alloc_gcse_mem): Don't allocate mem_set_in_block + (free_gcse_mem): Don't free it, either. + (record_last_mem_set_info): Update comment in front, remove + mem_*set_* stuff. Note the reason we don't handle stores directly + here. + (compute_hash_table): Update comments to reflect reality. Remove + mem_*set_* references. + (reset_opr_set_tables): Remove mem_*set_* references. + (mark_call): Ditto. + (mark_set): Ditto. Also remove double sets of bitmaps for REG's. + (mark_clobber): Ditto (on both parts, we double set here too). + (expr_killed_p): Remove mem_set_in_block test. + (compute_transp): Remove mem_set_in_block test. + + * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal + of edge, and removal of phi alternative to dump file. + (ssa_ccp_substitute_constants): Add note about register now being + constant, and which uses were replaced in what insns to dump file. + +2001-07-16 Andreas Jaeger + + * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output + variables of type HOST_WIDEST_INT. + + * libgcc2.c (__bb_exit_func): Handle gcov_type as long long. + (__bb_exit_func): Correct type of count_max to avoid overflow. + (num_digits): Handle long long argument. + + * combine.c (gen_lowpart_for_combine): Remove unused variable. + +2001-07-16 Neil Booth + + * output.h (sdb_begin_function_line): Restore as an extern + variable. + * sdbout.c (sdb_begin_function_line): Make extern. + +2001-07-15 Richard Henderson + + * machmode.def (Pmode): Redefine if GENERATOR_FILE. + * genrecog.c (maybe_both_true_mode): New. + (maybe_both_true_2): Use it. + (write_switch): Don't put Pmode in a switch. + * rtl.c (mode arrays): Don't explicitly size them. + +Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka + + * toplev.c (rest_of_compilation): Fix register_life_up_to_date + handling; move unconditional splitting before mode switching. + + * i386.md (type): Add fistp type. + (i387, length_attr, scheduling definitions): Handle this type. + (fix_trunc?f?i2): Revamp to use mode switching. + (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns. + * i386.h (fp_cw_mode): New enum + (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED, + MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros. + +Sun Jul 15 12:53:51 2001 Richard Kenner + + * Makefile.in (integrate.o): Add debug.h. + * integrate.c (debug.h): Add. + (output_inline_function): Save, reset, and restore debug_hooks. + +2001-07-15 Richard Henderson + + * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode + instead of COMPARE for the EQUIV expression. + +2001-07-15 Richard Henderson + + * flow.c (redirect_edge_and_branch_force): Initialize + global_live_at_start and global_live_at_end. + (allocate_bb_life_data): Export. + * basic-block.h (allocate_bb_life_data): Declare. + * toplev.c (rest_of_compilation): Call it. + +2001-07-15 Richard Henderson + + * config/alpha/alpha.c (alpha_tablejump_addr_vec): New. + (alpha_tablejump_best_label): New. + * config/alpha/alpha-protos.h: Declare them. + * config/alpha/alpha.md: Use braced strings for code blocks. + (tablejump_osf): Break out add with r29. + (tablejump_osf_internal): Remove. + (tablejump_osf_nt_internal): Rename from tablejump_nt_internal, + use alpha_tablejump_addr_vec and alpha_tablejump_best_label. + +Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka + + * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies + of the movable. + + * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching. + + * i386-protos.h (ix86_split_fp_branch): Update prototype. + (ix86_fp_jump_nontrivial_p): New. + * i386.md (fp_jcc_?): Update call of split_fp_branch; + use ix86_fp_jump_nontrivial_p. + * i386.c (ix86_fp_jump_nontrivial_p): New. + (ix86_split_fp_branch): Accept code instead of rtx. + (ix86_expand_compare): Expand comparison early in case + doing so is resonably cheap. + +2001-07-15 Nick Clifton + + * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian' + not 'machine'. + (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'. + (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'. + +2001-07-15 Neil Booth + + * dbxout.c (dbxout_source_line): Make static, update prototype. + (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks. + (dbxout_init, dbxout_finish, dbxout_source_line, + dbxout_begin_block, dbxout_end_block): Update for new prototypes. + * dbxout.h (dbxout_source_line): Delete. + * debug.c (debug_nothing_file, debug_nothing_file_int, + debug_nothing_file_charstar_rtx): New. + (do_nothing_debug_hooks): Update. + (debug_nothing_void, debug_nothing_charstar_rtx, + dwarf2out_end_epilogue): New. + (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename. + * debug.h (struct rtx_def): Declare. + (gcc_debug_hooks): New hooks source_line, end_epilogue + and end_function. + (debug_nothing_void, debug_nothing_charstar_rtx, + dwarf2out_end_epilogue): New. + (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename. + * dwarf2out.c (dwarf2out_source_line): Make static, update prototype. + (dwarf2_debug_hooks): Update. + (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line, + dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes. + * dwarf2out.h (dwarf2out_source_line): Remove. + * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function): + Make static, update prototype. + (dwarfout_init, dwarfout_finish, dwarfout_source_line, + dwarfout_begin_block, dwarfout_end_block): Update for new prototypes. + (dwarf_debug_hooks): Update. + * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line, + dwarfout_end_function): Remove. + * final.c (profile_function): Use debug hooks for ending functions + and epilogues. + (output_source_line, final_end_function): Update prototype, + use debug hooks. + (final_start_function, final_scan_insn): Update. + * output.h (sdb_begin_function_line): Remove. + (final_end_function): Update prototype. + * sdbout.c (sdb_begin_function_line): Make static. + (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue. + (sdbout_source_line): New. + (sdbout_end_epilogue, sdbout_end_function): Make static, update + prototypes. + (sdb_debug_hooks): Update. + (sdbout_init, sdbout_source_line, + sdbout_begin_block, sdbout_end_block): Update for new prototypes. + * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove. + * toplev.c (compile_file, rest_of_compilation): Update. + * tree.h (dwarf2out_end_epilogue): Move to debug.h. + * xcoffout.c (xcoffout_source_line, xcoffout_begin_block, + xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function): + Update for prototype changes. + * xcoffout.h (xcoffout_source_line, xcoffout_begin_block, + xcoffout_end_block, xcoffout_end_epilogue): Update prototypes. + +2001-07-15 Richard Henderson + + * config/alpha/alpha.h (TARGET_ABI_OSF): New. + (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users. + * config/alpha/alpha-protos.h: Update TARGET_ABI_* users. + * config/alpha/alpha.c: Likewise. + * config/alpha/alpha.md: Likewise. + * config/alpha/alpha32.h: Likewise. + * config/alpha/vms.h: Likewise. + (OPEN_VMS): Remove. + +2001-07-14 Richard Henderson + + * config/alpha/alpha.md: Use define_constants for unspec values. + Substitute throughout. + +2001-07-14 Tim Josling + + * tree.def (EXPON_EXPR) remove. Never supported anyway. + +2001-07-14 John David Anglin + + * pa.md: Remove unused constraints from define_split's. + +2001-04-14 Richard Henderson + + * ifcvt.c (find_cond_trap): Test for exit block. + +Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka + + Re-install recently reverted patch. + * emit-rtl.c (try_split): Update mark_jump_label call. + * flow.c (find_sub_basic_blocks): Likewise. + * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump, + jump_back_p): Kill. + (mark_all_labels): Kill second parameter. + (jump_optimize, jump_optimize_1): Kill cross_jump parameter. + (rebuild_jump_labels, jump_optimize_minimal): Update call + of jump_optimize_1. + (jump_optimize_1): Kill crossjumping code. + (mark_jump_label): Kill cross_jump parameter. + * rtl.h (mark_jump_label, jump_optimize): Update prototypes. + (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill. + * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do + splitting. + * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before + DFI_bpro. + (dump_file_info): Likewise. + (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass; + reorganize passes to do reg-stack first, bb-reorder second. + * invoke.texi (-d letters doc): Remove the jump2 pass. + +2001-07-14 Richard Henderson + + * ifcvt.c (find_cond_trap): New. + (find_if_header): Call it. + (merge_if_block): Relax existing jump sanity check. + * jump.c (jump_optimize_1): Remove conditional trap handling. + +2001-07-14 Alan Modra + + * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit + millicode. + (insn_refs_are_delayed): Correct comment. + * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise. + * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2 + instead of r31. Make associated insn !TARGET_64BIT, and + provide an additional 64-bit insn that clobbers r2. + (divsi3): Likewise. + (udivsi3): Likewise. + (modsi3): Likewise. + (umodsi3): Likewise. + +Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka + + * bb-reorder.c (skip_insn_after_block): Get past the line number notes. + + * flow.c (redirect_edge_and_branch_force, split_edge, + try_crossjump_to_edge): Use set_block_for_new_insns. + * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns. + +2001-07-13 H.J. Lu (hjl@gnu.org) + + * config/elfos.h (UNIQUE_SECTION): Enable .bss section with + the correct patch. + +2001-07-13 Geoffrey Keating + + Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13. + +2001-07-13 Joseph S. Myers + + * c-common.c (decl_attributes): Take a pointer to the node to + which attributes are to be attached, and a flags argument. + * c-common.h (enum attribute_flags): New. + (decl_attributes): Update prototype. + * c-decl.c (start_decl, push_parm_decl, finish_struct, + finish_enum, start_function): Update calls to decl_attributes. + * c-parse.in (component_declarator, component_notype_declarator, + label): Update calls to decl_attributes. + +Fri Jul 13 23:04:00 2001 Denis Chertykov + + * config/avr/avr.md (strlenhi): PARALLEL keyword removed. + * config/avr/avr.c (legitimate_address_p): Return value changed + from letter to register classes. For better debugging. + +2001-07-13 Kazu Hirata + + * jump.c (reversed_comparison_code_parts): Fix comment typos. + +2001-07-13 H.J. Lu (hjl@gnu.org) + + * config/elfos.h (UNIQUE_SECTION): Enable .bss section. + +2001-07-13 Marc Espie + + * config.gcc (*-*-openbsd*): Add fragment to compile libgcc + correctly for shared configurations. + * config/t-libgcc-pic: New. + * config/{i386,m68k,sparc}/t-openbsd: New. + * config/openbsd.h: Include cpu_spec in cpp_spec where needed. + Support -shared. Support debugging libraries with -g. + * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2 + frame information does not emit pointer diffs. + * config/sparc/openbsd.h: Ensure dwarf2 frame information does not + emit pointer diffs. + +2001-07-13 Geoffrey Keating + + Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001. + +2001-07-13 David Edelsohn + + * combine.c (try_combine): Ensure const_int pow2 is positive. + +2001-07-13 Hartmut Penner + + * config.gcc: Add configuration for s/390. + * config/s390/s390.c: New. Subroutines for code generation. + * config/s390/s390.h: New. Definitions for s/390. + * config/s390/s390-protos.h: New. Prototypes. + * config/s390/linux.h: New. Definitions for linux for s/390. + * config/s390/linux64.h: New. Definitions for linux for zSeries. + * config/s390/t-linux: New. Makefile fragment. + * config/s390/s390.md: New. Machine description for s/390 and zSeries. + * config/s390/fixdfdi.h: New. Fix L_fix*di. + +Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka + + * emit-rtl.c (try_split): Update mark_jump_label call. + * flow.c (find_sub_basic_blocks): Likewise. + * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump, + jump_back_p): Kill. + (mark_all_labels): Kill second parameter. + (jump_optimize, jump_optimize_1): Kill cross_jump parameter. + (rebuild_jump_labels, jump_optimize_minimal): Update call + of jump_optimize_1. + (jump_optimize_1): Kill crossjumping code. + (mark_jump_label): Kill cross_jump parameter. + * rtl.h (mark_jump_label, jump_optimize): Update prototypes. + (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill. + * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do + splitting. + * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before + DFI_bpro. + (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass; + reorganize passes to do reg-stack first, bb-reorder second. + * invoke.texi (-d letters doc): Remove the jump2 pass. + +2001-07-12 Steve Ellcey + + * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef. + +Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka + + * flow.c (try_optimize_cfg): Delete whole chain of trivially dead + basic blocks. + (verify_flow_info): Make diagnostics prettier. + +Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka + + * flow.c (find_basic_blocks_1): Do not emit NOP after call. + + * flow.c (outgoing_edges_match): Return early if condition reversal + failed. + +2001-07-06 Richard Sandiford + + * config/mips/mips.c (print_operand): Extend '%D' to memory operands. + (mips_move_2words): When splitting a move into two instructions, + prefix the second address operand with '%D'. + +2001-07-12 Neil Booth + + * Makefile.in (final.o): Depend on debug.h. + * dbxout.c (dbxout_begin_block, dbxout_end_block): New. + (dbx_debug_hooks): Add new hooks. + (xcoff_debug_hooks): New. + * debug.c (debug_nothing_file_int_int): New. + (do_nothing_debug_hooks): Update. + * debug.h (gcc_debug_hooks): New hooks begin_block and end_block. + (debug_nothing_file_int_int): New. + * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make + static, update prototype. + (dwarf2_debug_hooks): Update. + * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove. + * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make + static, update prototype. + (dwarf_debug_hooks): Update. + * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove. + * final.c: Include debug.h. + (final_scan_insn): Use debug hooks when beginning and ending blocks. + * sdbout.c (sdbout_begin_block, sdbout_end_block): Make + static, update prototype. + (sdb_debug_hooks): Update. + * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove. + * toplev.c: Distinguish between xcoff and dbx. + + * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_): + Call all debug hooks, not just dwarf ones. + +2001-07-11 Timothy Wall + + * config.gcc: Add configuration for AIX5/IA64. + * config/ia64/aix.h: New. AIX5/IA64-specific configuration. + * config/ia64/crt[in].asm: New. Generic static ctor/dtor + support prefix/suffix code. + * config/ia64/t-aix: New. Makefile fragment. + * config/ia64/unwind-aix.c: New. Unwind table entry lookup. + +2001-07-11 Kazu Hirata + + * recog.c (validate_change): Fix a comment typo. + +2001-07-11 Neil Booth + + * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h. + * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug + hooks directly. + * dbxout.c (dbx_debug_hooks): Add new hooks. + (dbxout_start_new_source_file): Rename dbxout_start_source_file, + make static. + (dbxout_resume_previous_source_file): Rename dbxout_end_source_file, + make static. + * dbxout.h (dbxout_start_new_source_file, + dbxout_resume_previous_source_file): Delete. + * debug.c (do_nothing_debug_hooks): Add new hooks. + (debug_nothing_init_finish): Rename debug_nothing_file_charstar. + (debug_nothing_int_charstar, debug_nothing_int): New. + * debug.h (gcc_debug_hooks): New hooks define, undef, + start_source_file and end_source_file. + (debug_nothing_init_finish): Rename debug_nothing_file_charstar. + (debug_nothing_int_charstar, debug_nothing_int): New. + * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into + the conditionally compiled section. + (dwarf2out_start_source_file, dwarf2out_end_source_file, + dwarf2out_define, dwarf2out_undef): Make static. + * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file, + dwarf2out_define, dwarf2out_undef): Remove. + * dwarfout.c (dwarf_debug_hooks): Add new hooks. + (dwarfout_start_source_file, dwarfout_end_source_file, + dwarfout_define, dwarfout_undef): Make static. + (dwarfout_start_source_file_check, + dwarfout_end_source_file_check): New. + (dwarfout_define, dwarfout_finish): Update. + * dwarfout.h (dwarfout_start_new_source_file, + dwarfout_resume_previous_source_file, dwarfout_define, + dwarfout_undef): Remove. + * sdbout.c (sdb_debug_hooks): Add new hooks. + (sdbout_start_new_source_file): Rename sdbout_start_source_file, + make static. + (sdbout_resume_previous_source_file): Rename sdbout_end_source_file, + make static, take an arg. + * sdbout.h (sdbout_start_new_source_file, + sdbout_resume_previous_source_file): Delete. + * toplev.c (debug_start_source_file, debug_end_source_file, + debug_define, debug_undef): Delete. + * toplev.h (debug_start_source_file, debug_end_source_file, + debug_define, debug_undef): Delete. + + * java/jcf-parse.c: Include debug.h. + (parse_class_file): Update to use debug hooks directly. + * java/Make-lang.in (jcf-parse.o): Depend on debug.h. + +Wed Jul 11 10:07:18 2001 Richard Kenner + + * alias.c (set_mem_alias_set): New function. + * rtl.h (set_mem_alias_set): Declare it. + * builtins.c (expand_builtin_return_addr): Call it instead of + using MEM_ALIAS_SET accessor. + (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise. + (get_memory_rtx, expand_builtin_va_arg): Likewise. + (expand_builtin_va_copy):Likewise. + * caller-save.c (setup_save_areas): Likewise. + * calls.c (compute_argument_addresses): Likewise. + * explow.c (set_mem_attributes): Likewise. + * expr.c (emit_single_push_insn, emit_push_insn): Likewise. + (expand_assignment, store_constructor_field, store_field): Likewise. + (expand_expr_unaligned): Likewise. + * function.c (assign_stack_temp_for_type): Likewise. + (put_reg_into_stack, gen_mem_addressof): Likewise. + * ifcvt.c (noce_try_cmove_arith): Likewise. + * reload1.c (reload, alter_reg): Likewise. + * config/alpha/alpha.c (get_aligned_mem): Likewise. + (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise. + (alpha_expand_unaligned_store): Likewise + (alpha_expand_unaligned_load_words): Likewise. + (alpha_expand_unaligned_store_words): Likewise. + (alpha_expand_block_clear, alpha_expand_prologue): Likewise. + (alpha_expand_epilogue): Likewise. + * config/arc/arc.c (arc_setup_incoming_varargs): Likewise. + * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise. + * config/i386/i386.c (legitimize_pic_address): Likewise. + * config/i960/i960.c (setup_incoming_varargs): Likewise. + * config/ia64/ia64.c (spill_restore_mem): Likewise. + * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise. + * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise. + * config/mips/mips.c (mips_va_arg): Likewise. + * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise. + * config/pa/pa.c (hppa_builtin_saveregs): Likewise. + * config/rs6000/rs6000.c (rs6000_emit_move): Likewise. + (setup_incoming_varargs, rs6000_va_arg): Likewise. + (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise. + (rs6000_emit_epilogue): Likewise. + * config/sh/sh.c (sh_builtin_saveregs): Likewise. + * config/sparc/sparc.c (sparc_va_arg): Likewise. + * config/v850/v850.c (v850_va_arg): Likewise. + +Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka + + * flow.c (merge_blocks_move_successor_nojumps): Do not crash + when fallthru edge is present. + (mege_blocks): Handle case where creation of jump insn + is required. + + * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP, + CLEANUP_POST_REGSTACK): New constants. + * except.c (finish_eh_generation): Update call of cleanup_cfg, + * jump.c (rtx_renumbered_equal_p): Handle 't' fields. + * output.h (cleanup_cfg): Update prototype. + * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize + * sibcall.c (optimize_sibling_and_tail_recursive_call): Update + cleanup_cfg call; kill missleading comment. + * toplev.c (rest_of_compilation): Update all cleanup_cfg calls. + * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode + parameter; control optimizations performed using it. + (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, + try_crossjump_bb): New functions. + +2001-07-11 John David Anglin + + * pa.c (pa_output_function_prologue): Delete prototype. Make function + extern. + * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to + pa_output_function_prologue. + * pa-protos.h (pa_output_function_prologue): New prototype. + +2001-07-11 John David Anglin + + * stmt.c (emit_case_nodes): Widen high and low instead of new_bound + and low to get correct sign extension in low+high test. + +2001-07-11 Janis Johnson + + * gcov.c (arcdata): Use gcov_type to fix branch percentage + for large hit count. + + * profile.c (branch_prob): Fix .bbg info for computed gotos + and C++ EH code. + +2001-07-11 Mark Mitchell + + * stmt.c (parse_output_constraint): New function, split out + from ... + (expand_asm_operands): ... here. Use parse_output_constraint. + * tree.h (parse_output_constraint): Declare it. + +2001-07-11 Richard Henderson + + * bitmap.c: Comment some functions; fiddle whitespace. + (bitmap_free): Don't export. + (bitmap_element_allocate): Use memset. + * bitmap.h (bitmap_free): Don't declare. + +2001-07-11 Daniel Berlin + + * gcse.c, lcm.c, sched-deps.c: + s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g + + * flow.c (flow_loops_find): Free dom if we found no loops, since + we aren't going to save it. + + * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are + done. + +Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com) + + * ssa-ccp.c (ssa_fast_dce): Free worklist when completed. + +Wed Jul 11 10:07:18 2001 Richard Kenner + + * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version + #ifndef DWARF2_DEBUGGING_INFO. + +2001-07-11 Richard Sandiford + + * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes. + +2001-07-11 Richard Sandiford + + * config/mips/mips.c (gen_int_relational): Tell the caller not to + reverse a branch if a NE comparison is implemented with GTU. + +2001-07-11 Richard Sandiford + H.J. Lu + + * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for + constant addresses. + (call_internal2): Likewise. + (call_value_internal1): Likewise. + (call_value_internal2): Likewise. + (call_value_multiple_internal1): Likewise. + (call_value_multiple_internal2): Likewise. + +2001-07-10 Kazu Hirata + + * calls.c (emit_library_call_value_1): Fix a comment typo. + * dwarf2out.c (mem_loc_descriptor): Likewise. + * config/i386/i386.c (ix86_expand_aligntest): Likewise. + +2001-07-11 David Billinghurst + + * simplify-rtx.c (simplify_subreg): Fix typo in comment + +Tue Jul 10 07:27:53 2001 Richard Kenner + + * recog.c (offsettable_address_p): Handle LO_SUM case. + * config/mips/mips.c (double_memory_operand): Use adjust_address_nv + instead of plus_constant. + +2001-07-10 Stephane Carrez + + * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge, + fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS. + +Tue Jul 10 07:27:53 2001 Richard Kenner + + * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use + adjust_address_nv instead of plus_constant. + +2001-07-10 Neil Booth + + * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o, + dwarf2out.o): Depend on debug.h, wrap long lines. + * dbxout.c: Include debug.h. + (dbx_debug_hooks): New. + (dbxout_init): Make static, take just 2 args. + (dbxout_finish): Make static. + * dbxout.h (dbxout_init, dbxout_finish): Delete. + * debug.c: New file. + * debug.h: New file. + * dwarf2out.c: Include debug.h. + (dwarf2_debug_hooks): New. + (dwarf2out_init): Make static. + (dwarf2out_finish): Make static, take 2 args. + * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete. + * dwarfout.c: Include debug.h. + (dwarf_debug_hooks): New. + (dwarfout_init): Make static. + (dwarfout_finish): Make static, take 2 args. + * dwarfout.h (dwarfout_init, dwarfout_finish): Delete. + * sdbout.c: Include debug.h. + (sdb_debug_hooks): New. + (sdbout_init): Make static, take 2 args. + * sdbout.h (sdbout_init): Delete. + * toplev.c: Include debug.h. + (debug_hooks): New. + (compile_file): Set deubg_hooks based on command line options. + Use the hooks unconditionally rather than conditional compilation. + +Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com) + + * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to + first_insn_after_basic_block_note instead. + + * df.c (df_bb_refs_unlink): #if 0 out for now. + +2001-07-10 David Billinghurst + + * diagnostic.c (finish_diagnostic): Rename to + diagnostic_finish. Make it take an 'output_buffer *'. Adjust + calls thourghout. + +2001-07-10 Jason Merrill + + * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have + .loc support. + + * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses. + (dump_file): Only pad the demangled name with spaces if the + mangled name was padded with spaces. + +2001-07-10 Bernd Schmidt + + * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru + edge detection. + +Tue Jul 10 07:27:53 2001 Richard Kenner + + * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield + extraction if no direct load if either EXPAND_CONST_ADDRESS or + EXPAND_INITIALIZER. + + * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for + whether can put offset inside LO_SUM to check mode alignment, not size. + +2001-07-10 Gabriel Dos Reis + + * doc/tm.texi (Misc): Fix thinko. + +2001-07-10 Jan van Male + + * regmove.c (replace_in_call_usage): Fix warnings. + * sched-deps.c (add_dependence): Fix warnings. + * simplify-rtx.c (simplify_subreg): Likewise. + Return NULL_RTX instead of NULL. + + * reg-stack.c (emit_swap_insn): Eliminate warnings. + (subst_asm_stack_regs): Likewise. + + * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid + warnings. + + * dwarf2out.c (output_call_frame_info): Declare i as int. + (build_abbrev_table): Declare n_alloc as int. + (dwarf2out_finish): Initialize die. + * except.c: Declare sjlj_funcdef_number as unsigned. + (connect_post_landing_pads): Declare j as unsigned. + (convert_to_eh_region_ranges): Initialize call_site. + (output_function_exception_table): Initialize tt_format_size. + * expr.c (move_by_pieces_1): Initialize to1. + (store_constructor): Initialize minelt and maxelt. + * flow.c (mark_regs_live_at_end): Declare i as unsigned. + * function.c (instantiate_decls): Avoid signed/unsigned warning. + + * c-decl.c (combine_parm_decls): Unused, remove. + * c-tree.h: Remove prototype for combine_parm_decls. + + * reload.c (push_reload): Fix warning. + (regno_clobbered_p): Likewise. + * reload1.c (replace_pseudos_in_call_usage): Likewise. + (reload_combine): Likewise. + + * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings. + * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix + warnings. + * bitmap.c (bitmap_operation): Change user. + * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise. + +2001-07-10 Eric Christopher + + * config/mips/mips.c (override_options): Fix typo. + +2001-07-09 Stan Shebs + + * target.h (struct gcc_target): New fields init_builtins and + expand_builtin. + * target-def.h (TARGET_INIT_BUILTINS): New macro. + (TARGET_EXPAND_BUILTIN): New macro. + (TARGET_INITIALIZER): Add them. + * builtins.c: Include target.h. + (expand_builtin): Use targetm.expand_builtin. + (default_init_builtins): New function. + (default_expand_builtin): New function. + * expr.h (default_init_builtins): Declare. + (default_expand_builtin): Declare. + * c-common.c (c_common_nodes_and_builtins): Use + targetm.init_builtins. + * defaults.h (MD_INIT_BUILTINS): Remove. + * Makefile.in (builtins.o): Depend on target.h. + + * config/arm/arm.c (TARGET_INIT_BUILTINS): Define. + (TARGET_EXPAND_BUILTIN): Define. + * config/arm/arm.h (MD_INIT_BUILTINS): Remove. + (MD_EXPAND_BUILTIN): Remove. + + * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define. + (TARGET_EXPAND_BUILTIN): Define. + (c4x_init_builtins): Make endlink arg a local. + (c4x_print_operand): Fix typos in adjust_address usages. + * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl. + * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove. + (MD_EXPAND_BUILTIN): Remove. + + * config/i386/i386.c (TARGET_INIT_BUILTINS): Define. + (TARGET_EXPAND_BUILTIN): Define. + (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins. + (ix86_init_builtins): Call new function only if TARGET_MMX. + * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare. + * config/i386/i386.h (MD_INIT_BUILTINS): Remove. + (MD_EXPAND_BUILTIN): Remove. + + * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define. + (TARGET_EXPAND_BUILTIN): Define. + * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove. + (MD_EXPAND_BUILTIN): Remove. + + * doc/tm.texi: Document these changes. + +2001-07-09 Diego Novillo + + * basic-block.h (tree_node): Forward declare if needed. + (struct basic_block_def): Add fields 'head_tree' and 'end_tree'. + (BLOCK_HEAD_TREE): Define. + (BLOCK_END_TREE): Define. + (struct loops): Rename field 'tree' to 'tree_root'. + * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and + 'end_tree'. + (flow_loops_tree_build): Rename reference to field 'tree' to + 'tree_root'. + (flow_loops_level_compute): Ditto. + * predict.c (estimate_bb_frequencies): Ditto. + * tree.h (struct tree_common): Add field 'aux'. + +2001-07-09 Stan Shebs + + * config/darwin.c (darwin_encode_section_info): Don't mark any + DECL_EXTERNAL node as defined. + +2001-07-09 John David Anglin + + * pa.c (pa_init_machine_status, pa_mark_machine_status, + pa_free_machine_status, hppa_init_pic_save): Delete. + (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val. + (hppa_profile_hook): Use hppa_pic_save_rtx. + * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX, + hppa_init_pic_save): Delete. + (hppa_pic_save_rtx): Declare. + * pa.md (call, call_value, sibcall, sibcall_value, + builtin_setjmp_receiver): Use hppa_pic_save_rtx. + +2001-07-09 Kazu Hirata + + * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi. + * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise. + +2001-07-09 Andreas Jaeger + + * output.h: Add declaration of final_forward_branch_p. + + * config/i386/i386.c (output_fix_trunc): Remove unused variable. + + * varray.c: Include errors.h for internal_error and trim_filename + declarations. + + * Makefile.in (varray.o): Add errors.h. + +2001-07-09 Toon Moene + + * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn. + * optabs.c (have_add2_insn): Check whether the add insn chosen + really accepts the operands. (have_sub2_insn): Ditto for sub insn. + * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn. + +Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (OBJS): Add ssa-ccp.o + (ssa-ccp.o): Add dependencies. + * toplev.c (DFI_ssa_ccp): New dump file enum. + (dump_file): Add entry for dumping after SSA CCP. + (flag_ssa_ccp): New flag variable. + (f_options): Add -fssa-ccp. + (rest_of_compilation): Run SSA CCP if requested. + * timevar.def (TV_SSA_CCP): New timevar. + * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes. + * doc/gcc.texi (Passes): Add documentation for SSA CCP pass. + Fix minor typo in SSA DCE documentation. + * doc/invoke.texi: Add documentation for new flag -fssa-ccp. + Add documentation for new dump option. Renumber dump files + appropriately. + +Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka + + * emit-rtl.c (gen_highpart_mode): New. + * rtl.h (gen_highpart_mode): Declare. + * sparc.md (insn splitters): Use gen_highpart_mode, whenever the + operand can be VOIDmode constant. + +Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka + + * flow.c (redirect_edge_and_branch_force): New. + (can_fallthru): Ensure that basic blocks are succeeding. + (try_optimize_cfg): Do not delete basic block if it is the last one. + + * flow.c (try_redirect_by_replacing_jump): Do not remove + jumps with side effects, unlink chain on fallthru edge; + set block for new jump instruction; avoid basic block to + over by line number note. + + * flow.c (try_simplify_condjump): Verify that the condjump + is not always falling through. + + Re-install patch: + * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter. + + * flow.c (forwarder_block_p): Fix for fallthru blocks. + (try_redirect_by_replacing_jump): Update properly the count + and frequency information. + +Mon Jul 9 06:41:07 2001 Richard Kenner + + * emit-rtl.c (adjust_address, adjust_address_nv): Handle an + address that is a LO_SUM specially. + * explow.c (plus_constant_wide, case LO_SUM): Deleted. + + * c-lang.c (start_cdtor): Remove extra parameter from start_function. + + * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns. + (operand_subword): Use them. + (change_address_1): Renamed from change_address; new arg VALIDATE. + * expr.h: Reflect above changes; change_address now macro. + * alias.c (canon_rtx): Use replace_equiv_address_nv instead of + making MEM. + * cselib.c (add_mem_for_addr): Likewise. + * expr.c (protect_from_queue, emit_move_insn_1): Likewise. + * regmove.c (try_apply_stack_adjustment): Likewise. + * reload.c (push_reload, make_memloc): Likewise. + * reload1.c (eliminate_regs): Likewise. + * simplify-rtx.c (simplify_replace_rtx): Likewise. + * caller-save.c (setup_save_areas): Use adjust_address_nv instead of + adjust_addess. + * combine.c (make_extraction, simplify_shift_const): Likewise. + (gen_lowpart_for_combine): Likewise. + * cse.c (gen_lowpart_if_possible): Likewise. + * function.c (fixup_var_refs_1, purge_addressof_1): Likewise. + * expr.c (expand_expr, case COMPONENT_REF): Likewise. + * optabs.c (gen_move_insn): Likewise. + * reload1.c (alter_reg): Likewise. + * simplify-rtx.c (simplify_subreg): Likewise. + * stmt.c (expand_anon_union_decl): Likewise. + * recog.c (validate_replace_rtx_1): Likewise. + (expr.h): Include. + * Makefile.in (recog.o): Add $(EXPR_H). + * explow.c (stabilize): Call replace_equiv_address. + * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise. + * final.c (alter_subreg): OFFSET is HOST_WIDE_INT. + +2001-07-03 Andrew Haley + + * expmed.c (store_fixed_bit_field): Don't use a mode bigger than + the mode of the memory location. + +2001-07-09 Bo Thorsen + + * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support. + +2001-07-09 Neil Booth + + * final.c (output_addr_const): Use target opening and + closing parentheses. + * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN + defaults, add to TARGET_ASM_OUT. + * target.h (struct gcc_target): Add open_paren and close_paren. + * doc/md.texi: Update. + * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE, + TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and + TARGET_ASM_CLOSE_PAREN. + * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN): + Override. + * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN): + Override. + * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove. + * config/a29k/a29k.h: Similarly. + * config/alpha/alpha.h: Similarly. + * config/arc/arc.h: Similarly. + * config/arm/aof.h: Similarly. + * config/arm/aout.h: Similarly. + * config/avr/avr.h: Similarly. + * config/c4x/c4x.h: Similarly. + * config/clipper/clipper.h: Similarly. + * config/convex/convex.h: Similarly. + * config/d30v/d30v.h: Similarly. + * config/dsp16xx/dsp16xx.h: Similarly. + * config/elxsi/elxsi.h: Similarly. + * config/fr30/fr30.h: Similarly. + * config/h8300/h8300.h: Similarly. + * config/i370/i370.h: Similarly. + * config/i386/i386.h: Similarly. + * config/i860/i860.h: Similarly. + * config/i960/i960.h: Similarly. + * config/ia64/ia64.h: Similarly. + * config/m32r/m32r.h: Similarly. + * config/m68hc11/m68hc11.h: Similarly. + * config/m68k/m68k.h: Similarly. + * config/m88k/m88k.h: Similarly. + * config/mcore/mcore.h: Similarly. + * config/mips/mips.h: Similarly. + * config/mn10200/mn10200.h: Similarly. + * config/mn10300/mn10300.h: Similarly. + * config/ns32k/ns32k.h: Similarly. + * config/pa/pa.h: Similarly. + * config/pdp11/pdp11.h: Similarly. + * config/pj/pj.h: Similarly. + * config/romp/romp.h: Similarly. + * config/rs6000/rs6000.h: Similarly. + * config/sh/sh.h: Similarly. + * config/sparc/sparc.h: Similarly. + * config/v850/v850.h: Similarly. + * config/vax/vax.h: Similarly. + * config/we32k/we32k.h: Similarly. + +2001-07-09 Joseph S. Myers + + * doc/c-tree.texi: Document representation of attributes. + +2001-07-08 Joseph S. Myers + + * doc/tm.texi: Update some places for the rename of target to + targetm. Fix typo. + +2001-07-08 Joseph S. Myers + + * target.h (struct gcc_target): Add insert_attributes. + * target-def.h (TARGET_INSERT_ATTRIBUTES): Define. + (TARGET_INITIALIZER): Update. + * tree.c, tree.h (default_insert_attributes): New function. + Update comments on other default functions to refer to targetm, + not target. + * doc/tm.texi (INSERT_ATTRIBUTES): Update to document + TARGET_INSERT_ATTRIBUTES. + (SET_DEFAULT_DECL_ATTRIBUTES): Remove. + * c-common.c (decl_attributes): Use targetm.insert_attributes. + Don't use PRAGMA_INSERT_ATTRIBUTES. + * Makefile.in (c-common.o): Depend on $(TARGET_H). + * c-decl.c (start_decl, start_function): Don't call + SET_DEFAULT_DECL_ATTRIBUTES. + * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define. + * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't + declare. + * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define. + (c4x_check_attribute): Avoid modifying attribute list itself. + (c4x_set_default_attributes): Rename to c4x_insert_attributes. + Make static. + * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define. + * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't + declare. + * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define. + (sh_pragma_insert_attributes): Rename to sh_insert_attributes. + Make static. + * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define. + * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't + declare. + * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define. + (v850_set_default_decl_attr): Rename to v850_insert_attributes. + Adjust parameters. Make static. + +2001-07-08 Joseph S. Myers + + * c-common.c (decl_attributes): Only take a single attributes + parameter. + * c-common.h (decl_attributes): Update prototype. + * c-decl.c (start_decl, start_function): Only take a single + attributes parameter. Update calls to decl_attributes. + (finish_struct, finish_enum): Update calls to decl_attributes. + (push_parm_decl): Expect unified list of attributes. Update call + to decl_attributes. + * c-parse.in (fndef, initdcl, notype_initdcl, nested_function, + notype_nested_function, component_declarator, + component_notype_declarator, label): Update calls to + decl_attributes. + (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute + lists that are passed to push_parm_decl. + * c-tree.h (start_function, start_decl): Update prototypes. + * config/sh/sh-protos.h, config/sh/sh.c + (sh_pragma_insert_attributes): Only take a single attributes + parameter. + * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise. + * doc/tm.texi (INSERT_ATTRIBUTES): Update. + * objc/objc-act.c (define_decl, generate_objc_symtab_decl, + build_module_descriptor, generate_static_references, + generate_strings, build_selector_translation_table, + generate_descriptor_table, generate_protocols, + generate_ivars_list, generate_dispatch_table, + generate_protocol_list, generate_category, + generate_shared_structures, really_start_method, add_objc_decls, + generate_classref_translation_entry): Update calls to start_decl + and start_function. + (build_tmp_function_decl, start_method_def): Unify attribute lists + that are passed to push_parm_decl. + +2001-07-08 Neil Booth + + * final.c (no_asm_to_stream): New. + (final_scan_insn): Use target structures for prologue ends + and epilogue starts. + * output.h (no_asm_to_stream): New. + * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE, + TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New. + (TARGET_ASM_OUT): Update. + * target.h (struct gcc_target): New members function_end_prologue + and function_begin_epilogue. + * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused. + * config/alpha/alpha-protos.h (output_end_prologue): Delete. + * config/alpha/alpha.c (output_end_prologue): Rename to + alpha_output_function_end_prologue. Use in target struct + and make static. + * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete. + * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete. + * config/ia64/ia64.c (ia64_output_end_prologue): Rename to + ia64_output_function_end_prologue. Use in target struct + and make static. + (ia64_function_prologue, ia64_funciton_epilogue): Rename + mistyped prototypes. + * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete. + * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue): + Delete. + * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename + an use in target struct, make static. + * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE): + Delete. + +2001-07-08 Richard Henderson + + * stmt.c (emit_case_nodes): Convert modes properly in low+high test. + +2001-07-08 Richard Henderson + + * config/i386/i386.md: Remove constraints strings from define_split + and define_peephole2 patterns. + (eh_return_si, eh_return_di): Split eh_return_1 for modes. + (eh_return): Use them. + +2001-07-08 Richard Henderson + + * doc/tm.texi (Exception Handling): New subnode of Stack and Calling. + Document MD_FALLBACK_FRAME_STATE_FOR. + +2001-07-07 Stephane Carrez + + * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): + Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM + elimination. + * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0. + +2001-07-07 Nick Clifton + + * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end + of the label inside NAME as opposed to just the end of NAME. + +2001-07-07 Neil Booth + + * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete. + * config/alpha/alpha.c (alpha_init_machine_status, + alpha_mark_machine_status, alpha_free_machine_status): Delete. + (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS. + (vms_valid_decl_attribute_p): Make static, conditionally compile. + * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete. + +2001-07-06 Stan Shebs + + * target.h (targetm): Rename global from "target", so as not to + conflict with local variables. + * c-decl.c: Ditto. + * c-typeck.c: Ditto. + * final.c: Ditto. + * tree.c: Ditto. + * cp/decl.c: Ditto. + * cp/decl2.c: Ditto. + * cp/typeck.c: Ditto. + * 1750a/1750a.c: Ditto. + * a29k/a29k.c: Ditto. + * arc/arc.c: Ditto. + * arm/arm.c: Ditto. + * avr/avr.c: Ditto. + * clipper/clipper.c: Ditto. + * convex/convex.c: Ditto. + * d30v/d30v.c: Ditto. + * dsp16xx/dsp16xx.c: Ditto. + * elxsi/elxsi.c: Ditto. + * fr30/fr30.c: Ditto. + * h8300/h8300.c: Ditto. + * i370/i370.c: Ditto. + * i386/i386.c: Ditto. + * i860/i860.c: Ditto. + * i960/i960.c: Ditto. + * ia64/ia64.c: Ditto. + * m32r/m32r.c: Ditto. + * m68hc11/m68hc11.c: Ditto. + * m68k/m68k.c: Ditto. + * m88k/m88k.c: Ditto. + * mips/mips.c: Ditto. + * ns32k/ns32k.c: Ditto. + * pa/pa.c: Ditto. + * pdp11/pdp11.c: Ditto. + * romp/romp.c: Ditto. + * rs6000/rs6000.c: Ditto. + * sh/sh.c: Ditto. + * sparc/sparc.c: Ditto. + * vax/vax.c: Ditto. + * we32k/we32k.c: Ditto. + * doc/tm.texi: Update the manual to match. + +2001-07-06 Richard Henderson + + * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of + DWARF2_UNWIND_INFO not just whether it is defined. + +2001-07-06 Diego Novillo + + * combine.c (combine_simplify_rtx): Also recompute 'mode' if the + call to simplify_binary_operation returns a new pattern. + +2001-07-06 Roman Lechtchinsky + + * glimits.h (__SHRT_MAX__): New. + (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX. + (SHRT_MAX): Define in terms of __SHRT_MAX__. + +2001-07-06 Jan van Male + + * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to + avoid warnings. + +2001-07-06 Richard Henderson + + * bitmap.c (bitmap_release_memory): Move adjacent to the + allocation functions. + (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing + the implementation. Binary search for the set bit. + (bitmap_union_of_diff): Allocate the temporary on the stack + instead of using xmalloc. + +2001-07-06 Richard Henderson + + * genrecog.c (validate_pattern): Warn for constraints in + define_{expand,split,peephole2}. Remove strict_low_part + before looking up match_dup. + +2001-07-06 DJ Delorie + + * doc/gcc.texi (Makefile): Rename to be a more general purpose + chapter about various build hints and history. Add section + talking about the various types of native and cross builds. + +2001-07-06 Neil Booth + + * Makefile.in (final.o): Depend on target.h. + * final.c: Include target.h. + (default_function_pro_epilogue): New. + (final_start_function): Use target structure for function prologues. + (final_end_function): Use target structure for function epilogues. + * fold-const.c (real_hex_to_f): Constify s and p. + * output.h (default_function_pro_epilogue): New. + * real.h (real_hex_to_f): Update prototype. + * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE, + TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New. + (TARGET_INITIALIZER): Update. + * target.h (gcc_target): Add struct asm_out. + * doc/tm.texi: Update. + +config: + Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and + TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions + in cpu/cpu.c, or rename old functions consistently. Take + a HOST_WIDE INT not an int as the SIZE parameter. Remove now + redundant macros and prototypes. Make new functions static. + + * 1750a/1750a.c: Similarly. + * 1750a/1750a.h: Similarly. + * a29k/a29k-protos.h: Similarly. + * a29k/a29k.c: Similarly. + * a29k/a29k.h: Similarly. + * arc/arc-protos.h: Similarly. + * arc/arc.c: Similarly. + * arc/arc.h: Similarly. + * arm/arm-protos.h: Similarly. + * arm/arm.c: Similarly. + * arm/arm.h: Similarly. + * avr/avr-protos.h: Similarly. + * avr/avr.c: Similarly. + * avr/avr.h: Similarly. + * clipper/clipper-protos.h: Similarly. + * clipper/clipper.c: Similarly. + * clipper/clipper.h: Similarly. + * convex/convex.c: Similarly. + * convex/convex.h: Similarly. + * d30v/d30v-protos.h: Similarly. + * d30v/d30v.c: Similarly. + * d30v/d30v.h: Similarly. + * d30v/d30v.md: Similarly. + * dsp16xx/dsp16xx-protos.h: Similarly. + * dsp16xx/dsp16xx.c: Similarly. + * dsp16xx/dsp16xx.h: Similarly. + * elxsi/elxsi.c: Similarly. + * elxsi/elxsi.h: Similarly. + * fr30/fr30.c: Similarly. + * fr30/fr30.md: Similarly. + * h8300/h8300-protos.h: Similarly. + * h8300/h8300.c: Similarly. + * h8300/h8300.h: Similarly. + * i370/i370-protos.h: Similarly. + * i370/i370.c: Similarly. + * i370/i370.h: Similarly. + * i386/i386.c: Similarly. + * i386/osf1elf.h: Similarly. + * i386/osfrose.h: Similarly. + * i860/i860-protos.h: Similarly. + * i860/i860.c: Similarly. + * i860/i860.h: Similarly. + * i960/i960-protos.h: Similarly. + * i960/i960.c: Similarly. + * i960/i960.h: Similarly. + * ia64/ia64-protos.h: Similarly. + * ia64/ia64.c: Similarly. + * ia64/ia64.h: Similarly. + * m32r/m32r-protos.h: Similarly. + * m32r/m32r.c: Similarly. + * m32r/m32r.h: Similarly. + * m68hc11/m68hc11-protos.h: Similarly. + * m68hc11/m68hc11.c: Similarly. + * m68hc11/m68hc11.h: Similarly. + * m68k/crds.h: Similarly. + * m68k/dpx2.h: Similarly. + * m68k/m68k-protos.h: Similarly. + * m68k/m68k.c: Similarly. + * m68k/m68k.h: Similarly. + * m68k/news.h: Similarly. + * m88k/m88k-protos.h: Similarly. + * m88k/m88k.c: Similarly. + * m88k/m88k.h: Similarly. + * mips/mips-protos.h: Similarly. + * mips/mips.c: Similarly. + * mips/mips.h: Similarly. + * ns32k/merlin.h: Similarly. + * ns32k/ns32k.c: Similarly. + * ns32k/ns32k.h: Similarly. + * ns32k/tek6000.h: Similarly. + * pa/pa-protos.h: Similarly. + * pa/pa.c: Similarly. + * pa/pa.h: Similarly. + * pdp11/2bsd.h: Similarly. + * pdp11/pdp11-protos.h: Similarly. + * pdp11/pdp11.c: Similarly. + * pdp11/pdp11.h: Similarly. + * romp/romp-protos.h: Similarly. + * romp/romp.c: Similarly. + * romp/romp.h: Similarly. + * rs6000/rs6000-protos.h: Similarly. + * rs6000/rs6000.c: Similarly. + * rs6000/rs6000.h: Similarly. + * rs6000/sysv4.h: Similarly. + * sh/sh-protos.h: Similarly. + * sh/sh.c: Similarly. + * sh/sh.h: Similarly. + * sparc/sparc-protos.h: Similarly. + * sparc/sparc.c: Similarly. + * sparc/sparc.h: Similarly. + * vax/vax.c: Similarly. + * vax/vax.h: Similarly. + * vax/vms.h: Similarly. + * we32k/we32k.c: Similarly. + * we32k/we32k.h: Similarly. + +Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com) + + * basic-block.h (first_insn_after_basic_block_note): Declare. + * flow.c (first_insn_after_basic_block_note): Define. Moved + from... + * ssa.c (first_insn_after_basic_block_note): Remove. + * ssa-dce.c (find_inherently_necessary): Consider BARRIERs + necessary. + (ssa_eliminate_dead_code): Properly update the CFG and PHI + nodes when we find a dead conditional branch. Insert BARRIERs + after any blocks with no successors, but which do not have + any BARRIERs. + +2001-07-06 Zack Weinberg + + * varray.c (varray_check_failed): Use internal_error. + +2001-07-05 Andrew Haley + + * Makefile.in (LIB2_DIVMOD_FUNCS): New. + (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS. + * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS. + +2001-07-02 Jason Merrill + + * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool + reference if the target constant is also a SYMBOL_REF. + +2001-07-05 Eric Christopher + + * config/mips/mips.h (MASK_MIPS3900): Remove. + (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV, + MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal. + (TARGET_MIPS3900): Change to use mips_arch. + (TARGET_MIPS4000): New. + (TARGET_MIPS4100): New. + (TARGET_MIPS4300): New. + (TARGET_SWITCHES): Change 3900 and 4650 options to NULL. + (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text + for -mipsX. + (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900. + (ISA_HAS_BRANCHLIKELY): To here. + (CC1_CPU_SPEC): New. + (CC1_SPEC): Use here. Remove 4650 and 3900 options. + (mips_arch_string): Declare. + (mips_arch): Declare. + (TARGET_OPTIONS): Add -march and -mtune. + + * config/mips/mips.c (mips_arch_string): New. + (mips_arch): New. + (override_options): Handle -march for codegen and -mtune + for scheduling. Use mips_arch. Move tx39 target default here. + (mips_parse_cpu): Move error message to override_options. + + * config/mips/r3900.h (TARGET_DEFAULT): Remove. + + * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300. + + * doc/invoke.texi (Option Summary): Add -march and -mtune entries. + (MIPS Options): Ditto. Change mcpu entry to historical text. + +2001-07-05 H.J. Lu (hjl@gnu.org) + + * config/mips/mips.c (mips_parse_cpu): New function to parse + -march=*/-mcpu=*. + +2001-07-05 Jim Wilson + + * config/ia64/lib1funcs.asm: Revert 2001-07-02 change. + * config/ia64/t-ia64: Likewise. + (LIB1ASMFUNCS): Update comment. + +2001-07-05 David Edelsohn + + * doc/install.texi (Install GCC: Binaries): Fix typo. + +2001-07-04 Stephane Carrez + + * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory + reference using the stack pointer, adjust it since we push Y + temporarily. + ("*ashrsi3"): Likewise. + ("*lshrsi3"): Likewise. + +2001-07-05 Stephane Carrez + + * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address + when -fomit-frame-pointer is used. + +2001-07-05 Jeffrey Oldham + + * flow.c: Reverse Jan Hubicka's patch of 02July2001. + (try_redirect_by_replacing_jump): Reverse updating properly the + count and frequency information. Reverse removing cc0 setter. + (forwarder_block_p): Reverse fixing for fallthru blocks. + +2001-07-05 DJ Delorie + + * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New. + (translate_options): If the above is defined, use it to map + given options to new options. + * doc/tm.texi: Document it. + +2001-07-05 Brad Lucier + Gerald Pfeifer + + * doc/invoke.texi (Optimize Options): Document that -fgcse may + cause programs using computed gotos to run more slowly. + +2001-07-05 Rainer Orth + + * doc/install.texi (Specific): Markup, spelling and typo fixes. + Fixed sorting. + Consistently require binutils 2.11.2, not prereleases. + (Specific, decstation-*): Canonicalize as mips-dec-*. + (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement, + always necessary. + (Specific, m68k-altos): Removed reference to README.altos, deleted. + (Specific, mips-*): Reword MIPS C compiler requirements. + (Specific, powerpc*-*-*): New, mention --with-cpu once. + (Specific, sunv5): Removed, obsolete. + +2001-07-05 Nathan Sidwell + + * dwarf2out.c (output_loc_list): Use an all ones mask for + .text asm output and don't rely on long long + literals. Reformat some long lines. + +2001-07-05 Andreas Jaeger + + * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL + section. + +2001-07-04 Daniel Berlin + + * dwarf2out.c (dwarf2out_define): Update comment. + (dwarf2out_undef): Ditto. + (dwarf2out_start_source_file): Ditto. + (dwarf2out_end_source_file): Ditto. + (dwarf2out_finish): Output DW_MACINFO_end_file for primary file, + since we never call the start/end debug hook for the primary file. + +2001-07-04 Kazu Hirata + + * config/h8300/h8300.c (get_shift_alg): Remove an extra operand + from shll. + +2001-07-04 Nathan Sidwell + + * cppinit.c (remove_dup_dirs): Inform if a system include + directory is being reordered. + * doc/invoke.texi (Directory Options): GCC warns if you hide a + system include. + * doc/cpp.texi (Search Paths): Likewise. + * doc/gcc.texi (Interoperation): Remove information about + -I/usr/include. + +2001-07-04 Nathan Sidwell + + * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter. + (VARRAY_TOP_CHAR_PTR): Likewise. + +2001-07-04 Kaveh R. Ghazi + + * gcc.c (process_command): Don't assign elements of a const char*. + +Wed Jul 4 13:40:02 2001 Richard Kenner + + * emit-rtl.c (change_address): Don't abort if invalid address while + reload is in progress. + +2001-07-04 Daniel Berlin + + * c-lex.c (cb_file_change): Pass line number to + debug_start_source_file. + (cb_undefine): Pass correct line number to debug_undef. + + * toplev.c (debug_start_source_file): Add line number to + parameters. Pass it along to dwarf2out_start_source_file. + (decode_g_option): Stop resetting debug level back to normal when + we change debug formats, unless the current level is + none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than + 3). + + * toplev.h (debug_start_source_file): Add line number to + parameters. + + * dwarf2out.h (dwarf2out_start_source_file): Add line number to + parameters. + + * dwarf2out.c (dwarf2out_start_source_file): Add line number to + parameters. + Output debug_macinfo data for starting file if requested. + (dwarf2out_end_source_file): Output debug_macinfo data for ending + file if requested. + (dwarf2out_define): Output debug_macinfo data for defining a macro + if requested. + (dwarf2out_undef): Output debug_macinfo data for undefining a + macro if requested. + (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name. + (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label. + (macinfo_section_label): New. DWARF2 macro info section label. + (dwarf2out_init): If we want macro info, output the start label + for the section. + (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info + attribute to the compilation unit die pointing to the macro info. + +2001-07-04 Daniel Berlin + + * dwarf2out.c (new_loc_list): Move to inside #ifdef + DWARF2_DEBUGGING_INFO. + (add_loc_descr_to_loc_list): Ditto. + (output_loc_list): Ditto. + Also, fix thinko in curr not being initialized. + (gen_internal_sym): Ditto. + +Wed Jul 4 13:40:02 2001 Richard Kenner + + * emit-rtl.c (replace_equiv_address): New function. + * expr.h (replace_equiv_address): New declaration. + * explow.c (validize_mem): Call it instead of change_address and + also call if -fforce-addr and address is constant. + * expr.c: Replace more calls to change_address with adjust_address + and/or replace_equiv_address or to validize_mem. + * function.c, regmove.c, config/alpha/alpha.c: Likewise. + * config/arm/arm.md, config/clipper/clipper.md: Likewise. + * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise. + * config/i370/i370.md, config/i860/i860.md: Likewise. + * config/i960/i960.md, config/mips/mips.c: Likewise. + * config/mips/mips.md, config/pa/pa.md: Likewise. + * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise. + * config/rs6000/rs6000.md, config/sh/sh.md: Likewise. + +2001-07-04 Kaveh R. Ghazi + + * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA. + + * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a + function. + +2001-07-04 Joseph S. Myers + + * doc/include: New directory. + * doc/fdl.texi: Move to doc/include/fdl.texi. + * doc/texinfo.tex: Move to doc/include/texinfo.tex. + * doc/include/funding.texi, doc/include/gpl.texi: New files. + * doc/gcc.texi: Use funding.texi and gpl.texi. + * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info, + $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi): + Update dependencies and use -I $(docdir)/include. + +2001-07-04 Anthony Green + + * config/v850/t-v850 (v850-c.o): Add missing dependencies. + +2001-07-04 Gerald Pfeifer + + * doc/install.texi (sparc64-*-*): Remove garbage. + +Wed Jul 4 09:07:44 2001 Jan van Male + + * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS): + Fix typo in last change to use adjust_address. + +2001-07-04 Gerald Pfeifer + + * doc/install.texi (Specific): Update information for *-*-solaris*. + +Tue Jul 3 22:33:15 2001 Richard Kenner + + * explow.c (plus_constant_wide): Reinitialize Y for restart. + +2001-07-03 Stan Shebs + + * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove + case for flag_no_mach_text_sections. + (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION. + * config/darwin.c (flag_no_mach_text_sections): Remove. + * config/darwin-protos.h (darwin_init_pragma): Remove decl. + +Tue Jul 3 15:35:52 2001 Richard Kenner + + * explow.c (plus_constant_wide, case PLUS): Call find_constant_term + and avoid checking for constant as first operand. + * recog.c (find_constant_term_loc): No longer static. + (adj_offettable_operand): Delete. + * rtl.h (adj_offsettable_operand): Delete declaration. + (find_constant_term): Add declaration. + * caller-save.c: Replace calls to adj_offsettable_operand with calls + to adjust_address. + * config/arm/arm.c, config/c4x/c4x.c: Likewise. + * config/clipper/clipper.md, config/h8300/h8300.c: Likewise. + * config/i386/i386.c, config/i386/i386.md: Likewise. + * config/i860/i860.c, config/i960/i960.c: Likewise. + * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise. + * config/m68k/m68k.c, config/m68k/m68k.md: Likewise. + * config/m88k/m88k.md, config/mcore/mcore.c: Likewise. + * config/mips/mips.c, config/mips/mips.md: Likewise. + * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise. + * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise. + * config/pa/pa.c, config/pdp11/pdp11.c: Likewise. + * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise. + * config/vax/vax.md, config/ns32k/ns32k.c: Likewise. + * config/ns32k/ns32k.md: Likewise. + +2001-07-03 Zack Weinberg + + * rtl.c (copy_rtx): Handle 'T' format letter. + * gensupport.c (collect_insn_data): Likewise. + * print-rtl.c (print_rtx): Print 'T' slots like 's'. + +2001-07-03 Nick Clifton + + * doc/invoke.texi (Directory Options): Specifiy range for in + -B option. Use 'dir' not 'foo' as example directory name. + +2001-07-03 Rainer Orth + + * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define. + Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275. + +2001-07-03 Joseph S. Myers + + * doc/cppinternals.texi: Improve formatting and logical markup. + +2001-07-03 Andreas Jaeger + + * Makefile.in (insn-recog.o): Add dependency on reload.h. + + * genrecog.c (write_header): Include reload.h for prototypes in + insn-recog.c. + +2001-07-03 Neil Booth + +config: + * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE, + VALID_MACHINE_TYPE_ATTRIBUTE): Remove. + * i386/i386-protos.h (i386_pe_valid_decl_attribute_p, + i386_pe_valid_type_attribute_p): Add. + * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets. + * i386/winnt.c (i386_valid_decl_attribute_p): Return directly. + +Mon Jul 2 21:52:19 2001 Richard Kenner + + * explow.c (plus_constant_wide, case LO_SUM): New case. + (plus_constant_for_output_wide): Delete. + * rtl.h (plus_constant_for_output): Delete. + * alias.c (canon_rtx, init_alias_analysis): Call plus_constant + instead of plus_constant_for_output. + * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise. + * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise. + * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise. + * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise. + * config/sparc/sparc.md: Likewise. + Convert some change_address calls to adjust_address. + +2001-07-03 Joseph S. Myers + + * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi, + doc/rtl.texi, doc/tm.texi: Improve formatting. Improve + documentation of -std and -Wwrite-strings. + +2001-07-02 Geoffrey Keating + + * cse.c (canon_hash): Don't register registers in very small + register classes, as extending their lifetime might cause + reload to fail. + +Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka + + * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter. + + * flow.c (forwarder_block_p): Fix for fallthru blocks. + (try_redirect_by_replacing_jump): Update properly the count + and frequency information. + +Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com) + + * toplev.c (dump_file_index): Move SSA dumps just after first + jump dump. + (dump_file): Corresponding changes. + (rest_of_compilation): Move SSA path to just after the first + jump pass. + * doc/gcc.texi (Passes): Update due to movement of SSA path. + * doc/invoke.texi: Update dump file #s as they were completely + out of date with reality. + +2001-07-02 Geoffrey Keating + + * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE. + + * expr.c (emit_move_insn_1): Deal with non-default + STACK_PUSH_CODE. + + * expr.c (emit_single_push_insn): Fix warning. + +2001-07-02 Toshiyasu Morita + + * expr.c (emit_move_insn_1): Avoid modifying + cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined. + +Mon Jul 2 15:33:31 2001 Richard Kenner + + * emit-rtl.c (adjust_address): New function. + * expr.h (adjust_address): Add declaration. + * builtins.c: Replace some calls to change_address with calls to it + or to validize_mem. + * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise. + * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise. + * config/arm/arm.c, config/convex/convex.c: Likewise. + * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise. + * config/i386/i386.c, config/i386/i386.md: Likewise. + * config/ia64/ia64.c, config/ia64/ia64.md: Likewise. + * config/m32r/m32r.c, config/m68k/m68k.md: Likewise. + * config/m88k/m88k.c, config/mips/mips.md: Likewise. + * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise. + * config/sh/sh.c, config/sparc/sparc.md: Likewise. + +2001-07-02 Jim Wilson + + * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment. + +2001-07-02 Steve Ellcey + + * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore. + * config/ia64/lib1funcs.asm: Change macro names to match t-ia64. + +2001-07-02 Zack Weinberg + + * cppinit.c (lang_defaults): New table. + (set_lang): Just read from lang_defaults into the live options + structure. + +2001-07-02 Zack Weinberg + + * Makefile.in (doc): Depend on $(GENERATED_MANPAGES). + * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1. + * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed. + +2001-07-02 Rainer Orth + + * doc/install.texi: Various spelling and markup fixes. + (Installing GCC): Component specific installation instructions are + gone. + Fix reference. + Warn about removing old install dir in the presence of shared libs. + (Configuration): Invoke with options target to match configure + --help. + Consistently refer to gas, gld pathnames. + Invert --enable-multilib documentation. + Remove references to old compiler versions. + +Mon Jul 2 12:50:51 2001 Richard Kenner + + * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags. + +2001-07-02 Rainer Orth + + * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5 + section. + (Specific, mips*-sgi-irix5): Note IDO download. + Reworded MIPS C hints. + Use GNU as instead of GAS. + Markup fixes. + Removed SGI Freeware reference, IRIX 6 only. + (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete. + Note N64 library requirement/workaround. + Update O32 hints. + Complete list of structure passing bug victims. + +2001-07-02 Gerald Pfeifer + + * doc/install.texi: Remove CVS Id. + +2001-07-02 Andreas Jaeger + + * ssa-dce.c (note_inherently_necessary_set): Add unused attribute. + (find_inherently_necessary): Remove unused variable. + +2001-07-02 Nathan Sidwell + + * c-common.h (TDI_inlined): New ast dump phase. + (dump_flag_name): New function. + * c-dump.c (dump_files): Add inlined phase. + (dump_flag_name): Define. + * doc/invoke.texi (-fdump-ast-inlined): Document. + +Mon Jul 2 06:29:36 2001 Richard Kenner + + * stor-layout.c (layout_decl): Revert change to handling of alignment + in packed types. + +Sun Jul 1 11:53:52 2001 Richard Kenner + + * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl + for FIELD_DECL. + +2001-07-01 Geoffrey Keating + + * doc/tm.texi (FUNCTION_ARG): Document that the last call + is special. + +2001-07-01 Nathan Sidwell + + * tlink.c (recompile_files): Remove COMPILER_PATH and + LIBRARY_PATH from the environment. + +2001-07-01 Zack Weinberg + + * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT, + RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST + enumerators. + (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros. + + * c-parse.in (OBJC_STRING): Kill. + (objc_string): Decompose to [objc_string] '@' STRING. + (reswords): Take the leading '@' off all the Objective C keywords. + (objc_rid_sans_at): Kill. + (init_reswords): Don't initialize it. + (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD. + (_yylex): Kill reconsider label. Look ahead one token after + an '@'; if we get an identifier, check whether it's an + Objective C @-keyword. If so, return the keyword. Otherwise, + put back the token and return the '@' as a terminal. + + * cpplib.c (lex_macro_node): Remove unnecessary check for + leading '@' on identifier. Clarify control flow and commentary. + +Sun Jul 1 11:53:52 2001 Richard Kenner + + * cse.c (new_label_ref): Variable deleted. + (insert): Remove set of new_label_ref. + (check_for_label_ref): New function. + (cse_basic_block): Don't check new_label_ref; call check_for_label_ref. + +See ChangeLog.5 for earlier changes.