OSDN Git Service

PR rtl-optimization/42216
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 580ccc4..35f813d 100644 (file)
@@ -1,3 +1,244 @@
+2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       PR rtl-optimization/42216
+       * regrename.c (create_new_chain): New function, broken out from...
+       (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
+       appending a use to an empty chain.
+       (build_def_use): Remove previous changes that convert OP_INOUT to
+       OP_OUT operands; instead detect the case where an OP_INOUT operand
+       uses a previously untracked register and create an empty chain for
+       it.
+
+2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/extend.texi (Function Attributes): Rewrite unfinished
+       sentence in ms_abi documentation.
+
+2010-03-17  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
+       * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
+       (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
+       * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
+
+2010-03-16  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/43365
+       * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
+       (lower_try_finally): Save and restore eh_seq around the expansion
+       of the try-finally.
+
+2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
+
+       * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
+       statements before splitting block.
+
+2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/sourcebuild.texi (Testsuites): Fix markup.
+       Use pathnames relative to gcc/testsuite.
+       (Test Directives): Move description of how timeout is determined.
+       (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
+       (C Tests): Correct gcc.misc-tests directory.
+       Framework tests now live in gcc.test-framework.
+
+2010-03-16  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43379
+       * tree-cfg.c (gimple_merge_blocks): When propagating virtual
+       PHI operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI
+       properly.
+
+2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
+           Alexandre Oliva  <aoliva@redhat.com>
+
+       PR tree-optimization/42917
+       * lambda-code.c (remove_iv): Skip debug statements.
+       (lambda_loopnest_to_gcc_loopnest): Likewise.
+       (not_interesting_stmt): Debug statements are not interesting.
+
+2010-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43051
+       PR debug/43092
+       * cselib.c (cselib_preserve_constants,
+       cfa_base_preserved_val): New static variables.
+       (preserve_only_constants): New function.
+       (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
+       clear its REG_VALUES.  If cselib_preserve_constants, don't 
+       empty the whole hash table, but preserve there VALUEs with constants,
+       cfa_base_preserved_val and cfa_base_preserved_val plus constant.
+       (cselib_preserve_cfa_base_value): New function.
+       (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
+       (cselib_init): Change argument to int bitfield.  Set
+       cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
+       is in it.
+       (cselib_finish): Clear cselib_preserve_constants and
+       cfa_base_preserved_val.
+       * cselib.h (enum cselib_record_what): New enum.
+       (cselib_init): Change argument to int.
+       (cselib_preserve_cfa_base_value): New prototype.
+       * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
+       * dse.c (dse_step1): Likewise.
+       * cfgcleanup.c (thread_jump): Likewise.
+       * sched-deps.c (sched_analyze): Likewise.
+       * gcse.c (local_cprop_pass): Likewise.
+       * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
+       If FN is non-NULL, call the callback always and whenever it returns
+       non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
+       * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
+       * combine.c (propagate_for_debug_subst): Add old_rtx argument,
+       compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
+       * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
+       * var-tracking.c: Include recog.h.
+       (bb_stack_adjust_offset): Remove.
+       (vt_stack_adjustments): Don't call it, instead just gather the
+       adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
+       (adjust_stack_reference): Remove.
+       (compute_cfa_pointer): New function.
+       (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
+       (struct adjust_mem_data): New type.
+       (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
+       functions.
+       (get_address_mode): New function.
+       (replace_expr_with_values): Use it.
+       (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
+       Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
+       (adjust_sets): Remove.
+       (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
+       Use get_address_mode.
+       (get_adjusted_src): Remove.
+       (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
+       MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
+       (add_with_sets): Don't call adjust_sets.
+       (fp_setter, vt_init_cfa_base): New functions.
+       (vt_initialize): Change return type to bool.  Move most of pool etc.
+       initialization to the beginning of the function from end.  Pass
+       CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
+       If !frame_pointer_needed, call vt_stack_adjustment before mos
+       vector is filled, call vt_init_cfa_base if argp/framep has been
+       eliminated to sp.  If frame_pointer_needed and argp/framep has
+       been eliminated to hard frame pointer, set
+       hard_frame_pointer_adjustment and call vt_init_cfa_base after
+       encountering fp setter in the prologue.  For MO_ADJUST, call
+       log_op_type before pusing the op into mos vector, not afterwards.
+       Call adjust_insn before cselib_process_insn/add_with_sets,
+       call cancel_changes (0) afterwards.
+       (variable_tracking_main_1): Adjust for vt_initialize calling
+       vt_stack_adjustments and returning whether it succeeded or not.
+
+2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
+       debug statements.
+
+2010-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
+       has been set.
+       (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
+       drap_reg has not been set.
+
+2010-03-15  Michael Matz  <matz@suse.de>
+
+       PR middle-end/43300
+       * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
+       use it to expand block copies.
+       (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
+       insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
+       (insert_value_copy_on_edge): Use store_expr for BLKmode values.
+
+2010-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43367
+       * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
+       elimination check.
+
+2010-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43317
+       * ipa-struct-reorg.c (create_new_general_access): Update stmt.
+
+2010-03-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/43141
+       * tree-sra.c (create_abstract_origin): New function.
+       (modify_function): Call create_abstract_origin.
+
+2010-03-15  Chris Demetriou  <cgd@google.com>
+
+       * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
+       wasn't copied.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43354
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
+       call insert_out_of_ssa_copy for default definitions.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (my_long_long): Defined.
+       (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
+       * graphite-sese-to-poly.c (my_long_long): Defined.
+       (scop_ivs_can_be_represented): Use it.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
+       graphite-max-bbs-per-function, and loop-block-tile-size.
+       * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
+       with "maximum".
+       (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
+       forward declaration.
+       * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
+       (add_upper_bounds_from_estimated_nit): New.
+       (build_loop_iteration_domains): Use it.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43306
+       * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
+       should be an INTEGER_CST.  Also handle CASE_CONVERT.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite.c (graphite_initialize): To bound the number of bbs per
+       function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
+       * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
+       * doc/invoke.texi: Document it.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
+       * graphite-sese-to-poly.h (build_poly_scop): Same.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
+       the number of parameters in the scop.  Use as an upper bound
+       PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
+       * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
+       * doc/invoke.texi: Document it.
+
+2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
+
+       * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
+       * doc/c-tree.texi: Remove.
+       * doc/generic.texi: Merge c-tree.texi here.
+       * doc/gccint.texi (Trees): Remove menu entry.
+       (c-tree.texi): Remove @include.
+       * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
+       * doc/languages.texi (Reading RTL): Ditto.
+
 2010-03-12  Steve Ellcey  <sje@cup.hp.com>
 
        PR target/42869
 
 2010-03-11  David S. Miller  <davem@davemloft.net>
 
-       * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple of four.
+       * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
+       of four.
        * configure: Rebuild.
 
 2010-03-11  Martin Jambor  <mjambor@suse.cz>
 2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        PR tree-optimization/43280
-       * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number generation.
-       Move calculation of size out of the if branch.
+       * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
+       generation.  Move calculation of size out of the if branch.
        (find_bswap): Modify compare number generation.
 
 2010-03-11  Richard Guenther  <rguenther@suse.de>
        * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
        handle conversions from pointer to integers.
        (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
-       induction variable, to be able to work with code generated by
-       CLooG.
+       induction variable, to be able to work with code generated by CLooG.
        * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
        (build_poly_scop): Bail out if we cannot codegen a loop.
 
 
        * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
        Call fold_convert on all the returned values.
-       (expand_scalar_variables_expr): Pass to expand_scalar_variables_ssa_name
-       the type of the resulting expression.
+       (expand_scalar_variables_expr): Pass to
+       expand_scalar_variables_ssa_name the type of the resulting expression.
 
 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
 
        * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
-       ppl_min_for_le_pointset.  Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
+       ppl_min_for_le_pointset.
+       Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
        * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
 
 2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
        check_changed_vars_3 on each changed var.
        (emit_notes_for_differences_1): Clear cur_loc_changed and
        in_changed_variables.  Recompute cur_loc of new_var.
-       (emit_notes_for_differences_2): Clear cur_loc if new variable
-       appears.
+       (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
        (vt_emit_notes): Initialize and destroy emitted_notes.
 
 2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>