OSDN Git Service

2009-09-18 Neil Vachharajani <nvachhar@google.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8afcfd8..a3602ab 100644 (file)
@@ -1,3 +1,239 @@
+2009-09-18  Neil Vachharajani  <nvachhar@google.com>
+
+       * value-prof.c (interesting_stringop_to_profile_p): Added output
+       argument to indicate which parameter is the size parameter.
+       * value-prof.c (gimple_stringop_fixed_value): Use
+       INTERESTING_STRINGOP_TO_PROFILE_P to find size argument.
+       * value-prof.c (gimple_stringops_transform): Update call sites to
+       INTERESTING_STRINGOP_TO_PROFILE_P to reflect parameter change.
+       * testsuite/gcc.dg/tree-prof/val-prof-7.c: Added test case.
+
+2009-09-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/38288
+       From David Binderman <dcb314@hotmail.com>:
+       * gcc/config/i386/i386.c (ix86_function_regparm): Remove useless
+       local variable f.  Remove stale comments.
+       (ix86_compute_frame_layout): Remove useless local variable total_size.
+       Remove #if 0'd code.
+       (legitimate_address_p): Remove useless local variables
+       reason_rtx and reason.
+       (ix86_split_copysign_const): Remove useless local variable op1.
+       (scale_counter): Remove useless local variable piece_size_mask.
+
+2009-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * stmt.c (expand_asm_operands): Set REG_ATTRS on the temporary from
+       output decl.
+
+2009-09-17  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
+
+       PR target/40913
+       * config/pa/t-hpux-shlib: Set soname in libgcc_s.sl.
+
+2009-09-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-decl.c (finish_struct): Adjust DECL_SOURCE_LOCATION of
+       TYPE_STUB_DECL.
+
+2009-09-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       * dwarf2out.c (loc_descriptor): Emit DW_OP_stack_value and
+       DW_OP_implicit_value even without dwarf_version 4.
+
+2009-09-17  Jan Hubicka  <jh@suse.cz>
+
+       * dwarf2out.c: Include tree-pass.h and gimple.h.
+       (loc_list_plus_const): New function.
+       (loc_descriptor_from_tree_1): Rename to ...
+       (loc_descriptor_from_tree): ... remove original.
+       (loc_list_from_tree): New function.
+       (add_AT_location_description): Accept location list.
+       (tls_mem_loc_descriptor): Update call of loc_descriptor_from_tree.
+       (concatn_mem_loc_descriptor): Remove.
+       (mem_loc_descriptor): Handle CONCAT/CONCATN and VAR_LOCATION by
+       returning NULL.
+       (secname_for_decl): Move up.
+       (hidden_reference_p): New function; break out from ...
+       (loc_by_refernece): ... here; move up.
+       (dw_loc_list): New function.
+       (single_element_loc_list): New function.
+       (single_element_loc_list_p): New function.
+       (add_loc_descr_to_each): New function.
+       (add_loc_list): New function.
+       (loc_descr_from_tree): Make wraper of loc_list_from_tree.
+       (loc_list_from_tree): Reroganized from loc_descr_from_tree;
+       add diagnostics why expansion failed.
+       (add_location_or_const_value_attribute): Support location lists.
+       (add_bound_info): Likewise.
+       (descr_info_loc): Update call of loc_descriptor_from_tree.
+       (gen_variable_die): Work on location lists.
+       * final.c (pass_final): Add dump file.
+       * Makefile.in (dwarf2out.o): Add new dependencies.
+
+2009-09-17  Janis Johnson  <janis187@us.ibm.com>
+
+       PR c/41049
+       * real.c decimal_from_integer, decimal_integer_string): New.
+       (real_from_integer): Use them as special case for decimal float.
+       * config/dfp-bit.c (_si_to_sd, _usi_to_sd): Use default rounding.
+       (_di_to_sd, _di_to_dd, _di_to_td, _udi_to_sd, _udi_to_dd, _udi_to_td):
+       Do not append zero after the decimal point in string to convert.
+
+2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
+
+       * graphite-sese-to-poly.c (pdr_add_data_dimensions): Add bounds only
+       for ARRAY_REFs.  Use array_ref_{low,up}_bound to determine bounds.
+
+2009-09-17  Martin Jambor  <mjambor@suse.cz>
+
+       * common.opt (fipa-sra): New switch.
+       * opts.c (decode_options): Turn flag_ipa_sra on for opt2.
+       * timevar.def (TV_IPA_SRA): New timevar.
+       * params.def (ipa-sra-ptr-growth-factor): New parameter.
+       * doc/invoke.texi: Document -fipa-sra and ipa-sra-ptr-growth-factor.
+       * tree-sra.c: Include cgraph.c.
+       (enum sra_mode): Added SRA_MODE_EARLY_IPA.
+       (struct access): Added fields stmt, grp_maybe_modified, grp_scalar_ptr
+       and grp_not_necessarilly_dereferenced.
+       (func_param_count): New variable.
+       (encountered_apply_args): New variable.
+       (bb_dereferences): New variable.
+       (final_bbs): New variable.
+       (no_accesses_representant): New variable.
+       (no_accesses_p): New function.
+       (dump_access): Dump the new fields.
+       (sra_initialize): Set encountered_apply_args to false.
+       (get_ssa_base_param): New function.
+       (mark_parm_dereference): New function.
+       (create_access): Caring for INIDRECT_REFs and different handling of
+       varialble length accesses in early IPA SRA.  Store the stmt - a new
+       parameter - to the new access.
+       (build_access_from_expr_1): New parameter stmt, passed to
+       create_access.  Handle INDIRECT_REFs.
+       (build_access_from_expr): Pass the current statement to
+       build_access_from_expr_1.
+       (disqualify_ops_if_throwing_stmt): Trigger only in intraprocedural
+       passes.
+       (build_accesses_from_assign): Pass the current statement to
+       build_access_from_expr_1.  Do not create assign links in IPA-SRA.
+       (scan_function): Call handle_ssa_defs on phi nodes.  Set bits in
+       final_bbs when necessary.  Check for calls to __builtin_apply_args.
+       Fixup EH info if anythng was changed.
+       (is_unused_scalar_param): New function.
+       (ptr_parm_has_direct_uses): New function.
+       (find_param_candidates): New function.
+       (mark_maybe_modified): New function.
+       (analyze_modified_params): New function.
+       (propagate_dereference_distances): New function.
+       (dump_dereferences_table): New function.
+       (analyze_caller_dereference_legality): New function.
+       (unmodified_by_ref_scalar_representative): New function.
+       (splice_param_accesses): New function.
+       (decide_one_param_reduction): New function.
+       (enum ipa_splicing_result): New type.
+       (splice_all_param_accesses): New function.
+       (get_param_index): New function.
+       (turn_representatives_into_adjustments): New function.
+       (analyze_all_param_acesses): New function.
+       (get_replaced_param_substitute): New function.
+       (get_adjustment_for_base): New function.
+       (replace_removed_params_ssa_names): New function.
+       (sra_ipa_reset_debug_stmts): New function.
+       (sra_ipa_modify_expr): New function.
+       (sra_ipa_modify_assign): New function.
+       (convert_callers): New function.
+       (modify_function): New function.
+       (ipa_sra_preliminary_function_checks): New function.
+       (ipa_early_sra): New function.
+       (ipa_early_sra_gate): New function.
+       (pass_early_ipa_sra): New variable.
+       * Makefile.in (tree-sra.o): Add cgraph.h to dependencies.
+
+2009-09-17  Michael Matz  <matz@suse.de>
+
+       PR middle-end/41347
+       * tree.c (build_type_attribute_qual_variant): Export.
+       * tree.h (build_type_attribute_qual_variant): Declare.
+       * tree-inline.c (remap_type_1): Use it to build variants with
+       the original qualifiers and attributes.
+
+2009-09-17  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * cfglayout.c (fixup_reorder_chain): Accept conditional jumps
+       without a fallthrough edge.
+
+2009-09-16  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/m32c.c (m32c_emit_epilogue): Check for R8C or M16C
+       chip and ignore the "fast_interrupt" attribute if so.
+
+2009-09-16  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/41360
+       * cfgbuild.c (find_bb_boundaries): Really re-instate 2009-09-02
+       barrier fix.
+
+2009-09-16  Richard Henderson  <rth@redhat.com>
+
+       PR target/41246
+       * tree-cfg.c (verify_gimple_call): Validate that gimple_call_chain
+       is set only if DECL_NO_STATIC_CHAIN is unset.
+       * tree-nested.c (iter_nestinfo_start, iter_nestinfo_next): New.
+       (FOR_EACH_NEST_INFO): New.
+       (walk_all_functions): Use it.
+       (finalize_nesting_tree): Likewise.
+       (unnest_nesting_tree): Likewise.
+       (free_nesting_tree): Use iter_nestinfo_start, iter_nestinfo_next.
+       (get_chain_decl, get_chain_field): Reset DECL_NO_STATIC_CHAIN.
+       (convert_gimple_call): Early out if gimple_call_chain already set.
+       (convert_all_function_calls): Iterate until no new functions
+       require a static chain.
+       (finalize_nesting_tree_1): Assert DECL_NO_STATIC_CHAIN is unset
+       when building a trampoline.  Use dump_function_to_file instead
+       of dump_function.
+       (lower_nested_functions): Open dump_file.  Validate that decls
+       that have DECL_NO_STATIC_CHAIN from the front end don't have that
+       bit reset by this pass.
+
+2009-09-16  Michael Matz  <matz@suse.de>
+
+       PR fortran/41212
+       * tree.h (struct tree_decl_common): Add decl_restricted_flag,
+       shorten decl_common_unused.
+       (DECL_RESTRICTED_P): New accessor.
+       * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use it
+       to disambiguate marked decls and restrict pointers.
+
+2009-09-16  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/41360
+       * cfgbuild.c (find_bb_boundaries): Re-instate 2009-09-02 barrier fix.
+
+2009-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * integrate.c (set_block_abstract_flags): Call
+       set_decl_abstract_flags also on BLOCK_NONLOCALIZED_VARs.
+
+2009-09-16  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34011
+       * tree-flow-inline.h (may_be_aliased): Compute readonly variables
+       as non-aliased.
+
+2009-09-16  DJ Delorie  <dj@redhat.com>
+           Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (output_stack_adjust): Add new argument frame_p.
+       (sh_expand_prologue): Update calls to output_stack_adjust.
+       (sh_expand_epilogue): Likewise.
+
+2009-09-15  Adam Nemet  <anemet@caviumnetworks.com>
+
+       PR bootstrap/41349
+       * reorg.c (redundant_insn): Don't count notes or DEBUG_INSNs when
+       trying to limit the extent of searches in the insn stream.
+
 2009-09-15  Nathan Froyd  <froydnj@codesourcery.com>
            Jakub Jelinek  <jakub@redhat.com>
 
 
 2009-09-15  Christian Bruel  <christian.bruel@st.com>
 
-        * regrename.c (do_replace): Update REG_DEAD notes. 
-       
+       * regrename.c (do_replace): Update REG_DEAD notes.
+
 2009-09-15  Revital Eres  <eres@il.ibm.com>
 
        * doc/tm.texi (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Document.