X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=19025236a03fc7f54278e1d49a03e6a2e6bbfadb;hp=48b76d72d5a3fe0652999dd2581e26e22a40fda9;hb=980dba51c0e5bd44ddc9b2429710fa8eefc4898b;hpb=082372f14d037950cdc5cc524db86f517cfb8fc6 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 48b76d72d5a..19025236a03 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,880 @@ +2003-02-28 Joel Sherrill + + PR 9638/other + * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the + this constant defaults to 1. + +2003-02-28 Bob Wilson + + * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file. + +2003-02-28 Richard Earnshaw + + * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any + ARMv5e processor, not just for XScale. Instructions are predicable. + (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e. + +2003-02-28 Nick Clifton + + * config/arm/arm.c (note_invalid_constants): Change parameter type + from bool to int. + +2003-02-28 Kazu Hirata + + * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the + test of bit 7. + (*tst_extzv_memqi_1_n): Likewise. + (a peephole2): New. + +2002-02-28 Richard Sandiford + + * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in + #ifndef __mips16. + +Fri Feb 28 11:09:14 CET 2003 Jan Hubicka + + * combine.c (gen_lowpart_for_combine): Update handling of + subregs_of_mode + * flow.c (life_analysis, mark_used_regs): Likewise. + * regclass.c (subregs_of_mode): Turn into single bitmap. + (cannot_change-mode_set_regs, invalid_mode_change_p): Update + dealing with subregs_of_mode + * regs.h (subregs_of_mode): Update prototype. + +2003-02-28 Josef Zlomek + + * emit-rtl.c (set_reg_attrs_for_parm): New function. + * rtl.h (set_reg_attrs_for_parm): New exported function. + * function.c (assign_parms): Use set_reg_attrs_for_parm instead of + set_reg_attrs_from_mem. + +2003-02-27 Roger Sayle + Zack Weinberg + + * gcc.c (do_spec_1): Treat %U like %u for unique associations. + +2003-02-27 Kazu Hirata + + * reload1.c (sext_for_mode): Remove. + (reload_cse_move2add): Use trunc_int_for_mode instead of + sext_for_mode. + (move2add_note_store): Likewise. + Reset register information if we see a set in non-integer + mode. + +2003-02-27 David Edelsohn + + * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu + option. + (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630. + * config/rs6000/aix51.h: Same. + * config/rs6000/aix52.h: Same. + * config/rs6000/power4.md: Additional VMX bypasses. + +2003-02-27 Geert Bosch + + * toplev.c (print_version): Add indentation for GGC heuristics and + output after printing version information. + +2003-02-27 James E Wilson + + * combine.c (simplify_comparison): Require integral mode when + permuting SUBREG with AND. + +2003-02-27 Steve Ellcey + + * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove. + +2003-02-27 Nick Clifton + + * config/arm/arm.md (extendsfdf2): Add pattern accidentally + deleted when cirrus instructions were added. + +2003-02-27 Jason Thorpe + + * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable + POSIX thread support by default. + +2003-02-27 Roger Sayle + + * config/i386/cygwin.h: Don't include any other files directly. + * config/i386/mingw32.h: Don't include cygwin.h directly. + * config.gcc (cygwin, mingw32, uwin): Instead make these files + explicit in the tm_files variable. + +2003-02-27 Alan Modra + + * config/rs6000/rs6000.md: Add TI constant splitter. + +2003-02-26 Alexandre Oliva + + * builtins.c (purge_builtin_constant_p): Handle subreg of + constant_p_rtx too. + + * function.c (assign_stack_local_1): Truncate constant added to + frame_pointer_rtx or virtual_stack_vars_rtx for Pmode. + +2003-02-26 David Edelsohn + + * config.gcc: Add power4 to PowerPC with_cpu list. + +Wed Feb 26 19:46:25 CET 2003 Jan Hubicka + + * objc-act.c: (mark_referenced_methods): Fix compilation problem. + +2003-02-26 Zdenek Dvorak + + * gcov-dump.c (print_prefix): Fix signedness warning. + * gcov-io.h (struct counter_section, struct counter_section_data): New. + (struct function_info): n_arc_counts field removed, n_counter_sections, + counter_sections fields added. + (struct gcov_info): arc_counts, n_arc_counts fields removed, + n_counter_sections, counter_sections fields added. + * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple + profile sections. + * profile.h (MAX_COUNTER_SECTIONS): New. + (struct section_info): New. + (struct profile_info): count_instrumented_edges, + count_edges_instrumented_now fields removed, n_sections, section_info + fields added. + (find_counters_section): Declare. + * profile.c (struct function_list): count_edges field removed, + n_counter_sections, counter_sections fields added. + (set_purpose, label_for_tag, build_counter_section_fields, + build_counter_section_value, build_counter_section_data_fields, + build_counter_section_data_value, build_function_info_fields, + build_function_info_value, build_gcov_info_fields, + build_gcov_info_value): New static functions. + (find_counters_section): New function. + (instrument_edges, get_exec_counts, compute_branch_probabilities, + branch_prob, create_profiler): Modified to support multiple profile + sections. + +2003-02-26 John David Anglin + + * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY + is 8 * STACK_BOUNDARY. + * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port. + +2003-02-26 Michael Matz + + * ra-colorize.c (merge_moves): Fix list handling. + +2003-02-26 Nick Clifton + + * config/arm/arm.c (is_load_address): Rename to... + (arm_memory_load_p) ... this and make it check for SUBREGs and + constant loads that will be converted into loads from the + minipool. + (is_cirrus_insn): Rename to ... + (arm_cirrus_insn_p): ... this, for consistency. Replace test + of CIRRUS_NO with CIRRUS_NOT. + (cirrus_reorg): Use renamed functions. + (note_invalid_constants): Change from a void function to bool. + Add an extra parameter, saying whether the fixups should be + pushed. Return true if fixups are needed. + (arm_reorg): Use renamed functions. Use INSN_P. Replace test + of CIRRUS_NO with CIRRUS_NOT. + * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that + other floating point co-processors can also affect this. + * config/arm/arm.md ("type" attribute): Add mav_farith and + mav_dmult. Replace references to "cirrus_type" attribute with + "type". + * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete. + ("cirrus_type" attribute): Delete - use "type" instead. + ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with + 'normal'. + +Tue Feb 25 22:46:27 CET 2003 Jan Hubicka + + * objc-act.c: Include cgraph.h + (mark_referenced_methods): New function. + (objc_init): Call it. + * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set. + + * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time + mode. + + * optabs.c (expand_fix): Do not widen the input operand. + + * expr.c (emit_group_store): Fix crash when converting single + register into complex register. + + * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h + * alias.c: Include timevar.h + (init_alias_analysis): Set timevar + * jump.c: Include timevar.h + (rebuild_jump_labels): Set timevar + * regcalss.c: Include timevar.h + (reg_scan): Set timevar + * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New + +2003-02-26 Zdenek Dvorak + + * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes. + + * Makefile.in (loop-unroll.o): New. + * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New. + (unroll_and_peel_loops): Declare. + * alias.c (init_alias_analysis): Flag_unroll_loops renamed to + flag_old_unroll_loops. + * loop.c (loop_invariant_p): Ditto. + * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to + flag_old_unroll_all_loops. + * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops. + (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops. + * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed. + (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES, + PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES, + PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES, + PARAM_MAX_ONCE_PEELED_INSNS): New. + * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New. + (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller + instead of old one. + (flag_peel_loops): New. + (lang_independent_options): The new flags added. + (rest_of_compilation): Call new unroller. + (process_options): Setup flags for coexistence of old and new unroller. + * doc/invoke.texi: Document new options. + * doc/passes.texi: Document new unroller pass. + +2003-02-26 David Billinghurst + + * fixinc/fixincl.x: Regenerate + +2003-02-26 Josef Zlomek + + * function.c (assign_parms): Set reg_attrs for parameters passed in + registers. + +2003-02-26 Alan Modra + + PR target/9681 + * tlink.c (scan_linker_output): Drop leading '.' from symbol names. + +2003-02-25 David Edelsohn + + * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine + pseudo-op. + +2003-02-25 Roger Sayle + + * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P. + * cse.c (invalidate_skipped_set): Likewise. + * integrate.c (subst_constants): Likewise. + * jump.c (reversed_comparison_code_parts): Likewise. + * loop.c (canonicalize_condition): Likewise. + * simplify-rtx.c (simplify_relational_operation): Likewise. + +2003-02-25 Roger Sayle + + * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete. + (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use + the appropriate macro to define built-in function. + (fmod,fmodf,fmodl): New built-in functions. + + * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins. + +2003-02-25 Richard Henderson + + * config/i386/i386.c (function_arg): Pass variable sized + structures correctly on the stack. + +2003-02-25 Kazu Hirata + + * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS + does not reduce the cost of SET. + +2003-02-25 Franz Sirl + + PR target/9732 + * config/rs6000/rs6000.c (first_reg_to_save): Handle + PIC_OFFSET_TABLE_REGNUM for -fPIC too. + (rs6000_emit_prologue): Likewise. + (rs6000_emit_epilogue): Likewise. + * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make + PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC. + +2003-02-25 Richard Henderson + + * real.c (real_to_integer2): Force overflow result only for + unsigned overflow. + +2003-02-25 Kazu Hirata + + * gcse.c (cprop_jump): Revert the 2003-02-23 change. + +2003-02-25 Vladimir Makarov + Richard Henderson + + * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when + there is no similar load. + +2003-02-25 Vladimir Makarov + Richard Henderson + + * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from + sched-rgn.c. + (add_forward_dependence): New function prototype. + + * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to + sched-init.h. + (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move + them to haifa-sched.c. + + * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp, + haifa_classify_insn): Move them from sched-rgn.c. + + * sched-deps.c (add_dependence): Return flag of creating a new + entry. + (add_forward_dependence): New function. + (compute_forward_dependences): Use the function. + + * sched-ebb.c (earliest_block_with_similiar_load): New function. + (add_deps_for_risky_insns): New function. + (schedule_ebb): Call the function. + +2003-02-20 Aldy Hernandez + + * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to + TARGET_VECTOR_OPAQUE_P. Document accordingly. + + * testsuite/gcc.dg/20030218-1.c: Check that initialization of + opaque types fail. + + * c-typeck.c (comptypes): Change call to vector_types_compatible + to vector_opaque_p. + (convert_for_assignment): Call vector_opaque_p instead of + vector_types_compatible. + (really_start_incremental_init): Disallow initialization of opaque + types. + + * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE. + Define TARGET_VECTOR_OPAQUE_P. + (TARGET_INITIALIZER): Same. + + * target.h (struct gcc_target): Remove vector_types_compatible. + Add vector_opaque_p. + + * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible): + Remove. + (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is + a vector type. Change return type to bool. + (TARGET_VECTOR_TYPES_COMPATIBLE): Remove. + (TARGET_VECTOR_OPAQUE_P): Define. + + * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p + target hook. + Include target.h. + (cp_parser_init_declarator): Fix typo in function comments. + +Tue Feb 25 12:35:34 CET 2003 Jan Hubicka + + * Makefile.in (lcm.o): Add dependency on function.h + * lcm.c (function.h): Include. + * i386.c (machine_function, ix86_stack_locals, + * ix86_save_varrargs_registers) : Move to + ... + * i386.h (machine_function, ix86_stack_locals, + ix86_save_varrargs_registers): ... here; add optimize_mode_switching + (ix86_optimize_mode_switching): New. + * i386.md (fix patterns): Set ix86_optimize_mode_switching + +2003-02-25 Nick Clifton + + * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name + of fourth arg is 'fndecl' not 'indirect'. Update comment + describing the function's parameters. + +Mon Feb 24 22:08:22 CET 2003 Jan Hubicka + + * combine.c (simplify_shift_const): Fix previous patch. + +2003-02-24 Jeff Law + + * i386.md (testdi_1_rex64): Discourage reload from using the %eax + alternative. + (testsi_1, testhi_1, testqi_1): Likewise. + +2003-02-24 Rainer Orth + + * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename + __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX. + * doc/extend.texi (Tru64 Pragmas): Reflect this. + + * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma + extern_prefix support for Tru64 UNIX V5 . + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New + testcase. + Fixes PR c/5059, c/6126, other/9671. + +2003-02-24 Roger Sayle + + * gcc.c (do_spec_1) ['{']: Handle pending argument upon return + from handle_braces in "%{...}". + +2003-02-24 Kaz Kojima + + * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define. + (prepare_move_operands): Handle TLS operands. + (tls_symbolic_operand): New. + (nonpic_symbol_mentioned_p): Handle TLS UNSPECs. + (legitimize_pic_address): Do nothing for the TLS symbol. + (sh_encode_section_info): Handle TLS case. + (sh_strip_name_encoding): Drop TLS encoding. + * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype. + * config/sh/sh.h (SH_TLS_ENCODING): Define. + (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise. + (ASM_OUTPUT_LABELREF): Drop TLS encoding. + (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs. + * config/sh/sh.md: Define TLS UNSPEC constants. + (type): Add tls_load. + ("tls_global_dynamic", "tls_local_dynamic"): New insns. + ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders. + ("tls_initial_exec"): New insn. + ("sym2TPOFF", "symTPOFF2reg"): New expanders. + ("load_gbr"): New insn. + + * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases. + * configure: Regenerate. + +2003-02-24 Alan Modra + + PR 9297, PR 9722 + * calls.c (store_one_arg): Revert 1999-02-16 change. Revert + 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr. + * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM. + (enum block_op_methods): Reorder for better store_expr optimization. + * expr.c (store_expr): Test bit 1 of "want_value" for call param + stores, test bit 0 for original want_value meaning. Pass + BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust + recursive calls, and calls to expand_param. + (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse + expected, set target to 0 rather than to subtarget. Formatting. + +2003-02-23 Kazu Hirata + + * gcse.c (cprop_jump): Use the REG_EQUAL note if available. + +2003-02-23 Kaveh R. Ghazi + + * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document + new default behavior. + * ggc-common.c: Include sys/resource.h. + (ggc_rlimit_bound): New function. + (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update + defaults to account for rlimits. + +2003-02-22 Richard Henderson + + * i386.c, i386.h (TUNEMASK): Rename from CPUMASK. + +2003-02-22 Kelley Cook + + * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu. + (ix86_tune_string): Rename from ix86_cpu_string. + +2003-02-22 Kelley Cook + + * config/i386/i386.c: Replace "mcpu" with "mtune". + * config/i386/i386.h (TARGET_OPTIONS): Likewise. + (CC1_CPU_SPEC): Likewise. New warning for "-mcpu". + * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu" + with "mtune". Note that "mcpu" is a deprecated synonym for "mtune". + +2003-02-23 Andreas Schwab + + * config.gcc: Delete references to m68k/t-linux and + m68k/t-linux-aout. + * config/m68k/t-linux, config/m68k/t-linux-aout: Removed. + +Sat Feb 22 20:22:19 CET 2003 Jan Hubicka + + * toplev.c (rest_of_compilation): Apply fotgotten hunk + of track scheduling patch. + +Sat Feb 22 19:29:28 CET 2003 Jan Hubicka + + * config/linux.h (TARGET_HAS_F_SETLKW): Define. + * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise + +Sat Feb 22 12:42:16 CET 2003 Jan Hubicka + + * c-decl.c (c_expand_body_1): Fix. + +Sat Feb 22 03:13:36 CET 2003 Jan Hubicka + + * expmed.c (expand_divmod): Undo sign extensions for unsigned operands + + * cfgcleanup.c (try_forward_edges): Don't check loop structures + when not optimizing. + (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns + when not expensive. + * toplev.c (rest_of_compilation): Duplicate loop headers only when + optimizing; Delete trivially dead insns early; fix optimize check. + + * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add + dependency on cgraph.h + * c-decl.c: Include cgraph.h + (finish_function): Update call of tree_inlinable_function_p. + * c-objc-common.c: Include cgraph.h + * cgraph.h: New file. + * cgraphunit.c: New file. + * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h + (cgraph_nodes, cgraph_n_nodes): Globalize. + (cgraph_finalize_function, cgraph_finalize_compilation_unit + cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node): + Move into cgraphunit.c + * tree-inline.c: Include cgraph.h + * tree-inline.c: Include cgraph.h + +2003-02-22 Josef Zlomek + + * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG + for copying a register. + +2003-02-22 Steven Bosscher + + PR other/3782 + * toplev.c (process_options): If flag_detailed_statistics is set, + then set time_report as well. + + PR c/8828 + * jump.c (never_reached_warning): Don't fall through BARRRIER + insns. Update comments to reflect what the function really does. + +2003-02-21 Roger Sayle + + * fold-const.c (omit_one_operand): No longer static. + * tree.h (omit_one_operand): Prototype here. + (div_and_round_double): Keep fold-const.c prototypes together. + * builtins.c (builtin_mathfn_code): Handle binary built-in + funtions, such as "pow" and "atan2". + (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0. + Simplify optimizations using "type" the builtin's return type. + +2003-02-22 Hans-Peter Nilsson + + * config/cris/cris.c (cris_rtx_costs): Blockify dangling else. + Fix functionalization typo. + + * regmove.c (optimize_reg_copy_1): Do not replace a hard register + in an asm. + +2003-02-21 Kaveh R. Ghazi + + * Makefile.in (ggc-common.o): Depend on $(PARAMS_H) + * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update + documentation. + * ggc-common.c: Include params.h + (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic, + init_ggc_heuristics): New functions. + * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic, + init_ggc_heuristics): Prototype. + * toplev.c (print_version): Output GGC heuristics. + (parse_options_and_default_flags): Call init_ggc_heuristics. + +Sat Feb 22 02:35:07 CET 2003 Jan Hubicka + + * i386.c (def_builtin): Special case 64bit builtins. + (MASK_SSE164, MASK_SSE264): New constants. + (builtin_description): Add 64bit builtins. + (ix86_init_mmx_sse_builtins): Likewise. + * i386.h (enum ix86_builtins): Likewise. + * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq, + sse2_movq2dq_rex64, sse2_movsq2q_rex64): New. + (sse2_movq2dq, sse2_movsq2q): Disable for 64bit. + * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New. + * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss, + _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x, + _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New. + +Sat Feb 22 00:48:22 CET 2003 Jan Hubicka + + * i386.c (builtin_description): Add __builtin_ia32_paddq and + __builtin_ia32_psubq. Fix __builtin_ia32_paddq128 + and __builtin_ia32_psubq128. + * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New. + * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'. + (mmx_adddi3, mmx_subdi3): New. + * mmintrin.h (_mm_add_si64, _mm_sub_si64): New. + * xmmintrin.h (_mm_movepi64_pi64): New. + (_mm_add_epi64, _mm_sub_epi64): fix. + (_mm_mul_pu16): Rename to... + (_mm_mul_su32): ... this one. + + * builtins.c (expand_builtin_expect): Do not predict + flag_guess_branch_prob is not set. + * c-semantics.c (expand_stmt): Likewise. + * predict.c (predict_insn): Likewise. + * stmt.c (expand_continue_loop): Likewise. + * toplev.c (rest_of_compilation): Do not call + note_prediction_to_br_prob and note_prediction_to_br_prob + when not optimizing. + +Fri Feb 21 23:10:13 CET 2003 Jan Hubicka + + * cfgrtl.c (commit_edge_insertions): Call + find_many_sub_basic_block only when some code has been emitted. + (commit_edge_insertions_watch_calls): Bring into sync with + commit_edge_insertions + +Fri Feb 21 20:41:29 2003 J"orn Rennecke + + * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class. + + * sh.md (binary_sf_op): Use extra constant operand instead of + negating constant operand 4. + * sh.c (sh_expand_binop_v2sf): Supply it. + +2003-02-21 Zack Weinberg + + * cpphash.h (struct lexer_state): Add directive_wants_padding. + * cpplib.c (_cpp_handle_directive): Set directive_wants_padding + for directives of type INCL. + (glue_header_name, parse_include): Use get_token_no_padding. + * cppmacro.c (replace_args): If directive_wants_padding, + provide padding tokens. + +2003-02-21 Kazu Hirata + + * config/h8300/h8300.md (a peephole2): New. + +Fri Feb 21 11:05:44 CET 2003 Jan Hubicka + + * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting. + (commit_edge_insertions): Call find_many_sub_basic_blocks + + * reg-stack.c (convert_regs): Cleax aux for blocks. + +Fri Feb 21 10:29:52 CET 2003 Jan Hubicka + + * toplev.c (parse_options_and_default_flags): Undo accidental commit. + +2003-02-21 Glen Nakamura + + PR optimization/8613 + * builtins.c (expand_builtin): Emit postincrements before expanding + builtin functions. + +2003-02-21 Ben Elliston + + PR other/5634 + * doc/install.texi (Configuration): Explain using $HOME instead of + the ~ metacharacter when referring to home directories. + +2003-02-20 Alexandre Oliva + + * configure.in (TARGET_SYSTEM_ROOT): Set default to + ${exec_prefix}/${target_alias}/sys-root. Match explicit + '${exec_prefix}' (in addition to the expansion thereof) as + relocatable. + * configure: Rebuilt. + +2003-02-20 Kazu Hirata + + * config/h8300/h8300.md (addhi3_incdec): Change the name to + *addhi3_incdec. + (addsi3_incdec): Change the name to *addsi3_incdec. + +2003-02-20 Roger Sayle + + * explow.c (force_reg): Avoid useless REG_EQUAL notes. + +2003-02-20 Toon Moene + + PR fortran/9038 + * c-opts.c (sanitize_cpp_opts): Add Fortran front end + options to be ignored. + (c_common_decode_option): Ignore them when preprocessing. + +Thu Feb 20 21:41:19 CET 2003 Jan Hubicka + + * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New + global variables. + (lang_independent_options): Add -fsched2-use-superblocks + -fsced2-use-traces. + (rest_of_compilation): Deal with it. + * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare. + * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces): + Declare. + * rtl.h (reg_to_stack): Update prototype. + * reg-stack.c (reg_to_stack): Return when something has changed; + update liveness when executing after superblock scheduling. + + * combine.c (simplify_shift_const): Simplify few special cases + into constants. + +2003-02-20 David Edelsohn + + * config/rs6000/rs6000.md: (attr "type"): Add fast_compare. + (add.,subf.,neg.): Change attribute to fast_compare. + All DFA descriptions updated. + +2003-02-20 Nathan Sidwell + + Change base class access representation. + * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED, + TREE_VIA_PRIVATE): Remove. + (BINFO_BASEACCESSES): New binfo elt. + (BINFO_BASEACCESS): New accessor. + (BINFO_ELTS): Increase. + (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New. + (access_public_node, access_protected_node, + access_private_node): New global nodes. + * tree.c (build_common_tree_nodes_2): Initialize access nodes. + * dbxout.c (dbxout_type): Adjust. + * dwarf2out.c (gen_inheritance_die): Add access parameter. + (gen_member_die): Adjust. + * dwarfout.c (output_inheritance_die): ARG is array of two trees. + (output_type): Adjust. + * tree-dump.c (dequeue_and_dump): Adjust binfo dumping. + + Change base class access representation. Share virtual base + binfos. + * cp/call.c (build_special_member_call): Remove binfo_for_vbase + call. + * cp/class.c (build_base_path): Likewise. + (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use. + (build_secondary_vtable): Remove FOR_TYPE arg. Adjust. + (make_new_vtable): Adjust. + (force_canonical_binfo_r): Delete. + (force_canonical_binfo): Delete. + (mark_primary_virtual_base): Delete. + (dfs_unshared_virtual_bases): Delete. + (mark_primary_bases): Adjust. + (maybe_warn_about_overly_private_class): Adjust. + (dfs_base_derived_from): Delete. + (base_derived_from): Follow the inheritance chain. + (struct find_final_overrider_data): Add vpath member. + (dfs_find_final_overrider): Adjust. + (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New. + (find_final_overrider): Adjust. + (update_vtable_entry_for_fn): Adjust. + (modify_all_vtables): Adjust. + (walk_subobject_offsets): Adjust. + (layout_nonempty_base_or_field): Adjust. + (layout_empty_base): Remove last parameter. Adjust. + (build_base_field): Adjust. + (build_base_fields): Adjust. + (propagate_binfo_offsets): Remove last parameter. Adjust. + (dfs_set_offset_for_unshared_vbases): Delete. + (layout_virtual_bases): Adjust. + (finish_struct_1): Adjust. + (init_class_processing): Don't init access nodes. + (dfs_get_primary_binfo): Delete. + (get_primary_binfo): Adjust. + (dump_class_hierarchy_r): Remove most derived arg, add IGO + parameter. Adjust. + (dump_class_hierarchy): Adjust. + (finish_vtbls): Adjust. + (get_original_base): Delete. + (build_vtt_inits): Adjust. + (dfs_build_secondary_vptr_vtt_inits): Adjust. + (dfs_ctor_vtable_bases_queue_p): Adjust. + (build_ctor_vtbl_group): Adjust. + (dfs_accumulate_vtbl_inits): Adjust. + (build_vtbl_initializer): Adjust. + (build_vbase_offset_vtbl_entries): Adjust. + (add_vcall_offset_vtbl_entries_1): Adjust. + * cp/cp-tree.h (CPTI_ACCESS_*): Remove. + (access_*_node): Remove. + (CANONICAL_BINFO): Delete. + (BINFO_UNSHARED_MARKED): Remove. + (BINFO_MARKED): Set LANG_FLAG_0 directly. + (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete. + (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly. + (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED): + Delete. + (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly. + (SET_BINFO_NEW_VTABLE_MARKED): Adjust. + (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED): + Delete. + (BINFO_DEPENDENT_BASE_P): New. + (dfs_walk, dfs_walk_real): Queue function takes derived binfo and + index. + (markedp, unmarkedp): Adjust. + (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p, + dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp, + find_vbase_instance, binfo_for_vbase): Delete. + (copied_binfo, original_binfo): Declare. + (finish_base_specifier): Add virtual_p arg. + (unshare_base_binfos): Delete. + (copy_base_binfos): Declare. + (reverse_path): Delete. + * cp/decl.c (xref_basetypes): Access and virtuality passed + differently. Don't copy direct base binfos here. Call + copy_base_binfos. + * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust. + (initialize_vtbl_ptrs): Adjust. + (expand_member_init): Adjust. + * cp/parser.c (cp_parser_base_specifier): Adjust. + * cp/pt.c (instantiate_class_template): Adjust. + (get_template_base_recursive): Adjust. + * cp/rtti.c (get_pseudo_ti_init): Adjust. + (get_pseudo_ti_desc): Adjust. + * cp/tree.c (unshare_base_binfos): Rename to ... + (copy_base_binfos): ... here, reimplement. + (make_binfo): Set BINFO_DEPENDENT_BASE_P. + (reverse_path): Remove. + * cp/typeck.c (get_delta_difference): Adjust error messages. + * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust. + * cp/search.c (lookup_base_r): Adjust. + (dynamic_cast_base_recurse): Adjust. + (canonical_binfo): Remove. + (dfs_canonical_queue): Remove. + (dfs_assert_unmarked_p): Remove. + (assert_canonical_unmarked): Remove. + (shared_marked_p, shared_unmarked_p): Remove. + (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE. + (dfs_access_in_type): Adjust. + (access_in_type): Adjust. + (dfs_accessible_queue_p): Adjust. + (dfs_accessible_p): Adjust. + (is_subobject_of_p_1, is_subobject_of_p): Remove. + (struct lookup_field_info): Remove from_dep_base_p field. + (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P. + (lookup_field_r): Remove dependent base code. + (lookup_member): Likewise. + (dfs_walk, dfs_walk_real): Add access arg to queue fn. + (dfs_unmarked_real_bases_queue_p): Remove. + (dfs_marked_real_bases_queue_p): Remove. + (dfs_skip_vbases): Remove. + (dfs_get_pure_virtuals): Adjust. + (markedp, unmarkedp): Adjust. + (marked_vtable_pathp, unmarked_vtable_pathp): Remove. + (marked_pushdecls_p, unmarked_pushdecls_p): Adjust. + (dfs_unmark): Adjust. + (dfs_get_vbase_types):Remove. + (dfs_build_inheritance_graph_order): Remove. + (get_vbase_types): Remove + (dfs_find_vbase_instance): Remove. + (find_vbase_instance): Remove. + (dfs_debug_unmarkedp): Adjust. + (dependent_base_p): Remove. + (dfs_push_type_decls): Adjust. + (dfs_push_decls): Adjust. + (dfs_no_overlap_yet): Adjust. + (copied_binfo): New function. + (original_binfo): New function. + (binfo_for_vbase): Remove. + + Change base class access representation. + * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC. + (add_interface_do): Likewise. + +2003-02-20 David Edelsohn + + * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define. + * config/rs6000/power4.md (power4-store,power4-vecstore): New + insn reservations. + (power4-fpstore): Compact. + +2003-02-20 Kazu Hirata + + * config/h8300/h8300.md (*iorsi3_w): New. + 2003-02-20 Josef Zlomek * combine.c (distribute_notes): Kill REG_EXEC_COUNT. @@ -71,7 +948,7 @@ Wed Feb 19 19:00:24 CET 2003 Jan Hubicka * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99. * fixinc/tests/base/internal/wchar_core.h: New file. - + * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78] socklen_t definition. * fixinc/fixincl.x: Regenerate. @@ -128,7 +1005,7 @@ Tue Feb 18 23:50:59 CET 2003 Jan Hubicka 2003-02-18 Matt Austern * toplev.c, langhooks.c, langhooks-def.h: Move - write_global_declarations from toplev.c to langhooks.c. + write_global_declarations from toplev.c to langhooks.c. 2003-02-18 Kazu Hirata @@ -143,34 +1020,34 @@ Tue Feb 18 23:50:59 CET 2003 Jan Hubicka 2003-02-18 Kaz Kojima - * config/sh/sh.c (unspec_caller_rtx_p): New. + * config/sh/sh.c (unspec_caller_rtx_p): New. (sh_cannot_copy_insn_p): New. - (TARGET_CANNOT_COPY_INSN_P): New. + (TARGET_CANNOT_COPY_INSN_P): New. 2003-02-18 Richard Henderson * c-common.c (handle_used_attribute): Accept static data too. 2003-02-18 Nick Clifton - Aldy Hernandez + Aldy Hernandez - * testsuite/gcc.dg/20030218-1.c: New. + * testsuite/gcc.dg/20030218-1.c: New. - * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE. + * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE. - * target-def.h (TARGET_INITIALIZER): Add - TARGET_VECTOR_TYPES_COMPATIBLE. - (TARGET_VECTOR_TYPES_COMPATIBLE): New macro. + * target-def.h (TARGET_INITIALIZER): Add + TARGET_VECTOR_TYPES_COMPATIBLE. + (TARGET_VECTOR_TYPES_COMPATIBLE): New macro. - * target.h (struct gcc_target): Add field vector_types_compatible. + * target.h (struct gcc_target): Add field vector_types_compatible. - * c-typeck.c (comptypes): Take into account - TARGET_VECTOR_TYPES_COMPATIBLE. - (convert_for_assignment): Same. + * c-typeck.c (comptypes): Take into account + TARGET_VECTOR_TYPES_COMPATIBLE. + (convert_for_assignment): Same. - * config/rs6000/rs6000.c (is_ev64_opaque_type): New. - (rs6000_spe_vector_types_compatible): New. - (TARGET_VECTOR_TYPES_COMPATIBLE): Define. + * config/rs6000/rs6000.c (is_ev64_opaque_type): New. + (rs6000_spe_vector_types_compatible): New. + (TARGET_VECTOR_TYPES_COMPATIBLE): Define. 2003-02-19 Andreas Schwab @@ -224,15 +1101,15 @@ Tue Feb 18 20:15:54 2003 J"orn Rennecke (*extendhisi2_h8300): Likewise. 2003-02-18 Matt Austern - + * langhooks.h, langhooks-def.h: introduce new langhook, final_write_globals, with write_global_declarations as default. * toplev.c: Move invocation of wrapup_global_declarations from compile_file to new function, write_global_declarations. Change compile_file to use final_write_globals hook. Change wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is - conditional. - + conditional. + 2003-02-18 John David Anglin * pa.md: Correct and enhance comment. @@ -250,9 +1127,9 @@ Tue Feb 18 20:15:54 2003 J"orn Rennecke 2003-02-17 Aldy Hernandez - * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg. - (__ev_stdw): Same. - (__ev_stdh): Same. + * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg. + (__ev_stdw): Same. + (__ev_stdh): Same. Mon Feb 17 16:16:54 CET 2003 Jan Hubicka @@ -388,7 +1265,7 @@ Sun Feb 16 23:07:52 CET 2003 Jan Hubicka * function.h (struct function): Add computed_goto_common_label, computed_goto_common_reg. * function.c (free_after_compilation): Zap them. - * stmt.c (expand_computed_goto): Use them to produce one + * stmt.c (expand_computed_goto): Use them to produce one indirect branch per function. 2003-02-15 Richard Henderson @@ -402,8 +1279,8 @@ Sun Feb 16 23:07:52 CET 2003 Jan Hubicka 2003-02-15 Richard Henderson - * recog.c (split_all_insns): Include new blocks in life update; - do a global life update. + * recog.c (split_all_insns): Include new blocks in life update; + do a global life update. 2003-02-15 Danny Smith @@ -442,7 +1319,7 @@ Sun Feb 16 23:07:52 CET 2003 Jan Hubicka 2003-02-13 Adam Nemet - PR opt/2391 + PR opt/2391 * combine.c: Fix spelling in comment. (cached_nonzero_bits): New function. (cached_num_sign_bit_copies): New function. @@ -1445,7 +2322,7 @@ Mon Feb 3 21:19:11 CET 2003 Jan Hubicka * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as i386_simplify_dwarf_addr. (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr. - (maybe_get_pool_constant): Likewise. + (maybe_get_pool_constant): Likewise. Mon Feb 3 16:01:17 CET 2003 Jan Hubicka @@ -1931,9 +2808,9 @@ Wed Jan 29 10:26:12 CET 2003 Jan Hubicka * regclass.c (init_reg_autoinc): New function. (regclass): Move initialization of forbidden_inc_dec_class from - here... + here... (init_regs): to here. Avoids reinitialization for each function, - saving compilation time. + saving compilation time. 2003-01-28 Jason Merrill @@ -2060,16 +2937,16 @@ Wed Jan 29 10:26:12 CET 2003 Jan Hubicka Tue Jan 28 12:15:13 CET 2003 Jan Hubicka - * i386.c (ix86_carry_flag_operator): New predicate. - (fcmov_operator): Fix whitespace. - (ix86_expand_carry_flag_compare): Deal with floating point. - (ix86_expand_int_movcc): Deal with fp; update insn expansion - (ix86_expand_int_addcc): Likewise. - (ix86_expand_strlensi_unroll_1): likewsie. - * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator. - * i386.md (add?i_carry_rex64): Use new predicate. - (sub?i3_carry_rex64): Likewise. - (x86_mov?icc_0_m1*): Likewise. + * i386.c (ix86_carry_flag_operator): New predicate. + (fcmov_operator): Fix whitespace. + (ix86_expand_carry_flag_compare): Deal with floating point. + (ix86_expand_int_movcc): Deal with fp; update insn expansion + (ix86_expand_int_addcc): Likewise. + (ix86_expand_strlensi_unroll_1): likewsie. + * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator. + * i386.md (add?i_carry_rex64): Use new predicate. + (sub?i3_carry_rex64): Likewise. + (x86_mov?icc_0_m1*): Likewise. 2003-01-28 Andreas Schwab