OSDN Git Service

* config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index cfd6d8c..2478b45 100644 (file)
@@ -1,3 +1,169 @@
+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.
        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>