ChangeLog entries since last run on 2005-02-03T11:15:10Z: --- /Users/regress/tbox/changelog_mail/gcc/gcc/ChangeLog Thu Feb 3 03:16:28 2005 +++ gcc/gcc/ChangeLog Sat Feb 5 22:31:04 2005 @@ -1,3 +1,151 @@ +2005-02-03 Leehod Baruch + Dorit Naishlos + + * tree-vectorizer.h (LOC): New type. + (UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros. + (loop_line_number): New field in struct _loop_vec_info. + (LOOP_VINFO_LOC, LOOP_LOC): New macros. + + * tree-vectorizer.c (input.h): Included. + (find_loop_location): New function. + (vect_debug_stats): Argument changed from loop to LOC. Computation of + loop line number removed. + (vect_debug_details): Likewise. + (new_loop_vec_info): Initialize new field LOOP_VINFO_LOC. + + (slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in + call to vect_debug_details/stats changed from loop to loop_loc. + (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise. + (slpeel_tree_peel_loop_to_edge): Likewise. + + (vect_analyze_offset_expr): Argument in call to vect_debug_details/stats + changed from NULL to UNKNOWN_LOC. + (vect_get_base_and_offset): + (vect_create_addr_base_for_vector_ref): + (get_vectype_for_scalar_type): + (vect_create_data_ref_ptr): + (vect_init_vector): + (vect_get_vec_def_for_operand): + (vect_finish_stmt_generation): + (vectorizable_assignment): + (vectorizable_operation): + (vectorizable_store): + (vectorizable_load): + (vect_transform_stmt): + (vect_update_ivs_after_vectorizer): + (vect_do_peeling_for_loop_bound): + (vect_do_peeling_for_alignment): + (vect_transform_loop): + (vect_is_simple_use): + (vect_analyze_operations): + (vect_is_simple_iv_evolution): + (vect_analyze_scalar_cycles): + (vect_analyze_data_ref_dependences): + (vect_compute_data_ref_alignment): + (vect_enhance_data_refs_alignment): + (vect_analyze_data_ref_access): + (vect_analyze_data_ref_accesses): + (vect_analyze_pointer_ref_access): + (vect_get_memtag_and_dr): + (vect_analyze_data_refs): + (vect_mark_relevant): + (vect_stmt_relevant_p): + (vect_mark_stmts_to_be_vectorized): + (vect_can_advance_ivs_p): + (vect_get_loop_niters): + (vect_analyze_loop): + (vectorize_loops): Likewise. + + (vectorizable_load): Argument in call to vect_debug_details/stats + changed from loop to LOOP_LOC (loop_vinfo). + (vect_transform_loop): + (vect_analyze_operations): + (vect_analyze_scalar_cycles): + (vect_analyze_data_ref_dependence): + (vect_enhance_data_refs_alignment): + (vect_analyze_data_ref_accesses): + (vect_analyze_pointer_ref_access): + (vect_analyze_data_refs): + (vect_analyze_loop): Likewise. + + (vect_analyze_loop_form): Argument in call to vect_debug_details/stats + changed from loop to loop_loc. + + (vect_enhance_data_refs_alignment): Removed unused variable loop. + +2005-02-03 Leehod Baruch + Dorit Naishlos + + * tree-vectorizer.c (vect_analyze_data_ref_dependence): Function + declaration added. + (vect_analyze_data_ref_dependences): Likewise. + + (vect_is_simple_use): Argument changed from loop structure to + loop_vect_info structure. + (vect_can_advance_ivs_p): Likewise. + (vect_create_index_for_vector_ref): Likewise. + (vect_update_ivs_after_vectorizer): Likewise. + (new_stmt_vec_info): Likewise. + + (new_loop_vec_info): Second argument in call to new_stmt_vec_info was + changed from loop to loop_vinfo. + (vect_create_data_ref_ptr): First argument in call to + vect_create_index_for_vector_ref was changed from loop to loop_vinfo. + (vectorizable_assignment): Second argument in call to vect_is_simple_use + was changed from loop to loop_vinfo. + (vectorizable_operation): Likewise. + (vectorizable_store): Likewise. + (vect_mark_stmts_to_be_vectorized): Likewise. + (vect_do_peeling_for_loop_bound): First argument in call to + vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo. + (vect_analyze_operations): Argument in call to vect_can_advance_ivs_p + was changed from loop to loop_vinfo. + (vect_analyze_data_ref_dependences): Third argument in call to + vect_analyze_data_ref_dependence was changed from loop to loop_vinfo. + + (vect_create_index_for_vector_ref): Get the loop from loop_vinfo. + (vect_create_data_ref_ptr): Likewise. + (vect_init_vector): Likewise. + (vect_get_vec_def_for_operand): Likewise. + (vectorizable_assignment): Likewise. + (vectorizable_operation): Likewise. + (vectorizable_store): Likewise. + (vectorizable_load): Likewise. + (vect_update_ivs_after_vectorizer): Likewise. + (vect_is_simple_use): Likewise. + (vect_analyze_data_ref_dependence): Likewise. + (vect_analyze_pointer_ref_access): Likewise. + (vect_can_advance_ivs_p): Likewise. + + * tree-vectorizer.h: (_loop_vec_info): Definition and macros moved + before _stmt_vec_info. + (_stmt_vec_info): Loop field replaced by loop_vec_info. + (STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO. + (new_stmt_vec_info): Argument changed from loop structure to + loop_vect_info structure + + (vect_analyze_data_ref_dependences): Unnecessary line was removed. + (vect_analyze_offset_expr): Avoid 80 columns overflow. + (vect_create_addr_base_for_vector_ref): Likewise. + (vect_analyze_pointer_ref_access): Likewise. + +2005-02-03 Andrew Pinski + + PR tree-opt/19768 + * tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal + phi flag if the phi is abnormal. + +2005-02-03 Andrew Pinski + + PR tree-opt/19736 + * tree-ssa.c (replace_immediate_uses): Update the immediate_uses + information for the new statement. + +2005-02-03 Joseph S. Myers + + PR driver/19117 + * gcc.c (main): Include the target in -v output. + 2005-02-03 Alexandre Oliva * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND): --- /Users/regress/tbox/changelog_mail/gcc/gcc/testsuite/ChangeLog Thu Feb 3 03:16:54 2005 +++ gcc/gcc/testsuite/ChangeLog Sat Feb 5 22:31:12 2005 @@ -1,3 +1,13 @@ +2005-02-03 Andrew Pinski + + PR tree-opt/19768 + * g++.dg/opt/pr19768.C: New test. + +2005-02-03 Andrew Pinski + + PR tree-opt/19736 + * gcc.c-torture/compile/pr19736.c: New test. + 2005-02-03 Giovanni Bajo PR c++/17401 --- /Users/regress/tbox/changelog_mail/gcc/libjava/ChangeLog Thu Feb 3 03:17:11 2005 +++ gcc/libjava/ChangeLog Sat Feb 5 22:31:22 2005 @@ -1,3 +1,14 @@ +2005-02-02 David Daney + + * java/net/InetAddress.java (InetAddress): Make a private copy of + the address. + * java/net/Inet4Address.java (getAddress): Return a copy of the + address. + * java/net/Inet6Address.java (Inet6Address): Use private copy of + the address + (getAddress): Return a copy of the address. + (equals): Rewrote. + 2005-02-02 Tom Tromey * Makefile.in: Rebuilt. ChangeLog entries between 2005-02-03T11:15:10Z and the last time everything passed, on 2005-01-06T19:16:41Z: --- /Users/regress/tbox/changelog_pass/gcc/ChangeLog Mon Jan 3 17:57:25 2005 +++ gcc/ChangeLog Wed Feb 2 14:16:08 2005 @@ -1,3 +1,45 @@ +2005-02-02 Richard Guenther + + * MAINTAINERS (Write After Approval): Add myself. + +2005-01-29 Hans-Peter Nilsson + + * configure.in (noconfigdirs) : Match like cris-*-*. + : Only disable target-newlib and + target-libgloss when not *-*-elf and *-*-aout. + * configure: Regenerate. + +2005-01-23 Kazu Hirata + + * MAINTAINERS: Remove obsolete entries. + + * MAINTAINERS (Write After Approval): Add Michael Matz. + +2005-01-19 Neil Booth + + * MAINTAINERS: Remove self as cpplib maintainer. + +2005-01-17 Kelley Cook + + * install-sh, config.sub: Import from upstream. + +2005-01-17 Kelley Cook + + PR bootstrap/18222 + * Makefile.def: Pass CPPFLAGS_FOR_TARGET. + * Makefile.tpl: Define target CPPFLAGS on CPPFLAGS_FOR_TARGET. + * Makefile.in: Regenerate. + +2005-01-16 Jason Thorpe + + * MAINTAINERS: Update my email address. + +2005-01-12 David Edelsohn + Andreas Schwab + + PR bootstrap/18033 + * config-ml.in: Eval option if surrounded by single quotes. + 2005-01-03 Paolo Bonzini Revert 2004-12-28 Makefile changes, a better fix will be --- /Users/regress/tbox/changelog_pass/gcc/gcc/ChangeLog Thu Jan 6 11:17:41 2005 +++ gcc/gcc/ChangeLog Thu Feb 3 03:16:28 2005 @@ -1,3 +1,2826 @@ +2005-02-03 Alexandre Oliva + + * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND): + Do not drop the extend if we'd have to add a paradoxical subreg + later. Include optabs.h and insn-codes.h. + * Makefile.in (combine.o): Depend on $(OPTABS_H). + +2005-02-02 Roger Sayle + + PR middle-end/19405 + * real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro. + * fold-const.c (const_binop): Avoid constant folding floating + point operations in modes that use composite representations. + * simplify-rtx.c (simplify_binary_operation): Likewise. + +2005-02-02 Geoffrey Keating + + * config/rs6000/altivec.md (altivec_dst): Make the first operand + a REG, not a MEM. + (altivec_dstt): Likewise. + (altivec_dstst): Likewise. + (altivec_dststt): Likewise. + * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation + of first operand. + +2005-02-03 Dorit Naishlos + + * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy + EXPR_LOCUS from orig_cond to the new cond_stmt. + (vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to + the new vec_stmt. + +2005-02-03 Dorit Naishlos + + * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call + standard_iv_increment_position. Remove call to bsi_next + (no need to bump the iterator anymore). + (vect_create_index_for_vector_ref): Call + standard_iv_increment_position. Remove second function argument. + (vect_finish_stmt_generation): Remove call to bsi_next + (no need to bump the iterator anymore). + (vect_create_data_ref_ptr): Remove second argument (bsi) in call + to vect_create_index_for_vector_ref. + +2005-02-03 Dorit Naishlos + + * tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if + phis are used out of the loop. + +2005-02-03 Joseph S. Myers + + PR c/17807 + * c-decl.c (undef_nested_function): New variable. + (pop_scope): Diagnose undefined nested functions. + (finish_function): Don't attempt cgraph processing or genericizing + if current top-level function contained an undefined nested + function. Reset undef_nested_function at the end of a top-level + function. + +2005-02-02 Zdenek Dvorak + + * tree.c (build_int_cst_type): Take sign of the value into account + when deciding whether sign extend the value. + +2005-02-02 Joseph S. Myers + + PR c/18502 + * gcc.c (cpp_unique_options): Remove %{trigraphs}. + (cpp_options, cc1_options): Change %{std*&ansi} to + %{std*&ansi&trigraphs}. + +2005-02-02 Kazu Hirata + + * cse.c: Update comments. + +2005-02-02 Aldy Hernandez + + * config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg + arguments go on the stack. Do not put complex doubles in odd/even + pairs. + +2005-02-02 Steven Bosscher + + * doc/invoke.texi: Update the options enabled at -O1, -O2, + and -O3. Update the documentation for -fgcse-sm, -fgcse-las, + -ftree-pre, and -fthread-jumps. + +2005-02-02 Richard Sandiford + + PR tree-optimization/19578 + * tree-flow.h (modified_noreturn_calls): Declare. + (noreturn_call_p): Declare. + * tree-flow-inline.h (noreturn_call_p): New function. + (modify_stmt): Add modified noreturn calls to modified_noreturn_calls. + * tree-cfg.c (modified_noreturn_calls): New variable. + (cleanup_control_flow): Use noreturn_call_p. Split basic blocks + that contain a mid-block noreturn call. + * tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls. + +2005-02-02 Kazu Hirata + + * df.c (df_def_record_1, df_uses_record): Don't use + DF_FOR_REGALLOC. + * df.h (DF_FOR_REGALLOC): Remove. + +2005-02-02 Joseph S. Myers + + PR c/19435 + * c-typeck.c (really_start_incremental_init): Reset + constructor_max_index for arrays of incomplete type. + +2005-02-02 Jeff Law + + * gcse.c (struct reg_set): Store the block index where the register + was set rather than the setting insn. + (record_one_set, compute_transp): Corresponding changes. + (pre_insert_copy_insn): Do not call replace_one_set. + (replace_one_set): Remove. + +2005-02-02 Joseph S. Myers + + PR other/15514 + * doc/gcov.texi: Fix typo. + +2005-02-01 Richard Henderson + + PR tree-optimization/19217 + * tree-cfg.c (verify_expr): Use the data field to see if TP was + seen inside a PHI node. Do not do the ADDR_EXPR check if it was. + (verify_stmts): Pass (void*)1 as data to verify_expr to signal + that it is walking a PHI node. + +2005-02-01 Joseph S. Myers + + * doc/extend.texi (Nested Functions): Update. + +2005-02-01 Richard Henderson + + PR 19696 + * optabs.c (expand_copysign_absneg): Export. + * optabs.h (expand_copysign_absneg): Declare. + * config/rs6000/rs6000.md (copysigntf3): New. + +2005-02-01 Diego Novillo + + PR tree-optimization/19633 + * tree-flow.h (struct ptr_info_def): Add field 'pt_null'. + * tree-ssa-alias.c (init_alias_info): Initialize. + (merge_pointed_to_info): Set. + (add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer. + (dump_points_to_info_for): Show value of pt_null. + (struct count_ptr_d): Declare. + (find_ptr_dereference): Remove. + (ptr_is_dereferenced_by): Remove. + (count_ptr_derefs): New local function. + (count_uses_and_derefs): New local function. + (compute_points_to_and_addr_escape): Call it. If the number + of dereferences is greater than zero, mark the pointer as + dereferenced. If there are fewer dereferences than uses of + the pointer, the pointer's value escapes. + +2005-02-01 Diego Novillo + + PR tree-optimization/19670 + * tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED + here... + (verify_use): ... set it here, instead. + +2005-02-01 Janis Johnson + + * doc/sourcebuild.texi (Test directives): Fix formatting. + + * doc/sourcebuild.texi (Test directives): Describe selector + expressions. + +2005-02-01 Segher Boessenkool + + * config.gcc (powerpc64-*-linux*): Default to -m64 also for + specific 64-bit CPUs. + +2005-02-01 Richard Earnshaw + + PR target/16201 + * arm.c (arm_eliminable_register): New function. + (adjacent_mem_locations): Don't allow eliminable registers. Use + HOST_WIDE_INT for address offsets. + * arm-protos.h (arm_eliminable_register): Add prototype. + +2005-02-01 Steven Bosscher + + PR optimization/15242 + * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param. + * basic-block.h (duplicate_computed_gotos): Add prototype. + * bb-reorder.c (duplicate_computed_gotos): New function to + duplicate sufficiently small blocks ending in a computed jump. + * passes.c (rest_of_compilation): Call duplicate_computed_gotos + if not optimizing for size. + * cfgcleanup.c (try_crossjump_bb): If not optimizing for size, + never do tail merging for blocks ending in a computed jump. + * doc/invoke.texi: Document the max-goto-duplication-insns param. + +2005-02-01 Eric Botcazou + + Patch from Richard Sandiford + * reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code + from inheriting a subreg equivalence with a non-spill register. + + * tree.h (DECL_FUNCTION_CODE): Document that it is overloaded. + +2005-02-01 Alexandre Oliva + + * config/frv/frv.c (movcc_fp_destination_operand): New. + (gpr_or_memory_operand): Fix typo in comment. + (gpr_or_memory_operand_with_scratch): New. + * config/frv/frv.h (PREDICATE_CODES): Add the two new predicates. + * config/frv/frv.md (movcc_fp, movcc_fp_internal): Use + movcc_fp_destination_operand. + (reload_incc_fp): Use gpr_or_memory_operand_with_scratch. + Legitimize memory addresses using a scratch register. + +2005-01-31 Jeff Law + + * tree-into-ssa.c (mark_def_sites_global_data): Make KILLS + bitmap a sparse bitmap instead of a simple bitmap. + (mark_def_sites_initialize_block): Corresponding changes. + (ssa_mark_def_sites_initialize_block): Likewise. + (ssa_mark_phi_uses): Likewise. + (mark_def_site, ssa_mark_def_sites): Likewise. + (mark_def_site_blocks): Likewise. + (rewrite_ssa_into_ssa): Likewise. + + * tree-ssa-dom.c (record_cond): Pass correct variable type + for last argument to htab_find_slot_with_hash. + + * fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side + effects when optimizing 0 % X. Do not try to optimize X % 0. + +2005-01-31 James E. Wilson + + * config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to + 1_mmalua. + +2005-02-01 Eric Christopher + + * config/mips/mips.c (override_options): Warn if -mint64 + is used. + * doc/invoke.texi (MIPS Options): Document that -mint64 is + deprecated. + +2005-02-01 Kazu Hirata + + * cse.c (cse_reg_info): Remove hash_next, next, regno. Add + timestamp. + (cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT, + REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN, + cached_cse_reg_info, GET_CSE_REG_INFO): Remove. + (cached_regno): Initialize to INVALID_REGNUM. + (cse_reg_info_table_size, + cse_reg_info_table_first_uninitialized, + cse_reg_info_timestamp): New. + (REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use + get_cse_reg_info. + (init_cse_reg_info, get_cse_reg_info_1): New. + (get_cse_reg_info): Cache the last look-up. + (new_basic_block): Update the code to clear mappings from + registers to cse_reg_info entries. + (cse_main): Call init_cse_reg_info. + + * cse.c (get_cse_reg_info): Update a comment. + +2005-01-31 Steven Bosscher + + PR c/19333 + * c-decl.c (start_decl): Do not warn about arrays of elements with + an incomplete type here. + (grokdeclarator): Do it here by making a pedwarn an error. + * c-typeck.c (push_init_level): If there were previous errors with + the constructor type, do not warn about braces for initializers. + (process_init_element): Likewise for excess initializer elements. + +2005-01-31 Kazu Hirata + + * cse.c (delete_trivially_dead_insn): Don't iterate. + +2005-01-31 Andrew Pinski + + * config/rs6000/rs6000.md (copysignsf3): New expand. + (copysigndf3): Likewise. + +2005-01-31 Steven Bosscher + + * recog.c (constrain_operands): Only look for earlyclobber operand + conflicts if an '&' constraint was seen. + +2005-01-31 Marc Espie + + * config.gcc: Don't include embedded systems fragment, switches default + debugging format to ELF. + * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no + longer pick it up there. + +2005-01-31 Dale Johannesen + + * doc/extend.texi (nested functions): Fix linkage description. + Clarify that static is not allowed. + +2005-01-31 Dale Johannesen + + * config/rs6000/darwin.md (movsf_low_di): Make work. + (movdf_low_di): Make work. + +2005-01-31 Dale Johannesen + + * config/rs6000/darwin-tramp.asm (__trampoline_setup): + Make work for 64 bit. + +2005-01-31 Roger Sayle + Dale Johannesen + + PR middle-end/19650 + * fold-const.c (fold_binary_op_with_conditional_arg): + Make types match original operands, before STRIP_NOPS. + +2005-01-31 Alan Modra + + * config/rs6000/linux-unwind.h (struct gcc_vregs): New. + (struct gcc_regs): Rename from gcc_pt_regs. Add more regs. + (struct gcc_sigcontext): Delete. Merge contents to.. + (struct gcc_ucontext): ..here. + (get_sigcontext): Delete. + (get_regs): New function, like get_sigcontext but return regs ptr. + 64-bit version finds regs from r1 to support vdso. + (ppc_linux_aux_vector): New function. + (ppc_fallback_frame_state): Modify for get_regs. Restore fprs + and vector regs. + +2005-01-31 Ira Rosen + + * tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead + sizetype. + (vect_get_base_and_offset): Use ssizetype instead sizetype. Remove + redundant fold. Fix misalignment for MINUS_EXPR. + (vect_compute_data_ref_alignment): Use ssizetype instead sizetype. + (vect_analyze_pointer_ref_access): Likewise. + (vect_get_memtag_and_dr): Likewise. + +2005-01-31 Richard Henderson + + * config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery. + (absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse, + absnegdf2_i387, absnegxf2_i387): Likewise. + +2005-01-31 Richard Henderson + + PR 19696 + * optabs.c (expand_copysign_absneg): New. + (expand_copysign_bit): Split out from ... + (expand_copysign): ... here. Use expand_copysign_absneg. + +2005-01-30 Roger Sayle + + PR middle-end/19697 + * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer + constant as the second operand and a register as the third. + +2005-01-31 Danny Smith + + PR target/19704 + * config/i386/i386.c (ix86_function_ok_for_sibcall): Also check + that dllimport'd functions do not use all call-clobbered registers + to pass parameters. + +2005-01-30 Richard Henderson + + PR 19696 + * optabs.c (expand_absneg_bit): Split out from expand_unop and + expand_abs_nojump and generalize. Use operand_subword and + emit_no_conflict_block. Support large modes. + (expand_abs_nojump): Use it. Use HONOR_SIGNED_ZEROS to fall + back to maximum. + (expand_unop): Likewise. Use HONOR_SIGNED_ZEROS to fall back + negation to subtraction. + (expand_copysign): Check that the format has signed zeros. + Use operand_subword and emit_no_conflict_block. Support large modes. + +2005-01-30 Daniel Berlin + + Fix PR tree-optimization/19624 + + * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H. + * tree-ssa-pre.c: Add cfgloop.h. + Update comment. + (pre_stats): New member, constified. + (inserted_exprs): New static variable. + (NECESSARY): New macro. + (create_expression_by_pieces): Fold the expression, and + mark it as defaulting to not necessary. Also put in + inserted_exprs. + (fully_constant_expression): New function. + (insert_into_preds_of_block): Modify to not insert phis when we + are playing with induction variables. + Push phis onto the inserted_exprs vector, and mark them as not + necessary by default. + (insert_aux): Call fully_constant_expression on eprime. + If all edges produce the same value, mark it constant. + (mark_operand_necessary): New function. + (remove_dead_inserted_code): New function. + (init_pre): Init loop optimizer to get loop info. + (fini_pre): Free loop_optimizer, and inserted_exprs vec. + (execute_pre): Commit edge inserts, then remove dead code. + +2005-01-30 Richard Henderson + + * rtl.c (rtx_equal_p): No early exit for CONST_VECTOR. + * varasm.c (const_rtx_hash_1): Handle CONST_VECTOR. + +2005-01-30 Richard Henderson + + PR target/19700 + * config/i386/i386.c (ix86_expand_copysign): New. + (ix86_split_copysign_const): New. + (ix86_split_copysign_var): Rename from ix86_split_copysign, + rearrange op1/nmask operands. + * config/i386/i386-protos.h: Update. + * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign. + (copysigndf3): Likewise. + (copysignsf3_const, copysigndf3_const): New. + (copysignsf3_var): Rename from copysignsf3, split out splitter + and fix split predicate for X constraint. + (copysigndf3_var): Similarly. + +2005-01-30 Kazu Hirata + + * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi, + doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi, + doc/tm.texi, doc/tree-ssa.texi: Update copyright. + +2005-01-29 Richard Henderson + + PR target/19690 + * config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering + of # and * in constraints. + +2005-01-29 Richard Henderson + + PR middle-end/19689 + * expr.c (store_field): Don't strip sub-mode cast when the input + data is even smaller. + +2005-01-29 Richard Henderson + + PR middle-end/19687 + * expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a + union being empty. + +2005-01-29 Richard Henderson + + * combine.c (make_field_assignment): Fix argument order + to gen_int_mode. + +2005-01-29 Richard Guenther + + PR tree-optimization/15791 + * fold-const.c (extract_array_ref): New function. + (fold): Fold comparisons between &a[i] and &a[j] or + semantically equivalent trees. + +2005-01-29 Jeff Law + + * gcse.c (insert_expr_in_table): Revamp handling of available + and anticipatable occurrence lists to avoid unnecessary list + walking. + (insert_set_in_table): Similarly. + +2005-01-29 Joseph S. Myers + + * c-common.c (fix_string_type): Just use c_build_qualified_type to + build string type. + (c_build_qualified_type): Build qualified array types with + TYPE_MAIN_VARIANT pointing to corresponding unqualified type. + * c-decl.c (c_make_fname_decl): Build unqualified array type + before qualified type. + (grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element + type is qualified, not just if type itself is. Don't apply + qualifiers to array type when declarator is processed. Apply + qualifiers to field type whether or not it is an array type. + Don't handle array types specially for applying qualifiers to + variables. + * c-typeck.c (composite_type): Build unqualified element type and + array type when forming composite of array types. + (common_pointer_type, comptypes, comp_target_types, + type_lists_compatible_p, build_indirect_ref, build_array_ref, + convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array + types. + (type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE + (args2) in variables a1 and a2. + +2005-01-29 Kazu Hirata + + * cse.c (n_elements_made, max_elements_made): Remove. + (insert): Don't touch n_elements_made. + (cse_main): Don't touch n_elements_made or max_elements_made. + +2005-01-28 Stephane Carrez + + PR target/15384 + * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a + configuration part of dp-bit.c to be lost. + +2005-01-28 Roger Sayle + + * expmed.c (expand_mult_highpart_optab): When attempting to use + a non-widening multiplication in a wider mode, the operands need + to be converted (zero or sign extended) to that mode. + +2005-01-28 Ian Lance Taylor + + PR middle-end/16558 + PR middle-end/19583 + * gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls + through if both operands fall through. + +2005-01-28 Kazu Hirata + + * cse.c (fold_rtx) : Don't optimize. + +2005-01-28 Jeff Law + + * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X. + (case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly. + +2005-01-28 Kazu Hirata + + * cse.c (cse_reg_info_free_list, cse_reg_info_used_list, + cse_reg_info_used_list_end): Remove. + (cse_reg_info_list, cse_reg_info_list_free): New. + (get_cse_reg_info): When allocating an instance of + cse_reg_info, add it to the beginning of the cse_reg_info_list + list. Remove code to maintain cse_reg_info_used_list. + (new_basic_block): Reset the free list to the beginning of + cse_reg_info_list. + +2005-01-28 Richard Sandiford + + * config/frv/frv.c (bdesc_2arg): Remove __MDPACKH. + (frv_init_builtins): Change its prototype to take 4 uhalf arguments. + (frv_expand_mdpackh_builtin): New function. + (frv_expand_builtin): Use it to expand __MDPACKH. + * doc/extend.texi (__MDPACKH): Update documentation. + +2005-01-28 Uros Bizjak + + * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use + SSE_FLOAT_MODE_P for use_sse computation. + +2005-01-28 Ralf Corsepius + + PR target/19663 + * config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine. + +2005-01-27 Richard Henderson + + * builtins.c (expand_builtin_copysign): New. + (expand_builtin): Call it. + * genopinit.c (optabs): Add copysign_optab. + * optabs.c (init_optabs): Initialize it. + (expand_copysign): New. + * optabs.h (OTI_copysign, copysign_optab): New. + (expand_copysign): Declare. + + * config/alpha/alpha.md (UNSPEC_COPYSIGN): New. + (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New. + + * config/i386/i386.c (ix86_build_signbit_mask): Split from ... + (ix86_expand_fp_absneg_operator): ... here. + (ix86_split_copysign): New. + * config/i386/i386-protos.h: Update. + * config/i386/i386.md (UNSPEC_COPYSIGN): New. + (copysignsf3, copysigndf3): New. + + * config/ia64/ia64.md (UNSPEC_COPYSIGN): New. + (copysignsf3, ncopysignsf3): New. + (copysigndf3, ncopysigndf3): New. + (copysignxf3, ncopysignxf3): New. + * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN. + +2005-01-27 Arend Bayer + Kazu Hirata + + * cse.c: (find_best_addr): Don't call copy_rtx before calling + fold_rtx. Save cost recomputation if fold_rtx did nothing. + (fold_rtx) : Don't do anything if INSN is + NULL_RTX. + +2005-01-27 Jeff Law + + * tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register + definitions of SSA_NAMEs which are not being rewritten. + (rewrite_ssa_into_ssa): Only initialize the current definition + of an SSA_NAME if that SSA_NAME has been marked for rewriting. + If checking is enabled, assert that SSA_NAME_AUX is clear for all + SSA_NAMEs before returning. + +2005-01-27 Kazu Hirata + + * c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c, + cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h, + tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c, + config/avr/avr.md, config/cris/aout.h, config/cris/cris.h, + config/mips/iris6.h, config/sh/sh.c: Update copyright. + +2005-01-27 Steven Bosscher + + PR middle-end/17278 + * opts.c (decode_options): Move flag_thread_jumps from -O1 and + higher to -O2 and higher. Likewise for tree PRE. + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2 + and better. + +2005-01-27 Ian Lance Taylor + + PR middle-end/19583 + * gimple-low.c (try_catch_may_fallthru): New static function. + (block_may_fallthru): Handle TRY_CATCH_EXPR. + * tree-inline.c (expand_call_inline): Don't warn about reaching + the end of a non-void function being inlined if the function uses + a return slot. + +2005-01-27 Jakub Jelinek + + * config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos. + + PR c/18946 + * c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node. + (pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P. + (implicitly_declare): Handle error_mark_node. + +2005-01-27 Richard Henderson + + PR tree-opt/14329 + * tree.h (struct tree_decl): Add debug_expr_is_from. + (DECL_DEBUG_EXPR_IS_FROM): New. + (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF. + * dwarf2out.c (dwarf2out_var_location): Update to match. + * tree-outof-ssa.c (create_temp): Likewise. + * var-tracking.c (track_expr_p): Likewise. + * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR. + * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR. + * toplev.c (default_tree_printer): Likewise. + +2005-01-27 Alexandre Oliva + + * config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS, + GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS. + +2005-01-27 Steven Bosscher + + * tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW, + CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, + ASM_CLOBBERS): Add tree checks. + + * c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE. + (SWITCH_STMT_COND, SWITCH_STMT_BODY): New. + * c-common.def (SWITCH_STMT): Update to match. + * c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor + macros instead of SWITCH_EXPR ones. + * c-dump.c (c_dump_tree): Likewise. + * c-gimplify.c (gimplify_switch_stmt): Likewise. + * c-typeck.c (c_start_case, do_case, c_finish_case): Likewise. + + * doc/c-tree.texi (SWITCH_STMT): Update accessor macro names. + +2005-01-27 Alan Modra + + * unwind-dw2.c (execute_stack_op): Add missing cases for + DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor. + +2005-01-27 Eric Botcazou + + * config.gcc (Obsolete configurations): Remove 'dummy', add + sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and + sparc-*-openbsd*. + +2005-01-26 Diego Novillo + + PR tree-optimization/19633 + * tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle + CALL_EXPRs. + (maybe_create_global_var): Do not create .GLOBAL_VAR if there + are no call-clobbered variables. + * tree-outof-ssa.c (check_replaceable): Return false for calls + with side-effects. + +2005-01-26 Ulrich Weigand + + * dbxout.c (dbxout_symbol_location): Resolve constant pool references + even for variables with NULL DECL_INITIAL. + +2005-01-26 Stuart Hastings + + * gimplify.c (shortcut_cond_expr): Re-compute side-effects. + +2005-01-26 Richard Henderson + + PR middle-end/18008 + * c-decl.c (finish_struct): Set DECL_MODE after resetting a + field's type. + * expr.c (store_field): Strip conversions to odd-bit-sized types + if the destination field width matches. + +2005-01-26 Richard Henderson + + * c-decl.c, expmed.c, expr.c: Revert last change. + +2005-01-26 Richard Henderson + + PR middle-end/18008 + * c-decl.c (finish_struct): Set DECL_MODE after resetting a + field's type. + * expmed.c (store_fixed_bit_field): Create a paradoxical subreg + if we don't need the bits above those present in the current mode. + * expr.c (store_field): Strip conversions to odd-bit-sized types + if the destination field width matches. + +2005-01-26 Richard Sandiford + + * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if + either -ffast-math or -funsafe-math-optimizations is in use. + +2005-01-26 Marek Michalkiewicz + + PR target/19293 + PR target/19329 + * config/avr/avr.c (notice_update_cc): Only set condition code for + ashrqi3 if shift count > 0. + (out_shift_with_cnt): Handle shift count <= 0 as a no-op. + (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out, + ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift + count <= 0 as a no-op, and shift count >= width by copying zero + or sign bit to all bits of the result. + * config/avr/avr.md (all shifts): Add alternatives for zero shift + count, with attribute "length" set to 0 and "cc" set to "none". + +2005-01-26 Aldy Hernandez + + * doc/invoke.texi: Document -mTLS. + + * testsuite/gcc.target/frv/all-tls-global-dynamic.c: New. + * testsuite/gcc.target/frv/all-tls-initial-exec.c: New. **** TRUNCATED ****