1. 11 Aug, 2012 4 commits
    • lto-cgraph.c (output_cgraph): Rename to ... · ab96cc5b
      	* lto-cgraph.c (output_cgraph): Rename to ...
      	(output_symtab): ... this one. Update for LTO_section_symtab_nodes.
      	(input_cgraph): Rename to ...
      	(input_symtab): ... this one. Update for LTO_section_symtab_nodes.
      	* lto-streamer-out.c (create_output_block): Do not set
      	section_type.
      	(produce_asm): Likewise.
      	(lto_output_toplevel_asms): Likewise.
      	(produce_asm_for_decls): Likewise.
      	(lto_output): Use output_symtab.
      	* lto-section-in.c (lto_section_name): Update.
      	* lto-section-out.c (lto_destroy_simple_output_block): Remove section_type.
      	* lto-streamer.h (enum lto_section_type): Remove LTO_section_varpool;
      	rename LTO_section_cgraph to LTO_section_symtab_nodes.
      	(struct lto_header): Remove section_type.
      
      	* lto.c (read_cgraph_and_symbols): Use input_symtab.
      
      From-SVN: r190312
      Jan Hubicka committed
    • compiler: Reject type switch using non-interface type. · 3af76e5a
      Fixes issue 16.
      
      From-SVN: r190310
      Ian Lance Taylor committed
    • cgraph.h (vector types for symtab_node): Add. · 7380e6ef
      	* cgraph.h (vector types for symtab_node): Add.
      	* ipa-reference.c (ipa_reference_write_optimization_summary): Update
      	for new symtab encoder.
      	(ipa_reference_read_optimization_summary): Likewise.
      	* lto-cgraph.c (output_varpool): Remove.
      	(input_cgraph_opt_summary): Take symtab nodes vector as argument.
      	(LTO_cgraph_tags): Rename to ...
      	(LTO_symtab_tags): ... this one; add LTO_symtab_variable.
      	(lto_cgraph_encoder_new): Rename to ...
      	(lto_symtab_encoder_new): ... this on.
      	(lto_cgraph_encoder_encode): Rename to ...
      	(lto_symtab_encoder_encode): ... this one.
      	(lto_cgraph_encoder_delete): Rename to ...
      	(lto_symtab_encoder_delete): ... this one.
      	(lto_cgraph_encoder_deref): Rename to ...
      	(lto_symtab_encoder_deref): ... this one.
      	(lto_cgraph_encoder_encode_body_p): Rename to ...
      	(lto_symtab_encoder_encode_body_p): ... this one.
      	(lto_varpool_encoder_new, lto_varpool_encoder_delete,
      	lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
      	lto_varpool_encoder_deref): Remove.
      	(lto_varpool_encoder_encode_initializer_p): Rename to ...
      	(lto_symtab_encoder_encode_initializer_p): ... this one.
      	(lto_set_varpool_encoder_encode_initializer): Rename to ...
      	(lto_set_symtab_encoder_encode_initializer): ... this one.
      	(lto_output_edge): Update.
      	(lto_output_node): Update.
      	(lto_output_varpool_node): Update; stream out LTO_symtab_variable tag.
      	(lto_output_ref): Drop varpool_encoder; update.
      	(add_node_to): Update.
      	(add_references): Update.
      	(output_outgoing_cgraph_edges): Update.
      	(output_refs): Update.	
      	(compute_ltrans_boundary): Update.
      	(output_cgraph): Update; output varpools too.
      	(input_overwrite_node): Update.
      	(output_varpool): Remove.
      	(input_node): Update.
      	(input_ref): Update.
      	(input_edge): Update.
      	(input_cgraph_1): Update; input varpool too; unify fixup code.
      	(input_varpool_1): Remove.
      	(input_refs): Update.
      	(input_cgraph): Update.
      	(output_node_opt_summary): Update.
      	(input_cgraph_opt_section): Update.
      	(input_cgraph_opt_summary): Update.
      	* ipa-pure-const.c (pure_const_write_summary): Update.
      	(pure_const_read_summary): Update.
      	* lto-streamer-out.c (lto_write_tree): Update.
      	(lto_output): Likewise.
      	(produce_symtab): Update.
      	(produce_asm_for_decls): Update.
      	* ipa-inline-analysis.c (inline_read_section): Update.
      	(inline_write_summary): Update.
      	* ipa-prop.c (ipa_write_node_info): Update.
      	(ipa_prop_read_section): Update.
      	* lto-streamer.h (lto_cgraph_encoder_d): Rename to ...
      	(lto_symtab_encoder_d): ... this one;  add initializer.
      	(lto_cgraph_encoder_t): Rename to ...
      	(lto_symtab_encoder_t): ... this one.
      	(lto_cgraph_encoder_size): Rename to ...
      	(lto_symtab_encoder_size): ... this one.
      	(lto_varpool_encoder_d): ... remove.
      	(lto_varpool_encoder_t): Remove.
      	(lto_out_decl_state): Remove cgraph_node_encoder, varpool_node_encoder
      	add symtab_node_encoder.
      	(lto_file_decl_data): Likewise.
      	(lto_cgraph_encoder_deref, lto_cgraph_encoder_lookup,
      	lto_cgraph_encoder_new, lto_cgraph_encoder_encode, lto_cgraph_encoder_delete,
      	lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p,
      	lto_varpool_encoder_deref, lto_varpool_encoder_lookup, lto_varpool_encoder_new,
      	lto_varpool_encoder_encode, lto_varpool_encoder_delete,
      	lto_varpool_encoder_encode_initializer_p): Remove.
      	(lto_symtab_encoder_deref, lto_symtab_encoder_lookup,
      	lto_symtab_encoder_t, lto_symtab_encoder_encode, lto_symtab_encoder_delete,
      	lto_symtab_encoder_encode_body_p, lto_symtab_encoder_encode_initializer_p):
      	New.
      
      From-SVN: r190309
      Jan Hubicka committed
    • Daily bump. · 46b496e9
      From-SVN: r190308
      GCC Administrator committed
  2. 10 Aug, 2012 21 commits
    • i386.md (isa): Add fma and fma4. · 3e5804e1
      	* config/i386/i386.md (isa): Add fma and fma4.
      	(enabled): Handle fma and fma4.
      	* config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
      	(*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
      	(*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
      	(*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
      	(*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
      	(*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
      
      From-SVN: r190305
      Uros Bizjak committed
    • * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>, · b0d5396c
      	*fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
      	*fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
      
      From-SVN: r190304
      Uros Bizjak committed
    • vector-shuffle1.c (f): Pass vectors indirectly to avoid warnings. · a2a40ee8
      	* gcc.dg/torture/vector-shuffle1.c (f): Pass vectors indirectly
      	to avoid warnings.
      	(main): Adjust caller.
      
      From-SVN: r190302
      Jakub Jelinek committed
    • i386.md (simple LEA peephole2s): Add zero-extend variants of PLUS and MULT simple LEA patterns. · 4bf02aaf
      	* config/i386/i386.md (simple LEA peephole2s): Add zero-extend
      	variants of PLUS and MULT simple LEA patterns.  Disable PLUS
      	patterns for TARGET_OPT_AGU.
      
      From-SVN: r190301
      Uros Bizjak committed
    • Makefile.in (OBJS): Remove matrix-reorg.o. · 04f92ff4
      2012-08-10  Richard Guenther  <rguenther@suse.de>
      
      	* Makefile.in (OBJS): Remove matrix-reorg.o.
      	(matrix-reorg.o): Remove dependence rule.
      	(GTFILES): Remove matrix-reorg.c.
      	* matrix-reorg.c: Remove.
      	* passes.c (init_optimization_passes): Do not schedule
      	pass_ipa_matrix_reorg.
      	* tree-pass.h (pass_ipa_matrix_reorg): Remove.
      	* common.opt (fipa-matrix-reorg): Stub out.
      	* doc/invoke.texi (fipa-matrix-reorg): Remove documentation.
      
      	* gcc.dg/matrix/*.c: Adjust and move ...
      	* gcc.dg/torture/: ... here.
      	* gcc.dg/matrix: Remove directory.
      
      From-SVN: r190298
      Richard Guenther committed
    • re PR middle-end/54219 (__builtin_shuffle mask reversed) · 09e4850d
      2012-08-10  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/54219
      	* fold-const.c (fold_ternary_loc): Do not reverse the mask
      	when canonicalizing it when folding VEC_PERM_EXPR.
      
      	* gcc.dg/torture/vector-shuffle1.c: New testcase.
      
      From-SVN: r190297
      Richard Guenther committed
    • re PR middle-end/54211 (ICE: verify_gimple failed building freetype with -Os) · 99cababb
      gcc:
      
      2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR middle-end/54211
      	* gimple-ssa-strength-reduction.c (analyze_candidates_and_replace):
      	Use cand_type to determine whether pointer arithmetic will be generated.
      
      gcc/testsuite:
      
      2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR middle-end/54211
      	* gcc.dg/tree-ssa/pr54211.c: New test.
      
      From-SVN: r190294
      Bill Schmidt committed
    • sourcebuild.texi: Document long_neq_int effective target. · 75bc3841
      gcc:
      
      2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* doc/sourcebuild.texi: Document long_neq_int effective target.
      
      
      testsuite:
      
      2012-08-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* lib/target-supports.exp (check_effective_target_long_neq_int): New.
      	* gcc.dg/tree-ssa/slsr-30.c: Check for long_neq_int effective target.
      
      From-SVN: r190293
      Bill Schmidt committed
    • re PR middle-end/54109 (ICE at tree-ssa-structalias.c:3049 in get_constraint_for_component_ref) · ab509eb5
      2012-08-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/54109
      	* tree-ssa-forwprop.c
      	(forward_propagate_addr_into_variable_array_index): Remove.
      	(forward_propagate_addr_expr_1): Adjust.
      
      	* gcc.dg/torture/pr54109.c: New testcase.
      	* gcc.dg/tree-ssa/forwprop-1.c: Adjust.
      	* gcc.dg/tree-ssa/forwprop-2.c: Likewise.
      
      From-SVN: r190291
      Richard Guenther committed
    • tree-cfg.c (dump_function_to_file): Make sure to dump anonymous SSA names when… · e28b8a60
      tree-cfg.c (dump_function_to_file): Make sure to dump anonymous SSA names when there are no local decls.
      
      2012-08-10  Richard Guenther  <rguenther@suse.de>
      
      	* tree-cfg.c (dump_function_to_file): Make sure to dump
      	anonymous SSA names when there are no local decls.
      
      From-SVN: r190290
      Richard Guenther committed
    • tree-ssa-pre.c (alloc_expression_id): Fix use of VEC_reserve. · 580b2c2e
      	* tree-ssa-pre.c (alloc_expression_id): Fix use of VEC_reserve.
      	* tree-into-ssa.c (get_ssa_name_ann): Likewise.
      	(mark_phi_for_rewrite): Likewise.
      	(compute_global_livein): Use VEC_reserve outside the innermost
      	loop and VEC_quick_push instead of VEC_safe_push in that loop.
      	(update_ssa): Re-organize to avoid unnecessary sbitmap_zero'ing
      	of new_ssa_names and old_ssa_names.  Allocate phis_to_rewrite to
      	the correct initial size.
      
      From-SVN: r190289
      Steven Bosscher committed
    • tree-ssa-pre.c (pretemp, [...]): Remove. · 83d5977e
      2012-08-10  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-pre.c (pretemp, storetemp, prephitemp): Remove.
      	(need_creation): Remove.
      	(get_representative_for): Use anonymous named SSA names.
      	(create_expression_by_pieces): Likewise.
      	(insert_into_preds_of_block): Likewise.
      	(init_pre): Do not init removed vars.
      	(fini_pre): Do not free need_creation.
      	* tree-ssa-forwprop.c (simplify_bitwise_binary): Use anonymous
      	SSA names.
      	* tree-ssa-loop-manip.c (create_iv): Likewise.
      	* value-prof.c (gimple_divmod_fixed_value): Likewise.
      	(gimple_mod_pow2): Likewise.
      	(gimple_mod_subtract): Likewise.
      	(gimple_ic): Likewise.
      	(gimple_stringop_fixed_value): Likewise.
      	* tree-ssa-phiopt.c (condstoretemp): Remove.
      	(tree_ssa_phiopt_worker): Use anonymous named SSA names.
      	(conditional_replacement): Likewise.
      	(abs_replacement): Likewise.
      	(cond_store_replacement): Likewise.
      	(cond_if_else_store_replacement_1): Likewise.
      	* tree-ssa-loop-im.c (rewrite_reciprocal): Likewise.
      	(rewrite_bittest): Likewise.
      	* tree-ssa-reassoc.c (build_and_add_sum): Get type from callers
      	and build anonymous SSA names.
      	(undistribute_ops_list): Adjust.
      	(eliminate_redundant_comparison): Use anonymous SSA names.
      	(rewrite_expr_tree_parallel): Likewise.
      	(get_reassoc_pow_ssa_name): Remove.
      	(attempt_builtin_powi): Adjust.
      	(reassociate_bb): Likewise.
      	* tree-ssa-strlen.c (get_string_length): Use anonymous SSA names.
      	* tree-switch-conversion.c (emit_case_bit_tests): Likewise.
      	(build_arrays): Likewise.
      	* tree-tailcall.c (adjust_return_value_with_ops): Likewise.
      	(create_tailcall_accumulator): Likewise.
      	* tree-vect-generic.c (expand_vector_divmod): Likewise.
      	* tree-profile.c (gcov_type_tmp_var): Remove.
      	(gimple_init_edge_profiler): Do not initialize it and use anonymous
      	SSA names.
      	(gimple_gen_ic_profiler): Likewise.
      	(tree_profiling): Adjust.
      	* tree-sra.c (build_ref_for_offset): Use anonymous SSA names.
      	* tree-ssa-math-opts.c (execute_cse_sincos_1): Likewise.
      	(powi_as_mults_1): Likewise.
      	(powi_as_mults): Likewise.
      	(build_and_insert_call): Adjust.
      	(build_and_insert_binop): Likewise.
      	(build_and_insert_ref): Likewise.
      	(build_and_insert_cast): Likewise.
      	(gimple_expand_builtin_pow): Likewise.
      	(gimple_expand_builtin_cabs): Likewise.
      	(execute_optimize_bswap): Use anonymous SSA names.
      	(convert_mult_to_widen): Likewise.
      	(convert_plusminus_to_widen): Likewise.
      	* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
      	* tree-ssa-propagate.c (update_call_from_tree): Likewise.
      	* tree-if-conv.c (ifc_temp_var): Likewise.
      	* tree-loop-distribution.c (generate_memset_builtin): Likewise.
      	* tree-parloops.c (take_address_of): Likewise.
      	* tree-vect-data-refs.c (vect_permute_store_chain): Likewise.
      	(vect_permute_load_chain): Likewise.
      	* tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise.
      	* tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise.
      	(vect_handle_widen_op_by_const): Likewise.
      	(vect_operation_fits_smaller_type): Likewise.
      	(vect_recog_over_widening_pattern): Likewise.
      	* tree-vect-stmts.c (vect_init_vector): Likewise.
      	* tree-vrp.c (simplify_truth_ops_using_ranges): Likewise.
      	(simplify_float_conversion_using_ranges): Likewise.
      
      From-SVN: r190288
      Richard Guenther committed
    • i386.c (ix86_init_mmx_sse_builtins): Fix builtin target mask of __builtin_ia32_rdseed_di_step. · 7b5e682a
      	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix builtin
      	target mask of __builtin_ia32_rdseed_di_step.
      
      From-SVN: r190287
      Michael Zolotukhin committed
    • re PR tree-optimization/54027 (possible mis-optimization of signed left shift in c89 mode) · a2872983
      2012-08-10  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/54027
      	* tree-vrp.c (extract_range_from_binary_expr_1): Merge RSHIFT_EXPR
      	and LSHIFT_EXPR handling, force -fwrapv for the multiplication used
      	to handle LSHIFT_EXPR with a constant.
      
      	* gcc.dg/torture/pr54027.c: New testcase.
      
      From-SVN: r190286
      Richard Guenther committed
    • tree.h (SSA_NAME_VAR): Return NULL_TREE if an IDENTIFIER_NODE is recorded as var. · 70b5e7dc
      2012-08-10  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (SSA_NAME_VAR): Return NULL_TREE if an IDENTIFIER_NODE
      	is recorded as var.
      	(SSA_NAME_IDENTIFIER): Return the IDENTIFIER_NODE of the SSA_NAME
      	or its SSA_NAME_VAR.
      	(SET_SSA_NAME_VAR_OR_IDENTIFIER): New setter.
      	* tree-ssanames.c (make_ssa_name_fn): Handle creating anonymous
      	SSA names by passing a type instead of a variable decl.
      	(release_ssa_name): Use SET_SSA_NAME_VAR_OR_IDENTIFIER.
      	(copy_ssa_name_fn): Handle anonymous SSA names.
      	(replace_ssa_name_symbol): Use SET_SSA_NAME_VAR_OR_IDENTIFIER.
      	* tree-flow-inline.h (make_temp_ssa_name): New inline function.
      	* tree-pretty-print.c (dump_generic_node): Use SSA_NAME_IDENTIFIER,
      	dump SSA names without a name as <anon>.
      	* cfgexpand.c (expand_used_vars): Assing anonymous SSA names we are
      	going to expand a decl.
      	(gimple_expand_cfg): Assign all SSA names of a partition the
      	decl we created for its leader.
      	* tree-ssa.c (target_for_debug_bind): Handle SSA_NAMEs.
      	(verify_ssa_name): Handle anonymous SSA names.
      	(verify_def): Likewise.
      	* tree-predcom.c (eliminate_temp_copies): Likewise.
      	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
      	* tree-ssa-live.c (var_map_base_init): Compute conflicts for
      	anonymous SSA names with the same type.
      	(mark_all_vars_used_1): Handle anonymous SSA names.
      	(verify_live_on_entry): Likewise.
      	* tree-ssa-coalesce.c (abnormal_corrupt): Remove.
      	(create_outofssa_var_map): Adjust with respect to conflicts we
      	compute for anonymous SSA names.  Do not restrict abnormal
      	coalescing.
      	(coalesce_partitions): Do not restrict abnormal coalescing.
      	Assert we only ever coalesce variables we computed conflicts for.
      	* tree-ssa-ter.c (process_replaceable): Do not restrict TER
      	of anonymous names.
      	* expr.c (expand_expr_real_1): Handle anonymous SSA names
      	expanded from IVOPTs by creating a raw REG here.
      	* tree-cfg.c (replace_ssa_name): Handle anonymous SSA names.
      	(dump_function_to_file): Dump anonymous SSA names alongside
      	with their types in the variable list.
      	(verify_gimple_return): Guard use of SSA_NAME_VAR.
      	* tree-into-ssa.c (mark_for_renaming): Handle a NULL symbol.
      	(rewrite_into_ssa): Make SSA names anonymous.
      	* tree-ssa-structalias.c (alias_get_name): Rewrite.
      	* tree-ssa-uninit.c (ssa_undefined_value_p): Handle anonymous
      	SSA names.
      	(warn_uninitialized_phi): Likewise.
      	* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Defer expanding
      	anonymous SSA names to the expander.
      	(determine_iv_cost): Anonymous SSA names are artificial.
      	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
      	Handle anonymous SSA names.
      	* lto-streamer-out.c (output_ssa_names): Stream SSA_NAME_VAR
      	or if NULL, the type of the SSA name.
      	* tree-inline.c (remap_ssa_name): Handle anonymous SSA names,
      	remap names as anonymous where appropriate.
      	(insert_init_stmt): Pass SSA names down to insert_init_debug_bind.
      	* tree-ssa-uncprop.c (uncprop_into_successor_phis): Adjust
      	according to what we create conflicts for in out-of-SSA
      	coalescing.
      	* tree-parloops.c (separate_decls_in_region_name): Handle
      	anonymous SSA names.
      	(add_field_for_name): Likewise.
      	* tree.c (get_name): Handle SSA names.
      	* tree-ssa-loop-im.c (gen_lsm_tmp_name): Defer to get_name for
      	SSA_NAMEs.
      	* tree-vect-loop-manip.c (adjust_debug_stmts): Use
      	virtual_operand_p.
      	* tree-sra.c (create_access_replacement): Give up generating
      	a DECL_DEBUG_EXPR for SSA names in the memory reference.
      	(replace_removed_params_ssa_names): Guard use of SSA_NAME_VAR.
      	* tree-complex.c (get_component_ssa_name): Handle anonymous
      	SSA names.
      	(set_component_ssa_name): Likewise.
      	* tree-ssa-sccvn.c (visit_reference_op_load): Likewise.
      	* tree-object-size.c (collect_object_sizes_for): Handle
      	uninitialized SSA names properly.
      	* ipa-inline-analysis.c (eliminated_by_inlining_prob): Guard use of
      	SSA_NAME_VAR.
      	* ipa-split.c (test_nonssa_use): Likewise.
      	(consider_split): Likewise.
      	(mark_nonssa_use): Likewise.
      
      	c-family/
      	* c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
      
      	cp/
      	* error.c (dump_expr): Likewise.
      
      	* g++.dg/plugin/selfassign.c: Adjust.
      	* gcc.dg/plugin/selfassign.c: Likewise.
      	* gcc.dg/strlenopt-11.c: Likewise.
      	* gcc.dg/strlenopt-13.c: Likewise.
      	* gcc.dg/no-strict-overflow-4.c: Likewise.
      	* gcc.dg/strict-overflow-4.c: Likewise.
      	* gcc.dg/tree-ssa/alias-11.c: Likewise.
      	* gcc.dg/tree-ssa/alias-6.c: Likewise.
      	* gcc.dg/tree-ssa/asm-3.c: Likewise.
      	* gcc.dg/tree-ssa/pr18908.c: Likewise.
      	* gcc.dg/tree-ssa/pr19431.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-pre-21.c: Likewise.
      	* gcc.dg/tree-ssa/phi-opt-10.c: Likewise.
      	* gcc.dg/tree-ssa/phi-opt-7.c: Likewise.
      	* gcc.dg/tree-ssa/slsr-27.c: Likewise.
      	* gcc.dg/tree-ssa/slsr-28.c: Likewise.
      	* gcc.dg/tree-ssa/slsr-29.c: Likewise.
      	* gcc.dg/pr46309.c: Likewise.
      	* gcc.dg/tree-ssa/loop-5.c: Likewise.
      
      From-SVN: r190284
      Richard Guenther committed
    • re PR middle-end/54146 (Very slow compile with attribute((flatten))) · c170d40f
      	PR middle-end/54146
      	* ipa-inline-transform.c (inline_call): Add UPDATE_OVERALL_SUMMARY
      	parameter; honnor it.
      	* ipa-inline.c (recursive_inlining): Update call
      	of inline_call.
      	(inline_small_functions): Likewise.
      	(ipa_inline): Likewise.
      	(inline_always_inline_functions): Likewise.
      	(early_inline_small_functions): Likewise.
      	(flatten_function): Do separate update of summary info.
      	* ipa-inline.h (inline_update_overall_summary): Declare.
      	(inline_call): Update.
      	* ipa-inline-analysis.c (inline_merge_summary): Break out
      	updating code to ...
      	(inline_update_overall_summary): Likewise.
      
      From-SVN: r190283
      Jan Hubicka committed
    • runtime: use sched_getaffinity for runtime.NumCPU() on Linux · 938ff79a
              Fixes Go issue 3921 for gccgo.
      
      From Shenghou Ma.
      
      From-SVN: r190282
      Ian Lance Taylor committed
    • s390: Use VOIDmode with gen_rtx_SET · 0d8e4dac
      	* config/s390/s390.c (s390_expand_insv): Use VOIDmode in gen_rtx_SET.
      
      From-SVN: r190281
      Richard Henderson committed
    • s390: Rearrange temporary moves for use of CRJ · 4e1ffb63
      	* config/s390/s390.c (s390_expand_cs_hqi): Copy val to a temp before
      	performing the compare for the restart loop.
      
      From-SVN: r190280
      Richard Henderson committed
    • rl78.c (rl78_alloc_physical_registers): Check for SET before extracting SET_SRC. · 1c6b1021
      * config/rl78/rl78.c (rl78_alloc_physical_registers): Check for
      SET before extracting SET_SRC.
      (rl78_remove_unused_sets): Check for REG before extractnig REGNO.
      
      From-SVN: r190278
      DJ Delorie committed
    • Daily bump. · 23459cbe
      From-SVN: r190277
      GCC Administrator committed
  3. 09 Aug, 2012 15 commits
    • re PR target/54089 ([SH] Refactor shift patterns) · 70d4736c
      	PR target/54089
      	* config/sh/sh-protos (shift_insns_rtx): Delete.
      	(sh_ashlsi_clobbers_t_reg_p): Add.
      	* config/sh/sh.c (shift_insns, shift_amounts, ext_shift_insns,
      	ext_shift_amounts): Merge arrays of ints to array of structs.
      	Adapt usage of arrays throughout the file.
      	(shift_insns_rtx): Delete unused function.
      	(sh_ashlsi_clobbers_t_reg_p): New function.
      	* config/sh/sh.md (ashlsi3): Emit ashlsi3_n_clobbers_t insn if the
      	final shift sequence will clobber T_REG.
      	(ashlsi3_n): Split only if the final shift sequence will not
      	clobber T_REG.
      	(ashlsi3_n_clobbers_t): New insn_and_split.
      
      From-SVN: r190273
      Oleg Endo committed
    • acinclude.m4: Update references to final C++11 standard. · 9ab48d6e
      	* acinclude.m4: Update references to final C++11 standard.
      	* include/bits/shared_ptr.h: Likewise.
      	* include/bits/shared_ptr_base.h: Likewise.
      	* include/bits/unique_ptr.h: Likewise.
      	* include/std/chrono: Likewise.
      	* include/std/thread: Likewise.
      
      From-SVN: r190271
      Jonathan Wakely committed
    • calls.c (mem_overlaps_already_clobbered_arg_p): Use SBITMAP_SIZE instead of… · 5829cc0f
      calls.c (mem_overlaps_already_clobbered_arg_p): Use SBITMAP_SIZE instead of looking at sbitmap n_bits member directly.
      
      	* calls.c (mem_overlaps_already_clobbered_arg_p): Use SBITMAP_SIZE
      	instead of looking at sbitmap n_bits member directly.
      	* gcse.c (hoist_code): Likewise.
      	* sched-rgn.c (split_edges): Likewise.
      	* tree-into-ssa.c (is_old_name, is_new_name, add_new_name_mapping,
      	update_ssa): Likewise.
      
      From-SVN: r190268
      Steven Bosscher committed
    • i386.h (LIMIT_RELOAD_CLASS): Return preferred single unit register class for… · b197fc48
      i386.h (LIMIT_RELOAD_CLASS): Return preferred single unit register class for classes that contain registers...
      
      	* config/i386/i386.h (LIMIT_RELOAD_CLASS): Return preferred
      	single unit register class for classes that contain registers form
      	multiple units.
      	(REG_CLASS_CONTENTS): Add missing "frame" register to FLOAT_INT_REGS,
      	INT_SSE_REGS and FLOAT_INT_SSE_REGS register classes.
      
      testsuite/ChangeLog:
      
      	* gcc.c-torture/compile/20120727-1.c (dg-options): Add -mfpmath=387
      	for x86 targets.
      	* gcc.c-torture/compile/20120727-2.c: New test.
      
      From-SVN: r190261
      Uros Bizjak committed
    • cgraph.h (cgraph_indirect_call_info): Field anc_offse renamd to offset, updated all users. · 8b7773a4
      2012-08-09  Martin Jambor  <mjambor@suse.cz>
      
      	* cgraph.h (cgraph_indirect_call_info): Field anc_offse renamd to
      	offset, updated all users.  New field agg_contents.
      	* ipa-prop.h (jump_func_type): Removed IPA_JF_CONST_MEMBER_PTR.
      	(ipa_pass_through_data): New field agg_preserved.
      	(ipa_ancestor_jf_data): Likewise.
      	(ipa_member_ptr_cst): Removed.
      	(ipa_agg_jf_item): New type.
      	(ipa_agg_jump_function): Likewise.
      	(ipa_jump_func): New field agg.  Removed field member_cst.
      	(ipa_get_jf_pass_through_agg_preserved): New function.
      	(ipa_get_jf_ancestor_agg_preserved): Likewise.
      	(ipa_get_jf_member_ptr_pfn): Removed.
      	(ipa_find_agg_cst_for_param): Declare.
      	(ipa_load_from_parm_agg): Likewise.
      	* ipa-prop.c (param_analysis_info): Fields modified and
      	visited_statements rename to parm_modified and parm_visited_statements
      	respectively, added fields ref_modified, ref_visited_statements,
      	pt_modified and pt_visited_statements.
      	(ipa_print_node_jump_functions_for_edge): Do not dump const member
      	functions.  Dump agg_preserved flags and aggregate jump functions.
      	(ipa_set_jf_simple_pass_through): Set also agg_preserved.
      	(ipa_set_ancestor_jf): Likewise.
      	(ipa_set_jf_arith_pass_through): Clear agg_preserved.
      	(ipa_set_jf_member_ptr_cst): Removed.
      	(is_parm_modified_before_stmt): Logic reversed, renamed to
      	parm_preserved_before_stmt_p.  Cache visited bitmap only for
      	naked DECL parameters.  All callers updated.
      	(load_from_unmodified_param): Allow NULL parms_ainfo.
      	(parm_ref_data_preserved_p): New function.
      	(parm_ref_data_pass_through_p): Likewise.
      	(ipa_load_from_parm_agg_1): Likewise.
      	(ipa_load_from_parm_agg): Likewise.
      	(compute_complex_assign_jump_func): Check if aggregate contents are
      	preserved.
      	(compute_complex_ancestor_jump_func): Likewise.
      	(compute_scalar_jump_functions): Removed.
      	(type_like_member_ptr_p): Also check field position are known and
      	sane.
      	(compute_pass_through_member_ptrs): Removed.
      	(determine_cst_member_ptr): Likewise.
      	(ipa_known_agg_contents_list): New type.
      	(determine_known_aggregate_parts): New function.
      	(compute_cst_member_ptr_arguments): Removed.
      	(ipa_compute_jump_functions_for_edge): Compute all kinds of jump
      	functions (scalar, aggregate and member pointer).
      	(ipa_get_member_ptr_load_param): Incorporate into
      	ipa_get_stmt_member_ptr_load_param, also pass back an offset.
      	(ipa_note_param_call): Clear agg_contents.
      	(ipa_analyze_indirect_call_uses): Also look for simple pointers loaded
      	from aggregates.  In such cases, store offset of the called field.
      	(ipa_analyze_node): Initialize new fields of param_analysis_info.
      	(update_jump_functions_after_inlining): Handle aggregate contents.
      	(ipa_find_agg_cst_for_param): New function.
      	(try_make_edge_direct_simple_call): Handle called aggregate values.
      	(update_indirect_edges_after_inlining): Make sure aggregate preserving
      	jump functions comply with type compatibility requirements.
      	(ipa_edge_duplication_hook): Copy also aggregate jump functions.
      	(ipa_write_jump_function): Stream agg_preserved flags and aggregate
      	jump functions.  Do not stream member pointer constant jump functions.
      	(ipa_read_jump_function): Likewise.
      	(ipa_write_indirect_edge_info): Stream new cgraph_indirect_call_info
      	fields.
      	(ipa_read_indirect_edge_info): Likewise.
      
      	* testsuite/gcc.dg/ipa/iinline-4.c: New test.
      	* testsuite/gcc.dg/ipa/iinline-5.c: Likewise.
      	* testsuite/gcc.dg/ipa/iinline-6.c: Likewise.
      	* testsuite/gcc.dg/ipa/iinline-7.c: Likewise.
      	* testsuite/gcc.dg/lto/20120723_0.c: Likewise.
      	* testsuite/gcc.dg/lto/20120723_1.c: Likewise.
      
      From-SVN: r190260
      Martin Jambor committed
    • re PR target/39423 ([SH] performance regression: lost mov @(disp,Rn)) · b67b3838
      	PR target/39423
      	* config/sh/predicates.md (mem_index_disp_operand): New predicate.
      	* config/sh/sh.md (*movsi_index_disp): Rewrite insns to use the new
      	mem_index_disp_operand predicate.
      
      	PR target/39423
      	* gcc.target/sh/pr39423-1.c: New.
      
      From-SVN: r190259
      Oleg Endo committed
    • re PR target/51244 ([SH] Inefficient conditional branch and code around T bit) · 78ff60c1
      	PR target/51244
      	* config/sh/sh.md: Add negc extu sequence peephole.
      	(movrt, movnegt, movrt_negc, nott): Use t_reg_operand predicate.
      	(*movrt_negc): New insn.
      	* config/sh/sync.md (atomic_test_and_set): Pass gen_t_reg_rtx to
      	gen_movnegt.
      	* config/sh/sh.c (expand_cbranchsi4, sh_emit_scc_to_t,
      	sh_emit_compare_and_branch, sh_emit_compare_and_set): Use get_t_reg_rtx.
      	(sh_expand_t_scc): Pass gen_t_reg_rtx to gen_movnegt.
      
      	PR target/51244
      	* gcc.target/sh/pr51244-5: New.
      	* gcc.target/sh/pr51244-6: New.
      
      From-SVN: r190258
      Oleg Endo committed
    • re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode) · 284c32cf
      	PR target/50751
      	* config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg):
      	Use arith_reg_operand predicate instead of register_operand.
      	* config/sh/predicates.md (movsrc_no_disp_mem_operand): Accept
      	only mem, simplify.
      
      From-SVN: r190257
      Oleg Endo committed
    • alpha.c (alpha_pad_noreturn): Rename to ... · 3eda5123
              * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
              (alpha_pad_function_end): ... this.  Also insert NOP between
              sibling call and GP load.
              (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
      
      From-SVN: r190255
      Uros Bizjak committed
    • adxintrin.h: Remove guarding __ADX__ check. · 9319fa21
      Changelog
              * config/i386/adxintrin.h: Remove guarding __ADX__ check.
              * config/i386/x86intrin.h: Likewise.
              * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove
              OPTION_MASK_ISA_ADX from needed options for
              __builtin_ia32_addcarryx_u32 and __builtin_ia32_addcarryx_u64.
              (ix86_expand_builtin): Use add<mode>3_carry in expanding of
              IX86_BUILTIN_ADDCARRYX32 and IX86_BUILTIN_ADDCARRYX64.
      
      testsuite/Changelog
              * gcc.target/i386/adx-addxcarry32-3.c: New.
              * gcc.target/i386/adx-addxcarry64-3.c: New.
      
      From-SVN: r190254
      Michael Zolotukhin committed
    • re PR rtl-optimization/53701 (ICE on ia64 (when building Allegro 4.4) in sel-sched) · 0c02ab39
          PR rtl-optimization/53701
          * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
          Process not only expr's vinsns but all old vinsns from expr's
          history of changes.
          (update_and_record_unavailable_insns): Clarify comment.
      
          * gcc.dg/pr53701.c: New test.
      
      From-SVN: r190253
      Andrey Belevantsev committed
    • reload.c (find_valid_class_1): New static function. · 82ad0aaf
      	* reload.c (find_valid_class_1): New static function.
      	(push_reload): Use it when reloading a SYMBOL_REG as the inner
      	of a subreg.  Keep better track of needed classes for the
      	secondary memory case.
      	* config/i386/i386.h (LIMIT_RELOAD_CLASS): Limit INT_SSE_REGS to
      	GENERAL_REGS.
      	* reload1.c (replaced_subreg): New static function.
      	(gen_reload): Use it when deciding whether to use secondary
      	memory.
      
      	* gcc.c-torture/compile/20120727-1.c: New test.
      
      From-SVN: r190252
      Bernd Schmidt committed
    • re PR fortran/54199 (Superfluous diagnostic "is also the name of an intrinsic"… · 62d6a5bb
      re PR fortran/54199 (Superfluous diagnostic "is also the name of an intrinsic" for internal procedures)
      
      2012-08-09  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54199
              * intrinsic.c (gfc_warn_intrinsic_shadow): Better warning
              for internal procedures.
      
      2012-08-09  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54199
              * gfortran.dg/intrinsic_shadow_4.f90: New.
      
      From-SVN: r190251
      Tobias Burnus committed
    • tree.h (SSA_VAR_P): Simplify. · 67386041
      2012-08-09  Richard Guenther  <rguenther@suse.de>
      
      	* tree.h (SSA_VAR_P): Simplify.
      	* tree-ssanames.c (make_ssa_name_fn): Strengthen assert.
      	* fold-const.c (fold_comparison): Check for default def first
      	before checking for PARM_DECL.
      	* tree-complex.c (get_component_ssa_name): Likewise.
      	* tree-inline.c (remap_ssa_name): Likewise.
      	* tree-ssa-loop-ivopts.c (parm_decl_cost): Likewise.
      	* tree-ssa-structalias.c (get_fi_for_callee): Likewise.
      	(find_what_p_points_to): Likewise.
      	* tree-ssa-operands.c (add_stmt_operand): Simplify.
      
      From-SVN: r190250
      Richard Guenther committed
    • Use accessor functions to manipulate xmlOutputBuffer · 4531d13a
      This is a fix to prepare the xmlj_io.c file of gnu classpath to a coming
      API change in libxml2.
      
      Basically, we were previously accessing fields inside the
      xmlOutputBuffer struct of libxml2.  In a coming version of libxml2,
      that won't be possible anymore.  Client code will have to use accessor
      functions instead.  For the gory details, there is an interestin note
      of Daniel Veillard (author of libxml2) at
      https://mail.gnome.org/archives/desktop-devel-list/2012-August/msg00007.html.
      
      This patch defines too accessor macros that, depending on the version
      of libxml2 we are using will either access the fields of
      xmlOutputBuffer directly, or use the new accessor function.
      
      Tested on x86_64-unknown-linux-gnu against trunk.
      
      libjava/classpath/
      
      	* native/jni/xmlj/xmlj_io.c (GET_XML_OUTPUT_BUFFER_CONTENT)
      	(GET_XML_OUTPUT_BUFFER_SIZE): New macros.
      	(xmljOutputWriteCallback): Use them.
      
      From-SVN: r190249
      Dodji Seketeli committed