blob: 87a339c6e515a5098c6c7a3bc515908ef937b328 [file] [log] [blame]
2001-12-31 Richard Henderson <rth@redhat.com>
* config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
2001-12-31 Richard Henderson <rth@redhat.com>
* 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 <rupp@gnat.com>
* config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
(NAME__MAIN, SYMBOL__MAIN): Define.
2001-12-31 Richard Henderson <rth@redhat.com>
* 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 <grahams@redhat.com>
* 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 <rth@redhat.com>
* 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 <grahams@redhat.com>
* 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 <rth@redhat.com>
* loop.c (check_dbra_loop): Fix last change: examine both
has_multiple_exit_targets and exit_count.
2001-12-30 Richard Henderson <rth@redhat.com>
* integrate.c (copy_rtx_and_substitute): Fix error last change:
we need to unconditionally create a new mem.
2001-12-30 Hans-Peter Nilsson <hp@bitrange.com>
* 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 <ghazi@caip.rutgers.edu>
* unroll.c: Move include files above first use of `const'.
2001-12-30 Jakub Jelinek <jakub@redhat.com>
* 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 <edelsohn@gnu.org>
* gcc.c (init_gcc_spec): Do not link with static libgcc.a if
gcc invoked with -shared.
2001-12-29 Graham Stott <grahams@redhat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <jakub@redhat.com>
* 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 <rth@redhat.com>
* 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 <shebs@apple.com>
* 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 <kazu@hxi.com>
* 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 <shebs@apple.com>
* 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 <kazu@hxi.com>
* doc/md.texi: Add @findex define_insn_and_split.
2001-12-28 Hans Bohem <hans_boehm@hp.com>
* 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 <kazu@hxi.com>
* 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 <kazu@hxi.com>
* config/h8300/h8300.md: Fix formatting.
2001-12-28 Geoff Keating <geoffk@redhat.com>
* varasm.c (record_constant_1): Correct parameter to recursive
call in default case.
2001-12-28 Jakub Jelinek <jakub@redhat.com>
* 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 <jakub@redhat.com>
* 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 <rth@redhat.com>
* 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 <geoffk@redhat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* integrate.c (copy_rtx_and_substitute, case MEM): If inlining
and not for LHS, clear RTX_UNCHANGING_P.
2001-12-28 Philipp Thomas <pthomas@suse.de>
* cppfiles.c (stack_include_file): Don't translate <stdin>.
2001-12-27 Roger Sayle <roger@eyesopen.com>
* builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
when all arguments are known constant. Fixes PR opt/3508.
2001-12-27 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.md (two anonymous patterns): Remove.
2001-12-27 Richard Henderson <rth@redhat.com>
* 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 <amodra@bigpond.net.au>
David Edelsohn <edelsohn@gnu.org>
* config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
2001-12-27 Jakub Jelinek <jakub@redhat.com>
* toplev.c (independent_decode_option): Re-add -aux-info option
handling.
Thu Dec 27 09:50:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
if special value.
2001-12-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <edelsohn@gnu.org>
* 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 <dj@redhat.com>
* function.c (expand_main_function): Make sure stack adjustments
happen before sjlj exception setup.
2001-12-26 David Edelsohn <edelsohn@gnu.org>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <rth@redhat.com>
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 <rth@redhat.com>
* stmt.c (resolve_operand_names): Handle operand modifiers.
2001-12-23 Richard Henderson <rth@redhat.com>
* 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 <rth@redhat.com>
* 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 <jsm28@cam.ac.uk>
* 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 <jsm28@cam.ac.uk>
* Makefile.in (USER_H): Remove proto.h.
* config.gcc (c*-convex-*): Set extra_headers=proto.h.
2001-12-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* 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 <rth@redhat.com>
* 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 <aldyh@redhat.com>
* 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 <ghazi@caip.rutgers.edu>
* 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 <edelsohn@gnu.org>
* 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 <jh@suse.cz>
* 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 <jsm28@cam.ac.uk>
* 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 <ghazi@caip.rutgers.edu>
* 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 <jh@suse.cz>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <kazu@hxi.com>
* 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 <robertlipe@usa.net>
* system.h (PREFETCH): Explictly undefine.
2001-12-21 Richard Henderson <rth@redhat.com>
* c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
(RESTORE_WARN_FLAGS): Restore it.
(extension): Zero warn_traditional.
2001-12-21 Kazu Hirata <kazu@hxi.com>
* doc/passes.texi: Fix a typo.
2001-12-21 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.h: Fix a comment typo.
2001-12-21 Jakub Jelinek <jakub@redhat.com>
* 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 <nickc@cambridge.redhat.com>
* config/arm/arm.md (prefetch): Use 'a' operand code.
2001-12-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* 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 <ghazi@caip.rutgers.edu>
* 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 <zlomek@matfyz.cz>
* 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 <rth@redhat.com>
* config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
2001-12-20 Richard Henderson <rth@redhat.com>
* 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 <jsm28@cam.ac.uk>
* 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 <aj@suse.de>
* libgcc2.c (__bb_exit_func): Remove unused variable.
(num_digits): Remove unused function.
2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
* 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 <nickc@cambridge.redhat.com>
* 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 <rth@redhat.com>
* 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 <jh@suse.cz>
* 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 <turly@apple.com>
* tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
"recog_operand" to "recog_data.operand".
* rtl.def: Likewise.
2001-12-20 Jakub Jelinek <jakub@redhat.com>
* 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 <jakub@redhat.com>
* combine.c (distribute_notes): Avoid adding REG_LABEL notes
to JUMP_INSNs with JUMP_LABEL.
2001-12-19 Aldy Hernandez <aldyh@redhat.com>
* 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 <bkorb@gnu.org>
* 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 <jsm28@cam.ac.uk>
* 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 <dann@ics.uci.edu>
* 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 <jakub@redhat.com>
* config/ia64/ia64.c (ia64_single_set): Return first set for
prologue_allocate_stack and epilogue_deallocate_stack instructions.
2001-12-19 Dale Johannesen <dalej@apple.com>
* 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 <nickc@cambridge.redhat.com>
* 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 <rupp@gnat.com>
* dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
descriptor output.
2001-12-18 Stan Shebs <shebs@apple.com>
* rs6000.h (LOCAL_ALIGNMENT): Fix parens.
Tue Dec 18 17:02:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* emit-rtl.c (widen_memory_access): Only call compare_tree_int
on an INTEGER_CST.
2001-12-18 David Edelsohn <edelsohn@gnu.org>
* rs6000.c (rs6000_override_options): Only use DI ops when
TARGET_64BIT. Fix typo.
Tue Dec 18 16:39:46 CET 2001 Jan Hubicka <jh@suse.cz>
* 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 <jh@suse.cz>
* libgcc2.c (__bb_exit_func): Kill -ax dumping code.
2001-12-18 Jason Merrill <jason@redhat.com>
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 <rupp@gnat.com>
* 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 <jakub@redhat.com>
* 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 <obrien@FreeBSD.org>
* elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
2001-12-18 Joseph S. Myers <jsm28@cam.ac.uk>
* po/gcc.pot: Regenerate.
2001-12-18 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.c: Fix comment typos.
* config/h8300/h8300.h: Fix comment formatting.
2001-12-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* 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 <rth@redhat.com>
* config/alpha/alpha.md (unop): Encode RB as $sp.
2001-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
* 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 <aldyh@redhat.com>
* config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
2001-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
* 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 <nickc@cambridge.redhat.com>
* 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 <jsm28@cam.ac.uk>
* 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 <dalej@apple.com>
* 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 <aldyh@redhat.com>
* 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 <rth@redhat.com>
* config/sparc/sparc.md (movdi_zero): Remove.
(movdi_insn_sp32_v9): New.
2001-12-17 Richard Henderson <rth@redhat.com>
* 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 <jh@suse.cz>
* cfgrtl.c (redirect_edge_and_branch): Do simplify abnormal
edges resulting from computed jump
Mon Dec 17 17:57:05 CET 2001 Jan Hubicka <jh@suse.cz>
* Makefile.in (cfgcleanup.o): Add cselib.h dependency.
* 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 <ghazi@caip.rutgers.edu>
* sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
2001-12-17 Tom Rix <trix@redhat.com>
* config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
of bytes.
2001-12-17 Richard Sandiford <rsandifo@redhat.com>
* 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 initializers.
(TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
the individual initializers together.
(TARGET_ASM_OUT): Add the new initializers.
* 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 <shebs@apple.com>
* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
(STACK_BOUNDARY): Remove definition.
(CPP_PREDEFINES): Define __POWERPC__.
2001-12-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* doc/c-tree.texi (Trees): Only refer to GCC.
2001-12-17 Andreas Jaeger <aj@suse.de>
* c-common.def: Fix typo in comment.
2001-12-16 David O'Brien <obrien@FreeBSD.org>
* 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 <aldyh@redhat.com>
* config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
PLUS operands into registers for altivec mode.
2001-12-16 Aldy Hernandez <aldyh@redhat.com>
* builtins.c (apply_args_size): Change regno to unsigned.
2001-12-16 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
2001-12-16 Zack Weinberg <zack@codesourcery.com>
* 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 <jsm28@cam.ac.uk>
* 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 <aldyh@redhat.com>
* config.gcc: Add powerpc-*-eabisimaltivec*.
2001-12-16 Neil Booth <neil@daikokuya.demon.co.uk>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
last change.
2001-12-16 Richard Henderson <rth@redhat.com>
* toplev.c (parse_options_and_default_flags): Don't enable
flag_cprop_registers at -O1.
2001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* 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 <rodrigc@gcc.gnu.org>
PR other/3725
* configure.in: Add AC_SUBST(target_alias).
* configure: Regenerated.
2001-12-15 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.md (sibcall_osf_1_er): New.
(sibcall_value_osf_1_er): New.
2001-12-15 Dan Nicolaescu <dann@ics.uci.edu>
* 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 <uweigand@de.ibm.com>
* 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 <zack@codesourcery.com>
* 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 <rth@redhat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
for rounded_stack_size.
2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
* 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 <jsm28@cam.ac.uk>
* 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 <kazu@hxi.com>
* config/h8300/h8300.md: Adjust whitespacing. Remove
constraints from expanders. Replace \@ with @.
2001-12-15 Richard Earnshaw <rearnsha@arm.com>
* arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
2001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* expr.c (highest_pow2_factor, case INTEGER_CST): Return
BIGGEST_ALIGNMENT for 0.
Sat Dec 15 14:13:03 CET 2001 Jan Hubicka <jh@suse.cz>
* predict.def (PRED_NORETURN): Make probabilities match reality.
(PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
Likewise.
2001-12-15 Jakub Jelinek <jakub@redhat.com>
* 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 <ghazi@caip.rutgers.edu>
* 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 <aldyh@redhat.com>
* c-parse.in (typename): Do not split attributes.
Remove unsupported attributes warning.
* c-decl.c (groktypename): Apply attributes.
2001-12-14 Richard Henderson <rth@redhat.com>
* config/ia64/ia64.c (spill_restore_mem): Mark iterator
initialization as possibly dead.
2001-12-14 Richard Henderson <rth@redhat.com>
* regrename.c (mode_change_ok): New.
(find_oldest_value_reg): Use it.
2001-12-14 Richard Henderson <rth@redhat.com>
* 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 <edelsohn@gnu.org>
* 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 <kazu@hxi.com>
* config/h8300/h8300.md (anonymous pattern): Add a missing
mode.
2001-12-14 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
comment typo.
2001-12-14 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
Remove the initialization requierment.
(h8300_handle_tiny_data_attribute): Likewise.
2001-12-14 Kazu Hirata <kazu@hxi.com>
* 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 <jh@suse.cz>
* cfgcleanup.c (flow_find_cross_jump): Replace tests for note
by active_insn_p; count conditional jump as instruction.
2001-12-14 DJ Delorie <dj@redhat.com>
Danny Smith <dannysmith@users.sourceforge.net>
* 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 <ira@apple.com>
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 <ira@apple.com>
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 <jh@suse.cz>
* predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
2001-12-14 Zack Weinberg <zack@codesourcery.com>
* combine.c (record_dead_and_set_regs): Use
regs_invalidated_by_call. Don't note stores for CALL_INSNs.
2001-12-14 Roger Sayle <roger@eyesopen.com>
* 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 <jh@suse.cz>
* 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 <janis187@us.ibm.com>
Jan Hubicka <jh@suse.cz>
* 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 <jason@redhat.com>
* diagnostic.c (sorry): Increment sorrycount before saving the
buffer state.
Fri Dec 14 19:53:23 CET 2001 Jan Hubicka <jh@suse.cz>
* i386.md (sqrt?f): Fix conditionals.
Fri Dec 14 07:29:52 2001 Douglas B. Rupp <rupp@gnat.com>
* 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 <jh@suse.cz>
* 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 <jason@redhat.com>
* dwarf2out.c (output_die): Print the string in the comment for
a DW_FORM_strp.
2001-12-14 Richard Earnshaw <rearnsha@arm.com>
* 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 <rth@redhat.com>
* 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 <aldyh@redhat.com>
* 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 <jason@redhat.com>
* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
2001-12-13 Aldy Hernandez <aldyh@redhat.com>
* 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 <hp@axis.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <aldyh@redhat.com>
* 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 <neil@daikokuya.demon.co.uk>
* toplev.c (process_options, parse_options_and_default_flags):
Set flag_no_inline before the post_options hook.
2001-12-13 Richard Henderson <rth@redhat.com>
* emit-rtl.c (adjust_address_1): Don't adjust address if adjust
is false.
2001-12-13 Richard Earnshaw <rearnsha@arm.com>
* 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 <rearnsha@arm.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <rupp@gnat.com>
* config/alpha/vms-cc.c (preprocess_args): Fix forward
declaration.
Thu Dec 13 12:31:07 CET 2001 Jan Hubicka <jh@suse.cz>
* 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 <minyard@acm.org>
* 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 <roger@eyesopen.com>
* 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 <obrien@FreeBSD.org>
* 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 <rth@redhat.com>
* 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 <jakub@redhat.com>
* 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 <jakub@redhat.com>
* 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 <rth@redhat.com>
* emit-rtl.c (adjust_address_1): Always copy address to avoid
shared rtl.
Wed Dec 12 07:37:52 2001 Olivier Hainque <hainque@act-europe.fr>
* 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 <rupp@gnat.com>
* cppfiles.c (read_include_file): Set buffer size properly when
file is shorter than expected.
Wed Dec 12 08:35:33 2001 Nicola Pero <n.pero@mi.flashnet.it>
* objc/objc-act.c (encode_complete_bitfield): Fixed encoding
enumeral types - encode them using 'i'.
2001-12-12 Nathan Sidwell <nathan@codesourcery.com>
* doc/extend.texi (Deprecated Features): Deprecate implicit
typename. Document that named return and initializer lists are now
removed.
2001-12-11 Roger Sayle <roger@eyesopen.com>
* except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
compiler warning about enumeration values not being handled.
2001-12-11 Momchil Velikov <velco@fadata.bg>
* config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
shifts.
2001-12-11 Richard Henderson <rth@redhat.com>
* 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 <rth@redhat.com>
* 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 <alanm@redhat.com>
* combine.c (combine_simplify_rtx) : Can't simplify
cases that use mode class MODE_CC.
2001-12-11 Richard Henderson <rth@redhat.com>
* expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
which there is no divide expander.
2001-12-11 Richard Henderson <rth@redhat.com>
* 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 <rth@redhat.com>
* 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 <rth@redhat.com>
* 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 <rth@redhat.com>
* combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
simplification above out of range check.
2001-12-11 Dan Nicolaescu <dann@ics.uci.edu>
* config/sparc/sparc.md (prefetch): New.
2001-12-11 Aldy Hernandez <aldyh@redhat.com>
* output.h (regno_uninitialized): Make argument unsigned.
* flow.c (regno_uninitialized): Make regno unsigned.
2001-12-11 David O'Brien <obrien@FreeBSD.org>
* 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 <rth@redhat.com>
* objc/objc-act.c (build_string_class_template): New.
(build_objc_string_object): Call it.
2001-12-11 Steve Ellcey <sje@cup.hp.com>
* 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 <dan@cgsoftware.com>
* 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 <aldyh@redhat.com>
* flow.c (find_regno_partial): Indent properly. Add a default to
switch.
2001-12-11 Neil Booth <neil@daikokuya.demon.co.uk>
* 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 <aldyh@redhat.com>
* 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 <shebs@apple.com>
* objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
test of class names.
2001-12-11 David O'Brien <obrien@FreeBSD.org>
* 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 <rth@redhat.com>
* objc/objc-act.c (build_constructor): Cast initializer values
to the proper field types.
2001-12-11 Jakub Jelinek <jakub@redhat.com>
* unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
2001-12-10 Roger Sayle <roger@eyesopen.com>
* 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 <rupp@gnat.com>
* 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 <rupp@gnat.com>
* 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 <ro@TechFak.Uni-Bielefeld.DE>
* 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 <edelsohn@gnu.org>
* 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 <rth@redhat.com>
* config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
instead of hardcoding subregs into the _be and _le patterns.
2001-12-10 Neil Booth <neil@daikokuya.demon.co.uk>
* c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
Mon Dec 10 09:19:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
what insn does.
2001-12-10 Joseph S. Myers <jsm28@cam.ac.uk>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* vmsdbgout.c (lookup_filename): Remove warning.
Mon Dec 10 06:09:57 2001 Douglas B. Rupp <rupp@gnat.com>
* 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 <nathan@codesourcery.com>
* Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
Sun Dec 9 21:57:24 2001 Douglas B. Rupp <rupp@gnat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <kenner@vlsi1.ultra.nyu.edu>
Douglas B. Rupp <rupp@gnat.com>
* tree.c (append_random_char): Conditionalize INO for VMS.
2001-12-09 Richard Henderson <rth@redhat.com>
* 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 <rupp@gnat.com>
* vmsdbgout.c (lookup_filename): Assign null string instead
of null pointer to fnam.
2001-12-09 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_align_insns): Suppress realignment
immediately after a call; insert nops before a call.
2001-12-09 Richard Henderson <rth@redhat.com>
* 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 <hp@bitrange.com>
* 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 <jsm28@cam.ac.uk>
* 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 <dan@cgsoftware.com>
* 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 <ghazi@caip.rutgers.edu>
* 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 <trix@redhat.com>
* 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 <aldyh@redhat.com>
* 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 <edelsohn@gnu.org>
* stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
to unions.
2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
* 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 <neil@daikokuya.demon.co.uk>
* 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 <ghazi@caip.rutgers.edu>
* rtlanal.c (get_jump_table_offset): Delete unused variable.
2001-12-08 Richard Earnshaw <rearnsha@arm.com>
* 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 <rearnsha@arm.com>
* final.c (cleanup_subreg_operands): Use recog_data.operand_loc
in test for a subreg.
2001-12-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
* rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
strings.
2001-12-07 Richard Henderson <rth@redhat.com>
* doc/extend.texi: Fix typo last change.
* c-decl.c (c_language): Remove duplicate.
2001-12-07 Dale Johannesen <dalej@apple.com>
* 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 <ghazi@caip.rutgers.edu>
* alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2001-12-07 Stephane Carrez <Stephane.Carrez@sun.com>
* 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 <ghazi@caip.rutgers.edu>
* 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 <aldyh@redhat.com>
* 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 <jsm28@cam.ac.uk>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <ghazi@caip.rutgers.edu>
* alpha.c (function_arg): Cast value to HOST_WIDE_INT before
shifting.
2001-12-06 Aldy Hernandez <aldyh@redhat.com>
* rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
(DWARF_FRAME_REGISTERS): Delete.
2001-12-06 Janis Johnson <janis187@us.ibm.com>
* 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 <ro@TechFak.Uni-Bielefeld.DE>
* 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 <aldyh@redhat.com>
Richard Henderson <rth@redhat.com>
* 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 <ghazi@caip.rutgers.edu>
* langhooks.c (lhd_staticp): Mark parameter with
ATTRIBUTE_UNUSED.
2001-12-06 H.J. Lu <hjl@gnu.org>
* 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 <aoliva@redhat.com>
* tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
* tree-inline.c (expand_call_inline): ... here.
2001-12-06 H.J. Lu <hjl@gnu.org>
* Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
(.po.pox): Likewise.
(o/$(PACKAGE).pot): Likewise.
2001-12-06 David O'Brien <obrien@FreeBSD.org>
* 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 <zack@codesourcery.com>
* 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 <nickc@cambridge.redhat.com>
* config/arm/arm.h (STRUCT_VALUE): Suppress definition.
(STRUCT_VALUE_REGNUM): Restore definition.
2001-12-06 Andrew MacLeod <amacleod@redhat.com>
* flow.c (find_regno_partial): Return register, not the expression
the register is in.
Thu Dec 6 09:24:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* function.c (handle_epilogue_set): Check for FP setting case when
SP is set from FP in same insn.
2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
correct code selecting section.
Thu Dec 6 12:45:33 CET 2001 Jan Hubicka <jh@suse.cz>
* 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 <smc@us.ibm.com>
* doc/rtl.texi: Use a table to display RTL format characters.
2001-12-06 Bo Thorsen <bo@suse.co.uk>
* config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
Wed Dec 5 19:18:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* 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 <obrien@FreeBSD.org>
* config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
as set by the generic FreeBSD configure framework.
2001-12-04 Jason Merrill <jason@redhat.com>
* 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 <neil@daikokuya.demon.co.uk>
* 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 <rupp@gnat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <schwab@suse.de>
* Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
from autoconf.
2001-12-05 Nick Clifton <nickc@cambridge.redhat.com>
* config.gcc: Include arm/xscale-coff.h before arm/arm.h.
2001-12-05 William Cohen <wcohen@redhat.com>
* config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
instruction.
2001-12-05 Daniel Berlin <dan@cgsoftware.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
* doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2001-12-05 Jakub Jelinek <jakub@redhat.com>
* gcse.c (store_killed_in_insn): Consider pure calls
as potential store killers in addition to normal calls.
2001-12-05 Jakub Jelinek <jakub@redhat.com>
* expr.c (expand_expr): When checking promoted value, use
DECL_MODE (exp) and not mode.
2001-12-05 Jakub Jelinek <jakub@redhat.com>
* 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 <jakub@redhat.com>
* 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 <rupp@gnat.com>
* config/alpha/alpha.c (alpha_va_start): Update VMS case.
Wed Dec 5 07:27:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Douglas B. Rupp <rupp@gnat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* 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 <neil@daikokuya.demon.co.uk>
* 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 <dave@hiauly1.hia.nrc.ca>
* cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
CASE_DROPS_THROUGH.
2001-12-04 Andrew MacLeod <amacleod@redhat.com>
* 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 <pme@gcc.gnu.org>
* Makefile.in: Add INSTALL_SCRIPT using INSTALL definition.
2001-12-04 DJ Delorie <dj@redhat.com>
* fixinc/fixincl.c (initialize): Avoid problemsome macro
parameter names (PR 3388).
2001-12-05 Alan Modra <amodra@bigpond.net.au>
* 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 <jsm28@cam.ac.uk>
* 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 <jsm28@cam.ac.uk>
* 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 <neil@daikokuya.demon.co.uk>
* 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 <edelsohn@gnu.org>
* config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2001-12-04 Hans-Peter Nilsson <hp@axis.com>
* config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
flag_strict_aliasing. Use separate assignment statements.
2001-12-04 Zack Weinberg <zack@codesourcery.com>
* 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 <amacleod@redhat.com>
* stmt.c (expand_return): Clear destination instead of clobbering it
when setting a return value via bitsets.
2001-12-04 Alexandre Oliva <aoliva@redhat.com>
* 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 <jakub@redhat.com>
* 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 <jakub@redhat.com>
* function.c (assign_parms): Set last_named only for last named
argument.
2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
* 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 <jsm28@cam.ac.uk>
* doc/install.texi: Document that installed native compiler for
building cross compilers should be GCC 2.95 or later.
2001-12-03 Eric Christopher <echristo@redhat.com>
* 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 <janis187@us.ibm.com>
* 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 <zlaski@apple.com>
* 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 <geoffk@redhat.com>
* emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
of array elements.
2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
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 <neil@daikokuya.demon.co.uk>
* 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 <zack@codesourcery.com>
* 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 <jh@suse.cz>
* 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 <jh@suse.cz>
* i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2001-12-02 Zack Weinberg <zack@codesourcery.com>
* 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 <jsm28@cam.ac.uk>
* 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 <edelsohn@gnu.org>
* 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 <rth@redhat.com>
* c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
2001-12-02 Richard Henderson <rth@redhat.com>
* 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 <rupp@gnat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
2001-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* libgcc2.c (__bb_exit_func): Fix line wrap problems.
2001-12-02 Geoff Keating <geoffk@redhat.com>
* 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 <edelsohn@gnu.org>
* emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
before shifting.
2001-12-02 Neil Booth <neil@daikokuya.demon.co.uk>
* 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 <neil@daikokuya.demon.co.uk>
* 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 <ghazi@caip.rutgers.edu>
* 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 <geoffk@redhat.com>
* 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 <hainque@act-europe.fr>
* unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
while scanning for multiple back edges.
2001-12-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* ginclude/ppc-asm.h (JUMP_TARGET): New macro.
* config/rs6000/tramp.asm: Use it.
2001-12-01 Zack Weinberg <zack@codesourcery.com>
* gencheck.c, gengenrtl.c: Don't define xmalloc.
* gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
xmalloc.
2001-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
* pa.c (output_ascii): Cast `p' to unsigned char.
2001-11-30 Daniel Berlin <dan@cgsoftware.com>
* 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 <ghazi@caip.rutgers.edu>
* configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
strchr, strrchr, isascii, gettimeofday.
* config.in, configure: Regenerate.
2001-11-30 Zoltan Hidvegi <hzoli@hzoli.2y.net>
* unroll.c (unroll_loop): Correct special exit cases.
2001-11-30 Stephane Carrez <Stephane.Carrez@sun.com>
* config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
accept DFmode and DImode only.
2001-11-30 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
(STACK_DYNAMIC_OFFSET): Same.
2001-11-30 Richard Henderson <rth@redhat.com>
* c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
2001-11-30 Aldy Hernandez <aldyh@redhat.com>
* 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 <jason@redhat.com>
* 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 <kenner@vlsi1.ultra.nyu.edu>
* dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
2001-11-30 Daniel Berlin <dan@cgsoftware.com>
* genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
MODE_VECTOR_FLOAT as allowed.
2001-11-29 Zack Weinberg <zack@codesourcery.com>
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 <jason@redhat.com>
* 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 <hzoli@hzoli.2y.net>
* doloop.c (doloop_valid_p): Check for LTU and GTU as well.
2001-11-29 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
go in memory.
Remove unused attribute for named.
2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* 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 <hp@axis.com>
* 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 <jakub@redhat.com>
* c-lex.c (init_c_lex): Canonicalize "-" filename to "".
2001-11-29 Jakub Jelinek <jakub@redhat.com>
* gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
macros for the supported debugging types.
2001-11-29 Craig Rodrigues <rodrigc@gcc.gnu.org>