1. 19 Oct, 2011 17 commits
    • jakub's avatar
      PR middle-end/50754 · 3557cb99
      jakub authored
      	* cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
      	VEC_PERM_EXPR.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180201 138bc75d-0d04-0410-961f-82ee72b054a4
      3557cb99
    • ktietz's avatar
      PR middle-end/50795 · 2bf8ddb9
      ktietz authored
              * gcc.dg/tree-ssa/builtin-expect-1.c: Adjust test.
              * gcc.dg/tree-ssa/builtin-expect-2.c: Adjust test.
              * gcc.dg/tree-ssa/builtin-expect-3.c: Adjust test.
              * gcc.dg/tree-ssa/builtin-expect-4.c: Adjust test.
              * gcc.dg/tree-ssa/builtin-expect-5.c: Adjust test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180200 138bc75d-0d04-0410-961f-82ee72b054a4
      2bf8ddb9
    • bernds's avatar
      * regrename.h: New file. · 7de639a2
      bernds authored
      	* regrename.c: Include it.  Also include "emit-rtl.h".
      	(struct du_head, struct du_chain, du_head_p DEF_VEC and
      	DEF_VEC_ALLOC_P): Move to regrename.h.
      	(do_replace): Remove declaration.
      	(insn_rr): New variable.
      	(cur_operand): New static variable.
      	(regrename_chain_from_id): Renamed from chain_from_id and no longer
      	static.  All callers changed.
      	(record_operand_use): New static function.
      	(scan_rtx_reg): Use it.
      	(find_best_rename_reg): New function, broken out of rename_chains.
      	(rename_chains): Use it.  Don't update chain regno and nregs here, ...
      	(regrename_do_replace): ... do it here instead.  Renamed from
      	do_replace, and no longer static.  All callers changed.
      	(regrename_analyze): No longer static.  New arg bb_mask.
      	All callers changed.  If bb_mask is nonzero, use it to limit the
      	number of basic blocks we analyze.  If we failed to analyze a block,
      	clear insn operand data.
      	(record_out_operands): New arg insn_info.  Update cur_operand if it is
      	nonnull.
      	(build_def_use): If insn_rr is nonnull, pass an insn_info to
      	record_out_operands, and update cur_operand here as well.
      	(regrename_init, regrename_finish): New functions.
      	(regrename_optimize): Use them.
      	* Makefile.in (regrename.o): Adjust dependencies.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180198 138bc75d-0d04-0410-961f-82ee72b054a4
      7de639a2
    • vries's avatar
      2011-10-19 Tom de Vries <tom@codesourcery.com> · 35bfa3a2
      vries authored
      	PR tree-optimization/50769
      	* tree-ssa-tail-merge.c (replace_block_by): Calculate phi_vuse2
      	unconditionally.  Handle case that phi_vuse2 is not an SSA_NAME.  Add
      	dummy argument .MEM to phi when increasing number of arguments of phi by
      	redirecting edges to the block with phi.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180197 138bc75d-0d04-0410-961f-82ee72b054a4
      35bfa3a2
    • ro's avatar
      Properly test for madvise on Solaris 10 (PR bootstrap/50777) · f4245e06
      ro authored
      	PR bootstrap/50777
      	* configure.ac: Save and restore CXXFLAGS around
      	gcc_AC_CHECK_DECLS uses.
      	Check for madvise() declaration with g++ if --enable-build-with-cxx.
      	* configure: Regenerate.
      	* config.in: Regenerate.
      	* ggc-page.c (USING_MADVISE): Also check HAVE_DECL_MADVISE.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180195 138bc75d-0d04-0410-961f-82ee72b054a4
      f4245e06
    • aoliva's avatar
      PR debug/49310 · 72fdb379
      aoliva authored
      * var-tracking.c (loc_exp_dep, onepart_aux): New structs.
      (variable_part): Replace offset with union.
      (enum onepart_enum, onepart_enum_t): New.
      (variable_def): Drop cur_loc_changed, add onepart.
      (value_chain_def, const_value_chain): Remove.
      (VAR_PART_OFFSET, VAR_LOC_1PAUX): New macros, with checking.
      (VAR_LOC_DEP_LST, VAR_LOC_DEP_LSTP): New macros.
      (VAR_LOC_FROM, VAR_LOC_DEPTH, VAR_LOC_DEP_VEC): Likewise.
      (value_chain_pool, value_chains): Remove.
      (dropped_values): New.
      (struct parm_reg): Only if HAVE_window_save.
      (vt_stack_adjustments): Don't record register arguments.
      (dv_as_rtx): New.
      (dv_onepart_p): Return a onepart_enum_t.
      (onepart_pool): New.
      (dv_pool): Remove.
      (dv_from_rtx): New.
      (variable_htab_free): Release onepart aux data.  Reset flags.
      (value_chain_htab_hash, value_chain_htab_eq): Remove.
      (unshare_variable): Use onepart field.  Propagate onepart aux
      data or offset.  Drop cur_loc_changed.
      (val_store): Cope with NULL insn.  Rephrase dump output.  Check
      for unsuitable locs.  Add FIXME on using cselib locs.
      (val_reset): Remove FIXME of unfounded concerns.
      (val_resolve): Check for unsuitable locs.  Add FIXME on using
      cselib locs.
      (variable_union): Use onepart field, adjust access to offset.
      (NO_LOC_P): New.
      (VALUE_CHANGED, DECL_CHANGED): Update doc.
      (set_dv_changed): Clear NO_LOC_P when changed.
      (find_loc_in_1pdv): Use onepart field.
      (intersect_loc_chains): Likewise.
      (unsuitable_loc): New.
      (loc_cmp): Keep ENTRY_VALUEs at the end of the loc list.
      (add_value_chain, add_value_chains): Remove.
      (add_cselib_value_chains, remove_value_chain): Likewise.
      (remove_value_chains, remove_cselib_value_chains): Likewise.
      (canonicalize_loc_order_check): Use onepart.  Drop cur_loc_changed.
      (canonicalize_values_star, canonicalize_vars_star): Use onepart.
      (variable_merge_over_cur): Likewise.  Adjust access to offset.
      Drop cur_loc_changed.
      (variable_merge_over_src): Use onepart field.
      (remove_duplicate_values): Likewise.
      (variable_post_merge_new_vals): Likewise.
      (find_mem_expr_in_1pdv): Likewise.
      (dataflow_set_preserve_mem_locs): Likewise.  Drop cur_loc_changed
      and value chains.
      (dataflow_set_remove_mem_locs): Likewise.  Use VAR_LOC_FROM.
      (variable_different_p): Use onepart field.  Move onepart test out
      of the loop.
      (argument_reg_set): Drop.
      (add_uses, add_stores): Preserve but do not record in dynamic
      tables equivalences for ENTRY_VALUEs and CFA_based addresses.
      Avoid unsuitable address expressions.
      (EXPR_DEPTH): Unlimit.
      (EXPR_USE_DEPTH): Repurpose PARAM_MAX_VARTRACK_EXPR_DEPTH.
      (prepare_call_arguments): Use DECL_RTL_IF_SET.
      (dump_var): Adjust access to offset.
      (variable_from_dropped, recover_dropped_1paux): New.
      (variable_was_changed): Drop cur_loc_changed.  Use onepart.
      Preserve onepart aux in empty_var.  Recover empty_var and onepart
      aux from dropped_values.
      (find_variable_location_part): Special-case onepart.  Adjust
      access to offset.
      (set_slot_part): Use onepart.  Drop cur_loc_changed.  Adjust
      access to offset.  Initialize onepaux.  Drop value chains.
      (delete_slot_part): Drop value chains.  Use VAR_LOC_FROM.
      (VEC (variable, heap), VEC (rtx, stack)): Define.
      (expand_loc_callback_data): Drop dummy, cur_loc_changed,
      ignore_cur_loc.  Add expanding, pending, depth.
      (loc_exp_dep_alloc, loc_exp_dep_clear): New.
      (loc_exp_dep_insert, loc_exp_dep_set): New.
      (notify_dependents_of_resolved_value): New.
      (update_depth, vt_expand_var_loc_chain): New.
      (vt_expand_loc_callback): Revamped.
      (resolve_expansions_pending_recursion): New.
      (INIT_ELCD, FINI_ELCD): New.
      (vt_expand_loc): Use the new macros above.  Drop ignore_cur_loc
      parameter, adjust all callers.
      (vt_expand_loc_dummy): Drop.
      (vt_expand_1pvar): New.
      (emit_note_insn_var_location): Operate on non-debug decls only.
      Revamp multi-part cur_loc recomputation and one-part expansion.
      Drop cur_loc_changed.  Adjust access to offset.
      (VEC (variable, heap)): Drop.
      (changed_variables_stack, changed_values_stack): Drop.
      (check_changed_vars_0, check_changed_vars_1): Remove.
      (check_changed_vars_2, check_changed_vars_3): Remove.
      (values_to_stack, remove_value_from_changed_variables): New.
      (notify_dependents_of_changed_value, process_changed_values): New.
      (emit_notes_for_changes): Revamp onepart updates.
      (emit_notes_for_differences_1): Use onepart.  Drop cur_loc_changed
      and value chains.  Propagate onepaux.  Recover empty_var and onepaux
      from dropped_values.
      (emit_notes_for_differences_2): Drop value chains.
      (emit_notes_in_bb): Adjust.
      (vt_emit_notes): Drop value chains, changed_variables_stack.
      Initialize and release dropped_values.
      (create_entry_value): Revamp.
      (vt_add_function_parameter): Use new interface.
      (note_register_arguments): Remove.
      (vt_initialize): Drop value chains and register arguments.
      (vt_finalize): Drop value chains.  Release windowed_parm_regs only
      if HAVE_window_save.
      * rtl.h: Document various pass-local uses of RTL flags.
      * tree.h (DECL_RTL_KNOWN_SET): New.
      * doc/invoke.texi (param max-vartrack-expr-depth): Update
      description and default.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180194 138bc75d-0d04-0410-961f-82ee72b054a4
      72fdb379
    • gjl's avatar
      PR target/50447 · eac146f2
      gjl authored
      	* config/avr/avr.md (cc): New alternative out_plus_noclobber.
      	(adjust_len): Ditto.
      	(addhi3): Don't pipe through short; use gen_int_mode instead.
      	Prior to reload, expand to gen_addhi3_clobber.
      	(*addhi3): Use avr_out_plus_noclobber if applicable, use
      	out_plus_noclobber in cc and adjust_len attribute.
      	(addhi3_clobber): 2 new RTL peepholes.
      	(addhi3_clobber): New insn.
      	* config/avr/avr-protos.h: (avr_out_plus_noclobber): New prototype.
      	* config/avr/avr.c (avr_out_plus_noclobber): New function.
      	(notice_update_cc): Handle CC_OUT_PLUS_NOCLOBBER.
      	(avr_out_plus_1): Tweak if only MSB is +/-1 and other bytes are 0.
      	Set cc0 to set_zn for adiw on 16-bit values.
      	(adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS_NOCLOBBER.
      	(expand_epilogue): No need to add 0 to frame_pointer_rtx.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180193 138bc75d-0d04-0410-961f-82ee72b054a4
      eac146f2
    • rguenth's avatar
      2011-10-19 Richard Guenther <rguenther@suse.de> · 25f48be0
      rguenth authored
      	PR middle-end/50780
      	* tree-ssa-forwprop.c (forward_propagate_into_cond): Verify
      	the condition is properly gimple before using it.
      	* tree-eh (stmt_could_throw_1_p): Properly extract the
      	operation type from comparisons.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180192 138bc75d-0d04-0410-961f-82ee72b054a4
      25f48be0
    • paolo's avatar
      2011-10-19 Roland Stigge <stigge@antcom.de> · 98a5f45d
      paolo authored
      	PR translation/48638
      	* plugin.c (add_new_plugin): Fix typo in fatal_error message.
      
      2011-10-19  Roland Stigge  <stigge@antcom.de>  
      
      	PR translation/49517
      	* config/rx/rx.c (rx_print_operand): Fix typo in warning message.
      
      /cp
      2011-10-19  Roland Stigge  <stigge@antcom.de>
      
      	PR translation/49704    
      	* semantics.c (potential_constant_expression_1): Use "AST" instead of
      	"ast" in sorry message.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180188 138bc75d-0d04-0410-961f-82ee72b054a4
      98a5f45d
    • rguenth's avatar
      2011-10-19 Richard Guenther <rguenther@suse.de> · 34e73149
      rguenth authored
      	PR middle-end/50768
      	* gimple-fold.c (gimplify_and_update_call_from_tree): Rewrite.
      
      	* gcc.dg/torture/pr50768.c: New testcase.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180187 138bc75d-0d04-0410-961f-82ee72b054a4
      34e73149
    • amonakov's avatar
      2011-10-19 Andrey Belevantsev <abel@ispras.ru> · d6726470
      amonakov authored
      	PR rtl-optimization/50340
      	* sel-sched-ir.c (update_target_availability): LHS register
      	availability is not known if the unavailable LHS of the other
      	expression is a different register.
      
      	* gcc.dg/pr50340.c: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180186 138bc75d-0d04-0410-961f-82ee72b054a4
      d6726470
    • paolo's avatar
      2011-10-19 Paolo Carlini <paolo.carlini@oracle.com> · ac7549c7
      paolo authored
      	PR c++/38761
      	PR c++/40872
      	* decl.c (duplicate_decls, make_typename_type, grokdeclarator): Use
      	G_() in error message strings to facilitate translation.
      	* semantics.c (finish_id_expression): Likewise.
      	* parser.c (cp_parser_nested_name_specifier_opt,
      	cp_parser_parameter_declaration): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180185 138bc75d-0d04-0410-961f-82ee72b054a4
      ac7549c7
    • uweigand's avatar
      PR target/50310 · e20943d4
      uweigand authored
      	* config/spu/spu.c (spu_emit_vector_compare): Support unordered
      	floating-point comparisons.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180184 138bc75d-0d04-0410-961f-82ee72b054a4
      e20943d4
    • hubicka's avatar
      Oops, old revision of patch.. · 5139ff04
      hubicka authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180182 138bc75d-0d04-0410-961f-82ee72b054a4
      5139ff04
    • hubicka's avatar
      · 5e712541
      hubicka authored
      	* cgraphunit.c (handle_alias_pairs): Also handle wekref with destination
      	declared.
      	(output_weakrefs): New function.
      	* varpool.c (varpool_create_variable_alias): Handle external aliases.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180181 138bc75d-0d04-0410-961f-82ee72b054a4
      5e712541
    • jakub's avatar
      * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as · f03420aa
      jakub authored
      	second argument instead of mode.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180178 138bc75d-0d04-0410-961f-82ee72b054a4
      f03420aa
    • gccadmin's avatar
      Daily bump. · d7673815
      gccadmin authored
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180173 138bc75d-0d04-0410-961f-82ee72b054a4
      d7673815
  2. 18 Oct, 2011 23 commits