X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=240bddba2fd254bc2ed191537be0595aede95806;hb=73f4dbb089f8be50016c301a0db8240d13d14f87;hp=af8165e13cfee227420103b0f992abf3e33af1db;hpb=986c559b9b2e6872be766f10135bc14838edcb4e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index af8165e13cf..22e113f5014 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1136 @@ +2006-09-11 Guenter Roeck + David Edelsohn + + PR target/27287 + * config/rs6000/spe.md (frob_df_di): Remove %H. + (frob_di_df): Remove %H. Change evmergelo to mr. + (frob_di_df_2): Remove %H. Change evldd to two loads. + +2006-09-11 Hideki Iwamoto + + * doc/cpp.texi: Fix names of charset options. + +2006-09-10 Andrew Pinski + + PR target/29009 + * config/i386/i386.c (override_options): Use 128-bit + stack boundary always for 64bits. + +2006-09-10 Eric Botcazou + + PR rtl-optimization/28636 + * combine.c (force_to_mode): Test for side-effects before + substituting by zero. + (simplify_shift_const): Likewise for zero or other constants. + +2006-09-10 Steven Bosscher + + PR middle-end/26983 + * builtins.c (expand_builtin_setjmp): Force next_lab to be + preserved. + +2006-09-10 Richard Sandiford + + PR target/29006 + * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare. + * config/mips/mips.c (mips_expand_unaligned_store): Use the mode + returned by mode_for_size, rather than the mode of src itself, + to choose between 32-bit and 64-bit patterns. + (mips_mem_fits_mode_p): New function. + * config/mips/mips.md (mov_l, mov_r): Use it to check + that the size of the source matches the size of the destination. + (mov_l, mov_r): Likewise. + +2006-09-10 Eric Christopher + + * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR + for literal16. + +2006-09-09 Eric Christopher + + PR target/28995 + * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT + for literal16. + +2006-09-09 Roger Sayle + Nicolas Setton + + * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc. + +2006-09-10 Andreas Schwab + + * config/m68k/m68k.md (bungt_rev): New pattern. + +2006-09-09 Paolo Bonzini + Dale Johannesen + + PR target/26778 + * regclass.c (struct reg_pref): Update documentation. + (regclass): Set prefclass to NO_REGS if memory is the best option. + (record_reg_classes): Cope with a prefclass set to NO_REGS. + +2006-09-08 Eric Christopher + + * config.gcc (i?86-*-darwin): Add 64-bit HWI support. + * config/t-slibgcc-darwin: Support x86_64 multilib. + * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): + Return 1 for x86_64-darwin. + * config/i386/t-darwin: Add m64 multilib. + (LIB2_SIDITI_CONV_FUNCS): Use. + (LIB2FUNCS_EXTRA): Ditto. + * config/i386/darwin.h: Support x86_64. + * config/i386/i386.c (override_options): Turn on flag_pic + for x86_64-darwin. Disable flag_omit_pointer. + (get_pc_thunk_name): Assert !TARGET_64BIT. + (legitimate_address_p): Disable machopic addressing for + x86_64. + (legitimize_pic_address): Ditto. + (ix86_expand_move): Ditto. + (ix86_expand_call): Ditto. + (machopic_output_stub): Ditto. + * config/darwin.c (machopic_select_section): Support literal16. + (machopic_select_rtx_section): Ditto. + * config/darwin-sections.def: Ditto. + * config/darwin-64.c: New. + +2006-09-08 Joseph S. Myers + + PR c/28504 + * c-tree.h (struct c_arg_info): Add pending_sizes. + * c-parser.c (c_parser_parms_declarator, + c_parser_parms_list_declarator): Initialize pending_sizes. + * c-decl.c (get_parm_info): Initialize pending_sizes. + (get_parm_info): Set pending_sizes. + (grokdeclarator): Call put_pending_sizes for parameters for + function definition only. + +2006-09-07 Jason Merrill + + PR middle-end/27724 + * varasm.c (output_constant): Only strip actual no-op conversions. + + PR target/13685 + * config/i386/i386.c (override_options): Use 128-bit + stack boundary if -msse. + +2006-09-07 Eric Christopher + + * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update + comment. + * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): + Redefine. + +2006-09-07 Geoffrey Keating + + * dwarf2out.c: Remove strange characters from comment above + dwarf2out_frame_debug_expr. + +2006-09-07 Eric Christopher + + * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here... + * config/darwin.h: ... to here. + +2006-09-07 H.J. Lu + + * config/i386/i386.c (x86_partial_flag_reg_stall): New. + + * config/i386/i386.h (x86_partial_flag_reg_stall): New. + (TARGET_PARTIAL_FLAG_REG_STALL): New. + + * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for + TARGET_PARTIAL_FLAG_REG_STALL. + (*ashldi3_cconly_rex64): Likewise. + (*ashlsi3_cmp): Likewise. + (*ashlsi3_cconly): Likewise. + (*ashlsi3_cmp_zext): Likewise. + (*ashlhi3_cmp): Likewise. + (*ashlhi3_cconly): Likewise. + (*ashlqi3_cmp): Likewise. + (*ashlqi3_cconly): Likewise. + (*ashrdi3_cmp_rex64): Likewise. + (*ashrdi3_cconly_rex64): Likewise. + (*ashrsi3_cmp): Likewise. + (*ashrsi3_cconly): Likewise. + (*ashrsi3_cmp_zext): Likewise. + (*ashrhi3_cmp): Likewise. + (*ashrhi3_cconly): Likewise. + (*ashrqi3_cmp): Likewise. + (*ashrqi3_cconly): Likewise. + (*lshrdi3_cmp_rex64): Likewise. + (*lshrdi3_cconly_rex64): Likewise. + (*lshrsi3_cmp): Likewise. + (*lshrsi3_cconly): Likewise. + (*lshrsi3_cmp_zext): Likewise. + (*lshrhi3_cmp): Likewise. + (*lshrhi3_cconly): Likewise. + (*lshrqi2_cmp): Likewise. + (*lshrqi2_cconly): Likewise. + +2006-09-07 Uros Bizjak + + PR target/28946 + * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly", + "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64", + "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly", + "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly", + "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly", + "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64", + "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly", + "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly", + "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to + implement only CC setting effects of shift instructions. + +2006-09-07 Martin Michlmayr + + * doc/contrib.texi: Add myself. + +2006-09-07 Andrew Pinski + + PR middle-end/28862 + * stor-layout.c (relayout_decl): Don't zero the alignment if it + was set by the user. + +2006-09-07 Paolo Bonzini + + PR target/27117 + * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns. + (divsi_inv_m1): Use them. + (UNSPEC_DIV_INV_TABLE): New constant. + +2006-09-06 James E Wilson + + PR rtl-opt/27883 + * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES + then call count_or_remove_death_notes. + +2006-09-06 Jason Merrill + + PR c++/27371 + * tree-inline.c (copy_result_decl_to_var): New fn. + (declare_return_variable): Use it. Call declare_inline_vars here. + (expand_call_inline): Not here. + +2006-09-06 Diego Novillo + + * doc/contrib.texi: Update my entry. + +2006-09-06 Nick Clifton + + * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define. + +2006-09-05 Andrew Pinski + + PR tree-opt/28937 + * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int. + (canonicalize_induction_variables): Likewise. + (tree_unroll_loops_completely): Likewise. + (tree_ssa_prefetch_arrays): Likewise. + (remove_empty_loops): Likewise. + * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return + TODO_cleanup_cfg instead of directly calling + cleanup_tree_cfg_loop. + * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): + Likewise. + (tree_unroll_loops_completely): Likewise. + (remove_empty_loops): Likewise. + * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise. + * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value + of tree_ssa_unswitch_loops. + (tree_ssa_loop_ivcanon): Use the return value of + canonicalize_induction_variables. + (tree_ssa_empty_loop): Use the return value of + remove_empty_loops. + (tree_complete_unroll): Use the return value of + tree_unroll_loops_completely. + (tree_ssa_loop_prefetch): Use the return value of + tree_ssa_prefetch_arrays. + * passes.c (execute_todo): Before Cleanup CFG, set + updating_used_alone and after cleanup CFG, call + recalculate_used_alone. + +2006-09-05 Andrew Pinski + + PR tree-opt/28952 + * tree-vect-transform.c (vectorizable_condition): Move the check + for the type after the check for simple condition. + +2006-09-05 J"orn Rennecke + Kaz Kojima + + PR target/28764 + * mode-switching.c (optimize_mode_switching): Make the destination + block of an abnormal edge have no anticipatable mode. Don't + insert mode switching code at the end of the source block of + an abnormal edge. + +2006-09-05 Paolo Bonzini + + PR rtl-optimization/26847 + * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix. + (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno. + (simplify_plus_minus): Count n_constants while filling ops. Replace + qsort with insertion sort. Before going through the array to simplify + pairs, sort it. Delay early exit until after the first sort, exiting + only if no swaps occurred. Simplify pairs in reversed order, without + special-casing the first iteration. Pack ops after simplifying pairs. + +2006-09-05 Anatoly Sokolov + + * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device. + * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). + * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). + (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED. + +2006-09-05 Richard Guenther + + PR tree-optimization/28900 + * tree-if-conv.c (find_phi_replacement_condition): Gimplify + compound conditional before creating COND_EXPR condition. + +2006-09-05 Richard Guenther + + PR tree-optimization/28905 + * tree-vrp.c (fix_equivalence_set): Manually implement + !value_ranges_intersect_p to also handle symbolic ranges. + +2006-09-05 Richard Guenther + + PR middle-end/28935 + * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition + of a COND_EXPR. + +2006-09-04 Eric Botcazou + + PR rtl-optimization/27616 + * cse.c (table_size): New static variable. + (new_basic_block): Initialize it to 0. + (remove_from_table): Decrement it. + (insert): Increment it. + (fold_rtx_mem_1): New function, renamed from fold_rtx_mem. + (fold_rtx_mem): Enforce a cap on the recursion depth. Call + fold_rtx_mem_1 if under the cap. + (fold_rtx) : In the associative case, delay a little + the lookup of the equivalent expression and test for equality of the + first operand of the equivalent expression before in turn looking up + an equivalent constant for the second operand. + +2006-09-02 Geoffrey Keating + + Revert this change: + 2006-03-17 Alexandre Oliva + * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack + pointer, instead of assuming it is possible to derive the + correct args size from a call insn. + +2006-09-02 Jakub Jelinek + + PR middle-end/27567 + * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove. + (fold_builtin_mempcpy): Rename to... + (fold_builtin_memory_op): ... this. Optimize one element copy + into an assignment. + (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New + functions. + (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR. + (expand_builtin_memcpy, expand_builtin_mempcpy, + expand_builtin_memmove): Likewise. Use fold_builtin_memory_op. + (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and + BUILT_IN_BCOPY. Use fold_builtin_memory_op for + BUILT_IN_MEM{CPY,PCPY,MOVE}. + +2006-09-01 DJ Delorie + + * config/m32c/cond.md (cbranch4): Defer splitting until after reload. + (stzx_16): Likewise. + ("stzx_24_"): Likewise. + ("stzx_reversed_"): Likewise, and make mode-specific. + ("cmp_op"): New. + (cmp): Change to expander; just save operands. + (b_op): New. + (b): Change to expander, emit compare here. + (s_op): Change to use split and expander. + (s_24_op): Likewise. + (s_): New. + (s__24): New. + (movqicc___): New. + (s): New. + (s_24): New. + * config/m32c/m32c.c (compare_op0, compare_op1): New. + (m32c_pend_compare): New. + (m32c_unpend_compare): New. + (m32c_expand_scc): New. + (m32c_expand_movcc): Emit the compare also. + * config/m32c/predicates.md (mra_nopp_operand): New. + +2006-09-01 J"orn Rennecke + Richard Guenther + Adam Nemet + + PR middle-end/27226 + * builtins.c (get_pointer_alignment): Handle more forms + of base addresses that can be used to derive more precise + information about alignment. + +2006-09-01 Jason Merrill + + PR c++/28899 + * gimplify.c (gimplify_modify_expr_rhs) [BIND_EXPR]: Handle + want_value. + + * gimplify.c (voidify_wrapper_expr): Handle null type. + +2006-09-01 Josh Conner + + PR c++/25505 + * tree-nrv.c (dest_safe_for_nrv_p): New function. + (execute_return_slot_opt): Use it. + +2006-08-31 Josh Conner + + PR c++/25505 + * tree-gimple.c (is_gimple_mem_rhs): Recognize functions + returning aggregates. + +2006-08-31 Zdenek Dvorak + + PR tree-optimization/28839 + * tree-into-ssa.c (prune_unused_phi_nodes): Take into account kills in + blocks in that phi arguments appear. + +2006-08-31 Roger Sayle + + PR other/22313 + * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is + NULL, otherwise use an advance_loc4 to adjust relative to the + current label. + (output_cfi) : Update the current label. + (dwarf2out_switch_text_section): Reset the current label to avoid + using advance_loc4 over section boundaries. + +2006-08-31 Andreas Krebbel + + PR target/24367 + * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like + r12 + SYMBOLIC_CONST. + +2006-08-30 Richard Guenther + + * Makefile.in (see.o): Add $(EXPR_H) dependency. + +2006-08-30 Zdenek Dvorak + + PR rtl-optimization/27735 + * cfgloopmanip.c (fix_loop_placements, fix_bb_placements, unloop): + Add new argument to keep track of whether an irreducible region + was affected. All callers changed. + (fix_irreducible_loops): Removed. + (remove_path): Call mark_irreducible_loops if EDGE_IRREDUCIBLE_LOOP + flags were invalidated. + +2006-08-29 H.J. Lu + + * config/i386/i386.md (*fop_df_comm_mixed): Match DF operands + instead of SF operands. + (*fop_df_comm_sse): Likewise. + (*fop_df_comm_i387): Likewise. + (*fop_df_1_mixed): Likewise. + (*fop_df_1_sse): Likewise. + +2006-08-29 Andrew Pinski + J"orn Rennecke + + PR tree-optimization/17506 + * tree-ssa.c (warn_uninit): If warning about a location outside of + the current function, note where the variable was declared. + +2006-08-28 Zdenek Dvorak + + PR tree-optimization/28411 + * double-int.c (double_int_div): Use double_int_divmod. + (double_int_divmod, double_int_sdivmod, double_int_udivmod, + double_int_mod, double_int_smod, double_int_umod): New functions. + * double-int.h (double_int_divmod, double_int_sdivmod, + double_int_udivmod, double_int_mod, double_int_smod, double_int_umod): + Declare. + * tree-ssa-loop-ivopts.c (constant_multiple_of): Returns the result + in double_int. + (get_computation_aff, get_computation_cost_at): Handle double_int + return type of constant_multiple_of. + +2006-08-28 Kazu Hirata + + PR middle-end/26632 + * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on + an implicit conversion. + +2006-08-28 Prafulla Thakare + + * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New. + +2006-08-27 Roger Sayle + + * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute + x87 instructions. + +2006-08-27 Kazu Hirata + + * config/i386/crtfastmath.c: Fix a comment typo. + +2006-08-26 Roger Sayle + + * tree.h (CASE_LOW_SEEN, CASE_HIGH_SEEN): New macros for manipulating + temporary visit flags on CASE_LABEL_EXPRs. + * c-common.c (match_case_to_enum): Add function comment. Avoid + O(N) loop, by looking up both CASE_LOW_SEEN and CASE_HIGH_SEEN. + (c_do_switch_warnings): Reorganize to record CASE_LOW_SEEN and + CASE_HIGH_SEEN for enumerated types. If the switch expression is + a constant, only warn if that constant value isn't handled. + +2006-08-26 Joseph S. Myers + + PR c++/24009 + * input.h (restore_input_file_stack): Declare. + (INPUT_FILE_STACK_BITS): Define. + * toplev.c (fs_p, input_file_stack_history, + input_file_stack_restored, restore_input_file_stack): New. + (push_srcloc, pop_srcloc): Check for input_file_stack_tick + overflowing INPUT_FILE_STACK_BITS bits. Save new state of stack. + (pop_srcloc): Don't free old state of stack. + +2006-08-26 David Edelsohn + + PR target/27544 + * doc/extend.texi (PowerPC Variable Attributes): Mention altivec. + (PowerPC Type Attributes): New. + +2006-08-26 Bob Wilson + + * config/xtensa/xtensa.c (function_arg_boundary): New. + (function_arg, xtensa_gimplify_va_arg_expr): Limit alignment to + STACK_BOUNDARY. + * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Move code to new + function_arg_boundary function that limits alignment to STACK_BOUNDARY. + +2006-08-26 Jakub Jelinek + + PR middle-end/28683 + * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly + 3 following insns. + +2006-08-25 Volker Reichelt + + * flow.c (verify_wide_reg): Use internal_error for consistency failure. + (verify_local_live_at_start): Likewise. + +2006-08-25 Joseph S. Myers + + PR c/27893 + * gimplify.c (gimplify_decl_expr, gimplify_init_ctor_preeval, + omp_add_variable): Treat sizes as variable whenever not + INTEGER_CST. + +2006-08-26 Richard Guenther + + PR middle-end/28814 + * fold-const.c (fold_binary): Fold temporary to correct + type before constructing new comparison. + +2006-08-25 Fariborz Jahanian + + PR c/28418 + * c-gimplify.c (gimplify_compound_literal_expr): Don't add + variable again if DECL_SEEN_IN_BIND_EXPR_P. + +2006-08-25 Joseph S. Myers + + PR c/28299 + * c-decl.c (start_function): Don't try to process prototype + information from old declaration that isn't a function. + +2006-08-25 Jan Hubicka + + PR target/28621 + * config/i386/crtfastmath.c (set_fast_math): Force stack alignment. + +2006-08-25 Alan Modra + + PR target/27075 + * config/rs6000/rs6000.c (print_operand): Only use e500 %y syntax + for 8 byte objects. + +2006-08-25 J"orn Rennecke + + PR tree-optimization/16876 + * c-typeck.c (c_convert_parm_for_inlining): Don't take early + exit if PARM doesn't match VALUE. + +2006-08-25 Bob Wilson + + * config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Do not emit a + literal_prefix directive. + (XTENSA_DECLARE_FUNCTION_SIZE): Delete. + * config/xtensa/linux.h (ASM_DECLARE_FUNCTION_SIZE): Delete. + * config/xtensa/elf.h (ASM_DECLARE_FUNCTION_SIZE): Delete. + +2006-08-25 David Edelsohn + + PR target/28753 + * config/rs6000/rs6000.md (movcc_internal1): Change operand 1 + predicate to general_operand. Add 0->y and I->r alternatives. + +2006-08-25 Kazu Hirata + + * doc/tm.texi: Fix a typo. + * predict.c: Fix comment typos. + +2006-08-25 Nick Clifton + + * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add + assertions of "cpu" and "machine". + +2006-08-24 Andrew Pinski + + PR tree-opt/28807 + * tree-ssa-operands.c (access_can_touch_variable): Don't say + the access through a base which has an alias set of 0 cannot + touch the variable. + +2006-08-24 Bill Wendling + + * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English. + +2006-08-24 Jan Hubicka + + * reload1.c (emit_reload_insns): Fix yet another typo in my patch. + +2006-08-24 Jan Hubicka + + PR debug/26881 + * cgraph.c: Fix comments. + (cgraph_varpool_mark_needed_node): Mark only variables not already + output to file. + * cgraphunit.c: Update comments; include gt-cgraphunit.h + (cgraph_varpool_assembled_nodes_queue): New static variable. + (cgraph_varpool_assemble_decl): Record output decls for debug out code. + (cgraph_varpool_output_debug_info): New function. + (cgraph_finalize_compilation_unit, cgraph_optimize): Call it. + * Makefile.in: Add gt-cgraphunit.h + +2006-08-24 Jan Hubicka + + * predict.c (probability_reliable_p): New predicate. + (edge_probability_reliable_p, br_prob_note_reliable_p): Likewise. + (predict_loops): Do not predict loop exit with less than 2% + probability. + * basic-block.h (edge_probability_reliable_p, + br_prob_note_reliable_p): Declare. + * ia64.h (ia64_print_operand): Do not disable on-chip branch + prediction when static predictor is not reliable. + * rs6000.c (output_cbranch): Likewise. + +2006-08-23 Stuart Hastings + + PR 28825 + * gcc/config/i386/i386.c (ix86_expand_vector_init_duplicate, + ix86_expand_vector_init_one_nonzero): Remove TARGET_SSE test. + +2006-08-21 Geoffrey Keating + + PR debug/28692 + * dwarf2out.c (rtl_for_decl_init): Don't try to create RTL for + complex values, nor for generic vector values. + +2006-08-22 Richard Guenther + + PR middle-end/28776 + * tree-scalar-evolution.c (fold_used_pointer): Add at_stmt + parameter. Convert arguments to arithmetic expression to the + chrecs type. + (analyze_scalar_evolution_1): Adjust caller. + +2006-08-22 Jan Hubicka + + Patch by Paolo Bonzini + * reload1.c (emit_reload_insns): Fix incorrect bracketing introduced by + my previous patch. + +2006-08-22 Daniel Berlin + + PR tree-optimization/28003 + * tree-ssa-alias.c (compute_may_aliases): Compute call clobbered + before grouping aliases. + +2006-08-22 Roger Sayle + + * config/i386/i386.c (ix86_value_regno): Don't return FIRST_MMX_REG + if !TARGET_MMX, and don't return FIRST_SSE_REG if !TARGET_SSE. + +2006-08-21 Jason Merrill + + PR c++/27115 + * gimplify.c (voidify_wrapper_expr): Handle STATEMENT_LIST as a + wrapper. Loop to handle nested wrappers. + (gimplify_bind_expr): Remove temp parameter. + (gimplify_modify_expr_rhs): Handle CLEANUP_POINT_EXPR, BIND_EXPR + and STATEMENT_LIST on the rhs. + (gimplify_statement_list): Voidify the STATEMENT_LIST. + (gimplify_expr): Pass pre_p to gimplify_statement_list. + (gimplify_target_expr): Remove special BIND_EXPR handling. + +2006-08-21 J"orn Rennecke + + * config/sh/lib1funcs-Os-4-200.asm: Guard entire file with + #if !__SHMEDIA__ . + +2006-08-21 Olivier Hainque + + * gimplify.c (gimplify_init_constructor) : + Arrange for the temporary captures of components overlapping the lhs + to happen before the lhs is possibly cleared. + +2006-08-21 Mark Shinwell + + * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in + necessary places to pass the correct "number of registers" values + to _Unwind_VRS_Pop. + +2006-08-20 Jan Hubicka + + * tree-ssa-alias.c (eq_ptr_info, ptr_info_hash): New function. + (create_name_tags): Instead of quadratic checking use hashtable. + * bitmap.h: Include hashtab.h. + (bitmap_hash): Declare. + * bitmap.c (bitmap_hash): New function. + +2006-08-20 Jan Hubicka + + PR rtl-optimization/28071 + * tree-optimize.c (tree_rest_of_compilation): Do not remove edges + twice. + * tree-inline.c (copy_bb): Use cgraph_set_call_stmt. + * ipa-inline.c (cgraph_check_inline_limits): Add one_only argument. + (cgraph_decide_inlining, cgraph_decide_inlining_of_small_function, + cgraph_decide_inlining_incrementally): Update use of + cgraph_check_inline_limits. + * cgraph.c (edge_hash, edge_eq): New function. + (cgraph_edge, cgraph_set_call_stmt, cgraph_create_edge, + cgraph_edge_remove_caller, cgraph_node_remove_callees, + cgraph_remove_node): Maintain call site hash. + * cgraph.h (struct cgraph_node): Add call_site_hash. + (cgraph_set_call_stmt): New function. + +2006-08-20 Jan Hubicka + + PR rtl-optimization/28071 + * reload1.c (reg_has_output_reload): Turn into regset. + (reload_as_needed, forget_old_reloads_1, forget_marked_reloads, + choose_reload_regs, emit_reload_insns): Update to new + reg_has_output_reload. + +2006-08-20 Jan Hubicka + + PR middle-end/28779 + * ipa-inline.c (cgraph_decide_inlining, cgraph_early_inlining): Compute + function body sizes. + * cgraphunit.c (cgraph_analyze_function): Don't do so. + +2006-08-20 Danny Smith + + PR target/28648 c: + * tree.c (handle_dll_attribute): Return early if not a + var or function decl. + +2006-08-18 Joseph Myers + + PR target/27565 + * config/rs6000/rs6000.h (LOCAL_ALIGNMENT): For SPE, only adjust + alignment of SPE vector types. + +2006-08-18 Christophe Jaillet + + * tree.c (is_attribute_with_length_p): Remove a duplicated assert. + +2006-08-17 Jakub Jelinek + + PR c/28744 + * cgraph.h (struct cgraph_node): Remove externally_visible + bitfield. + * cgraphunit.c (process_function_and_variable_attributes): Set + local.externally_visible rather than externally_visible. + + PR c/28744 + * c-common.c (handle_externally_visible_attribute): First look + at TREE_CODE and only if it is function or var decl, check for + non-public objects. Don't warn for DECL_EXTERNAL. + * cgraphunit.c (process_function_and_variable_attributes): Warn + if externally_visible attribute is used on non-public object. + +2006-08-17 Jan Hubicka + + PR tree-optimization/27865 + * reload1.c (forget_marked_reloads): New function. + (forget_old_reloads_1): When data are passed, just mark the registers + for later removal. + (reload_as_needed): Use the new mechanizm. + +2006-08-17 Alexandre Oliva + + PR target/28146 + * reload.h (reg_equiv_alt_mem_list): New declaration. + * reload1.c (reg_equiv_alt_mem_list): New definition. + (reload): Initialize it and release it. + (delete_output_reload): Use it. + * reload.c (push_reg_equiv_alt_mem): New function. + (find_reloads_toplev): Call it. + (find_reloads_address, find_reloads_address_1): Likewise. + (find_reloads_subreg_address): Likewise. + +2006-08-17 Maxim Kuvyrkov + + PR rtl-optimization/28489 + * sched-ebb.c (begin_schedule_ready): Create basic block + at the right place. + (advance_target_bb): Skip empty blocks. + * haifa-sched.c (bb_note): Make global. + * sched-int.h (bb_note): Add prototype. + +2006-08-16 Zdenek Dvorak + + PR tree-optimization/27865 + * tree-vrp.c (adjust_range_with_scev): Do not use TYPE_{MIN,MAX}_VALUE + for pointer types. + * tree-scalar-evolution.c (fold_used_pointer_cast, pointer_offset_p, + fold_used_pointer, pointer_used_p): New functions. + (analyze_scalar_evolution_1): Use fold_used_pointer. + * tree-chrec.c (convert_affine_scev): Convert no-op casts correctly. + * tree-ssa-loop-ivopts.c (generic_type_for): Return integral type + for pointers. + +2006-08-17 Paolo Bonzini + + PR c++/28573 + * c-common.c (fold_offsetof_1): Add an argument and recurse down to it + or the INTEGER_CST. Fail on a CALL_EXPR. + (fold_offsetof): Pass new argument to fold_offsetof_1. + * c-parser.c (c_parser_postfix_expression): Don't include a NULL + operand into an INDIRECT_REF. + * c-typeck.c (build_unary_op): Adjust call to fold_offsetof. + +2006-08-16 Zdenek Dvorak + + PR gcov/profile/26570 + * value-prof.c (static_values): Removed. + (tree_find_values_to_profile): Do not set static_values. + (find_values_to_profile): Do not free static_values. + * profile.c (instrument_values): Do not free the values. + (branch_prob): Free the values. + +2006-08-16 Naveen.H.S + + * config/m32c/m32c_lib1.S (__mulsi3): Use only registers for dest. + +2006-08-16 Joseph S. Myers + + PR c/27697 + * c-typeck.c (build_component_ref): Combine qualifiers of + structure or union and field. + +2006-08-16 Zdenek Dvorak + + PR rtl-optimization/28071 + * basic-block.h (bb_dom_dfs_in, bb_dom_dfs_out): Declare. + * dominance.c (bb_dom_dfs_in, bb_dom_dfs_out): New functions. + * tree-into-ssa.c (struct dom_dfsnum): New. + (cmp_dfsnum, find_dfsnum_interval, prune_unused_phi_nodes): New + functions. + (insert_phi_nodes_for): Use prune_unused_phi_nodes instead of + compute_global_livein. + (prepare_block_for_update, prepare_use_sites_for): Mark the uses + in phi nodes in the correct blocks. + +2006-08-16 Zdenek Dvorak + + PR tree-optimization/28364 + * tree-ssa-loop-ivopts.c (aff_combination_to_tree): Handle zero + correctly. + (fold_affine_expr): New function. + (may_eliminate_iv): Use fold_affine_expr. + +2006-08-16 Volker Reichelt + + PR c/27489 + * c-typeck.c (c_start_case): Handle invalid orig_type correctly. + Clean up. + +2006-08-16 Mike Stump + + * doc/invoke.texi (-Wno-deprecated-declarations): Fixup use of pxref. + * doc/cppopts.texi (-MD): Likewise. + +2006-08-15 Danny Smith + + PR c/28287 + * c-common.c (handle_weak_attribute): Ignore and warn if + not a FUNCTION_ or VAR_DECL. + +2006-07-15 Mike Stump + + PR c/28280 + * c-parser.c (c_parser_typeof_specifier): Don't use + c_finish_expr_stmt, open code desired semantics instead. + +2006-08-15 Nick Clifton + + * config.gcc (x86-mingw32): Add a gthr-win32.h including makefile + fragment to tmake_file only if threads are enabled. + * config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Move to... + * config/i386/t-gthr-win32: New file. ... here. + +2006-08-15 Volker Reichelt + + PR c/28649 + * c-parser.c (c_parser_compound_statement_nostart): Reset + parser->error after each statement. + +2006-08-15 Jakub Jelinek + + PR middle-end/28713 + * omp-low.c (lower_omp_parallel): Convert t to + receiver_decl's type. + (expand_omp_parallel): STRIP_NOPS from the MODIFY_EXPR + source before comparison. + + PR middle-end/28724 + * gimplify.c (gimplify_omp_atomic_pipeline): Convert oldival + to itype in assignment to oldival2. + +2006-07-14 Andrew Pinski + + PR c/27490 + PR c/27489 + * c-typeck.c (build_compound_expr): If the second expression + is an error mark, then just return an error mark instead of + creating a COMPOUND_EXPR. + +2006-07-14 Mike Stump + + * Makefile.in (LIBGCC_DEPS): Don't depend on LANGUAGES. + +2006-08-14 Kazu Hirata + + * c-decl.c, var-tracking.c: Fix comment typos. + +2006-08-14 Richard Sandiford + + PR rtl-optimization/28634 + * reorg.c (fill_slots_from_thread): Do not assume A + X - X == A + for floating-point modes unless flag_unsafe_math_optimizations. + +2006-08-13 Alexandre Oliva + Andrew Pinski + + PR c/27184 + * tree.c (build_array_type): Unify array types with + unspecified index_type. + * c-decl.c (grokdeclarator): Make sure we do not modify a + unified incomplete array type. + * c-typeck.c (store_init_value): Create distinct type before + filling in the index type in an initializer from a compound + literal. + + * c-decl.c (grokdeclarator): Remove code where we copy the + array type over. + +2006-08-13 Andrew Pinski + + * tree-pass.h (TODO_update_ssa): Fix which bit is used to take + into account for TODO_dump_cgraph. + (TODO_update_ssa_no_phi): Likewise. + (TODO_update_ssa_full_phi): Likewise. + (TODO_update_ssa_only_virtuals): Likewise. + (TODO_remove_unused_locals): Likewise. + (TODO_set_props): Likewise. + (TODO_update_stmt_usage): Likewise. + +2006-08-13 Dirk Mueller + + * c-common.c (strict_aliasing_warning): Fix formatting. + +2006-08-13 Matthias Klose + + * doc/invoke.texi: Fix spelling errors. + +2006-08-11 Eric Botcazou + + PR rtl-optimization/23454 + * reorg.c (relax_delay_slots): Update comment. + +2006-08-11 Richard Guenther + + PR middle-end/28651 + * simplify-rtx.c (simplify_const_relational_operation): + Simplify A CMP B to A - B CMP 0 only for EQ and NE comparison + codes. + +2006-08-10 Eric Botcazou + + * tree.c (build1_stat): Also propagate the TREE_CONSTANT and + TREE_INVARIANT flags for a VIEW_CONVERT_EXPR. + +2006-08-10 Paul Brook + + * final.c (final_scan_insn): Clear current_insn_predicate before + outputting inline asm. + +2006-08-10 Dorit Nuzman + + PR tree-optimization/26197 + * tree-ssa-alias.c (new_type_alias): Takes additional argument. Calls + get_ref_base_and_extent and overlap_subvar to add only relevant + subvars as may-aliases. + (add_may_alias_for_new_tag): New function, factored out of + new_type_alias. + * tree-vect-transform.c (vect_create_data_ref_ptr): Call new_type_alias + with additional argument. + * tree-flow.h (new_type_alias): Takes additional argument. + +2006-08-09 Nathan Sidwell + + * gcov.c (no_data_file): New flag. + (read_count_file): Set it if data file not present. Assume counts + zero if not found. + (output_lines): Don't name the data file, if there wasn't one. + +2006-08-09 Eric Botcazou + + * config/rs6000/rs6000.c (print_operand) : Fix comment and adjust. + (rs6000_generate_compare): Tweak comments. + * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): Fix comment. + +2006-08-09 Alexandre Oliva + + * var-tracking.c (enum micro_operation_type): Add MO_COPY. + (var_debug_decl): New function. + (var_reg_set): Follow debug decl link. Add location even if + reg is already known to hold some other variable. + (var_mem_set): Follow debug decl link. + (var_reg_delete_and_set, var_mem_delete_and_set): Follow debug + decl link. Delete other known locations of the variable part + if requested. + (var_reg_delete, var_mem_delete): Delete other known locations + of the variable part if requested. + (same_variable_part_p): New function. + (add_stores): Select MO_COPY when appropriate. + (vt_initialize): Handle it. + (compute_bb_dataflow, emit_notes_in_bb): Likewise. Delete + known locations for MO_SET and MO_CLOBBER. + (find_variable_location_part): New function. + (set_variable_part, delete_variable_part): Use it. + (clobber_variable_part): New function. + * dwarf2out.c (dwarf2out_var_location): Do not follow debug + decl link. + +2006-08-07 Victor Kaplansky + + PR tree-optimization/26969 + * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch + with an empty list of PHIs. + +2006-08-06 Paolo Bonzini + + PR target/27827 + + * conffig/i386/i386.md: Add peephole2 to avoid "fld %st" + instructions. + +2006-08-06 Andreas Schwab + + * config/m68k/m68k.c (m68k_output_function_epilogue): Fix format + string. Whitespace and comment fixup. + +2006-08-05 Volker Reichelt + + PR c/28502 + * c-decl.c (validate_proto_after_old_defn): Return false on invalid + argument. + + PR c/27721 + * c-typeck.c (build_modify_expr): Test earlier for non-lvalues. + + PR c/28136 + * c-parser.c (c_parser_postfix_expression_after_paren_type): Robustify. + +2006-08-04 Jan Hubicka + + PR target/26655 + PR target/28270 + * reload.c (push_reload): Patch out the mismatching instruction; + return early. + (find_reload): Bail out if the instruction was patched out. + +2006-08-04 Jan Hubicka + + PR tree-optimization/24888 + * tree-inline.c (expand_call_inline): Do not re-record variables. + (declare_inline_vars): Add variable to unexpanded_var_list. + +2006-08-04 John David Anglin + Roger Sayle + + PR rtl-optimization/26244 + * cse.c (fold_rtx): Correctly associate shifts when const_arg1 and/or + inner_const are negative or greater than or equal to the bitsize of + MODE. If SHIFT_COUNT_TRUNCATED is false, the values aren't associated. + Otherwise, the values are masked using GET_MODE_BITSIZE (mode) - 1. + Simplify complicated if statement. For ASHIFT and LSHIFTRT, return + CONST0_RTX (mode) when the new shift count is greater than or equal to + to the bitsize of the object being shifted and XEXP (y, 0) has no side + effects. + +2006-08-04 Kazu Hirata + + * tree-cfg.c: Fix a comment typo. + +2006-08-03 Mark Mitchell + + PR c++/28148 + * varasm.c (output_constant): Give the front end another chance to + expand constants, after stripping NOPs. + +2006-08-03 Jan Hubicka + + * domwalk.c (walk_dominator_tree): Reorganize to non-recursive + implementation. + +2006-08-03 Dorit Nuzman + + PR tree-optimization/27770 + * tree-vectorizer.h (get_vectype_for_scalar_type): Function + declaration removed (moved to tree-flow.h). + (vect_can_force_dr_alignment_p): Likewise. + * tree-flow.h (get_vectype_for_scalar_type): New function declaration + (moved from tree-vectorizer.h). + (vect_can_force_dr_alignment_p): Likewise. + * tree-vectorizer.c (vect_print_dump_info): Allow calling this function + from outside the vectorizer - in particular from cgraph stage. + * tree-vect-analyze.c (vect_compute_data_ref_alignment): Don't increase + the alignment of global arrays when -fsection-anchors is enabled. + * cgraphunit.c (cgraph_increase_alignment): New function. + (cgraph_optimize): Call cgraph_increase_alignment. + +2006-08-03 David Edelsohn + + PR target/27566 + * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do + not reload a SPE symbol_ref into a lo_sum address. + +2006-08-02 Daniel Jacobowitz + + PR debug/28063 + * dwarf2out.c (prune_unused_types_prune): Move call to + prune_unused_types_update_strings to cover the parent DIE also. + 2006-08-02 Jan Hubicka PR gcov/profile/28480 @@ -19,7 +1152,7 @@ * rtl.h (UINTVAL) New. * config/rs6000/rs6000.c (SMALL_INT) Use it. * testsuite/gcc.dg/20060801-1.c: New. - + 2006-08-01 Daniel Jacobowitz PR debug/23336 @@ -259,7 +1392,7 @@ 2006-07-21 Danny Smith PR target/28427 - * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define. + * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define. 2006-07-20 Eric Christopher @@ -330,10 +1463,10 @@ 2006-07-18 Paolo Bonzini - * configure: Regenerate. - * Makefile.in (build_libsubdir): New configure substitution - (build_libobjdir): New variable. - (BUILD_LIBIBERTY): Use it. + * configure: Regenerate. + * Makefile.in (build_libsubdir): New configure substitution + (build_libobjdir): New variable. + (BUILD_LIBIBERTY): Use it. 2006-07-18 Volker Reichelt @@ -1620,9 +2753,9 @@ 2006-06-05 Dorit Nuzman Victor Kaplansky - PR tree-optimization/26360 - * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern - stmts. + PR tree-optimization/26360 + * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern + stmts. 2006-06-04 Roger Sayle Andrew Pinski @@ -7802,7 +8935,7 @@ * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately. * doc/md.texi: Document new constraint-definition mechanism and the C interface it provides. Remove references to old mechanism - elsewhere in the document. + elsewhere in the document. (Machine Constraints): Use pathnames relative to gcc directory, i.e. config/ARCH/FILE. Change i386 section to refer to config/i386/predicates.md; update that section to match docstrings. @@ -9057,7 +10190,7 @@ * c.opt (-Wwrite-strings): Declare variable warn_write_strings. Clarify documentation. * c-common.h (warn_write_strings): Remove. - * c-common.c (warn_write_strings): Likewise. + * c-common.c (warn_write_strings): Likewise. * c-opts.c (c_common_init_options): Enable -Wwrite-strings by default for C++. @@ -9495,9 +10628,9 @@ PR c++/26140 Revert 2006-01-30 Richard Guenther - PR c++/23372 - * gimplify.c (gimplify_target_expr): Handle easy cases - without creating a temporary. + PR c++/23372 + * gimplify.c (gimplify_target_expr): Handle easy cases + without creating a temporary. 2006-02-07 Pete Steinmetz