+2006-09-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * 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 <uros@kss-loka.si>
+
+ 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 <tbm@cyrius.com>
+
+ * doc/contrib.texi: Add myself.
+
+2006-09-07 Andrew Pinski <pinskia@physics.uc.edu>
+
+ 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 <bonzini@gnu.org>
+
+ 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 <wilson@specifix.com>
+
+ 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 <jason@redhat.com>
+
+ 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 <dnovillo@redhat.com>
+
+ * doc/contrib.texi: Update my entry.
+
+2006-09-06 Nick Clifton <nickc@redhat.com>
+
+ * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
+
+2006-09-05 Andrew Pinski <pinskia@physics.uc.edu>
+
+ 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 <pinskia@physics.uc.edu>
+
+ 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 <joern.rennecke@st.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ 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 <bonzini@gnu.org>
+
+ 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 <aesok@post.ru>
+
+ * 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 <rguenther@suse.de>
+
+ 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 <rguenther@suse.de>
+
+ 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 <rguenther@suse.de>
+
+ 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 <ebotcazou@libertysurf.fr>
+
+ 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) <RTX_COMM_ARITH>: 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 <geoffk@apple.com>
+
+ Revert this change:
+ 2006-03-17 Alexandre Oliva <aoliva@redhat.com>
+ * 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 <jakub@redhat.com>
+
+ 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 <dj@redhat.com>
+
+ * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
+ (stzx_16): Likewise.
+ ("stzx_24_<mode>"): Likewise.
+ ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
+ ("cmp<mode>_op"): New.
+ (cmp<mode>): Change to expander; just save operands.
+ (b<code>_op): New.
+ (b<code>): Change to expander, emit compare here.
+ (s<code>_op): Change to use split and expander.
+ (s<code>_24_op): Likewise.
+ (s<code>_<mode>): New.
+ (s<code>_<mode>_24): New.
+ (movqicc_<code>_<mode): New.
+ (movhicc_<code>_<mode>): New.
+ (s<code>): New.
+ (s<code>_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 <joern.rennecke@st.com>
+ Richard Guenther <rguenther@suse.de>
+ Adam Nemet <anemet@caviumnetworks.com>
+
+ 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 <jason@redhat.com>
+
+ 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 <jconner@apple.com>
+
+ PR c++/25505
+ * tree-nrv.c (dest_safe_for_nrv_p): New function.
+ (execute_return_slot_opt): Use it.
+
+2006-08-31 Josh Conner <jconner@apple.com>
+
+ PR c++/25505
+ * tree-gimple.c (is_gimple_mem_rhs): Recognize functions
+ returning aggregates.
+
+2006-08-31 Zdenek Dvorak <dvorakz@suse.cz>
+
+ 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 <roger@eyesopen.com>
+
+ 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) <DW_CFA_set_loc>: 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 <krebbel1@de.ibm.com>
+
+ PR target/24367
+ * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
+ r12 + SYMBOLIC_CONST.
+
+2006-08-30 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (see.o): Add $(EXPR_H) dependency.
+
+2006-08-30 Zdenek Dvorak <dvorakz@suse.cz>
+
+ 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 <hongjiu.lu@intel.com>
+
+ * 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 <pinskia@physics.uc.edu>
+ J"orn Rennecke <joern.rennecke@st.com>
+
+ 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 <dvorakz@suse.cz>
+
+ 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 <kazu@codesourcery.com>
+
+ PR middle-end/26632
+ * convert.c (convert_to_integer): Set TREE_NO_WARNING to 1 on
+ an implicit conversion.
+
+2006-08-28 Prafulla Thakare <prafullat@kpitcummins.com>
+
+ * config/h8300/h8300.c (TARGET_DEFAULT_TARGET_FLAGS): New.
+
+2006-08-27 Roger Sayle <roger@eyesopen.com>
+
+ * ifcvt.c (cheap_bb_rtx_cost_p): Don't speculatively execute
+ x87 instructions.
+
+2006-08-27 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/i386/crtfastmath.c: Fix a comment typo.
+
+2006-08-26 Roger Sayle <roger@eyesopen.com>
+
+ * 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 <joseph@codesourcery.com>
+
+ 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 <edelsohn@gnu.org>
+
+ PR target/27544
+ * doc/extend.texi (PowerPC Variable Attributes): Mention altivec.
+ (PowerPC Type Attributes): New.
+
+2006-08-26 Bob Wilson <bob.wilson@acm.org>
+
+ * 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 <jakub@redhat.com>
+
+ PR middle-end/28683
+ * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
+ 3 following insns.
+
2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
* flow.c (verify_wide_reg): Use internal_error for consistency failure.
to happen before the lhs is possibly cleared.
2006-08-21 Mark Shinwell <shinwell@codesourcery.com>
-
+
* 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.
PR target/28648 c:
* tree.c (handle_dll_attribute): Return early if not a
- var or function decl.
+ var or function decl.
2006-08-18 Joseph Myers <joseph@codesourcery.com>
2006-08-07 Victor Kaplansky <victork@il.ibm.com>
- PR tree-optimization/26969
- * tree-vect-analyze.c (vect_analyze_loop_form): Add check of latch
- with an empty list of PHIs.
+ 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 <bonzini@gnu.org>
2006-08-03 Dorit Nuzman <dorit@il.ibm.com>
- 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.
+ 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 <edelsohn@gnu.org>
2006-07-21 Danny Smith <dannysmith@users.sourceforge.net>
PR target/28427
- * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
+ * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
2006-07-20 Eric Christopher <echristo@apple.com>
2006-07-18 Paolo Bonzini <bonzini@gnu.org>
- * 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 <reichelt@igpm.rwth-aachen.de>
2006-06-05 Dorit Nuzman <dorit@il.ibm.com>
Victor Kaplansky <victork@il.ibm.com>
- 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 <roger@eyesopen.com>
Andrew Pinski <pinskia@physics.uc.edu>
* 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.
* 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++.
PR c++/26140
Revert
2006-01-30 Richard Guenther <rguenther@suse.de>
- 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 <steinmtz@us.ibm.com>