Commit Graph

116341 Commits

Author SHA1 Message Date
Georg-Johann Lay 20955f5acf re PR target/53033 ([avr]: Wrong register number for 3-byte loads via X)
PR target/53033
	* config/avr/avr.c (avr_out_load_psi): Fix assembler template for
	the case *(X+const).

From-SVN: r186588
2012-04-19 11:29:13 +00:00
Ramana Radhakrishnan e4eb230d8d sync.md (sync_optab): Change ior attribute to "or".
2012-04-19  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* config/arm/sync.md (sync_optab): Change ior attribute to "or".

From-SVN: r186587
2012-04-19 11:21:34 +00:00
Christian Bruel 007a787db4 Fix #52283 error: case label does not reduce to an integer constant
From-SVN: r186586
2012-04-19 11:06:53 +02:00
Richard Guenther daa573866d re PR tree-optimization/44688 (Excessive code-size growth at -O3)
2012-04-19  Richard Guenther  <rguenther@suse.de>

	PR rtl-optimization/44688
	* loop-iv.c (determine_max_iter): Only return max_iter.
	(iv_number_of_iterations): Also use the recorded loop bound
	on the maximum number of iterations.
	* loop-unroll.c (decide_unroll_runtime_iterations): Use
	max_iter to avoid unrolling loops that do not roll.
	(decide_unroll_stupid): Likewise.

	* gcc.dg/var-expand1.c: Increase array size to make unrolling
	possibly profitable.

From-SVN: r186585
2012-04-19 08:51:50 +00:00
GCC Administrator 1295401bcf Daily bump.
From-SVN: r186584
2012-04-19 00:18:47 +00:00
Steven Bosscher 809e5f8273 fix accidentally checked-in assert.
From-SVN: r186580
2012-04-18 18:36:32 +00:00
Steven Bosscher 0cd2402db7 targhooks.c (default_case_values_threshold): Fix code style nit.
gcc/
	* targhooks.c (default_case_values_threshold): Fix code style nit.

	* stmt.c (add_case_node, expand_case): Move logic to remove/reduce
	case range and type folding from here...
	* gimplify.c (gimplify_switch_expr): ... to here.  Expect NULL_TREE
	type, as documented in tree.def

fortran/
	* trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
	with NULL_TREE type instead of void_type_node.
	* trans-io.c (io_result): Likewise.
	* trans-stmt.c (gfc_trans_integer_select,
	gfc_trans_character_select): Likewise.

go/
	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
	with NULL_TREE type instead of void_type_node.

From-SVN: r186579
2012-04-18 18:27:51 +00:00
Jan Hubicka 474ffc723e cgraph.h (verify_symtab, [...]): Declare.
* cgraph.h (verify_symtab, verify_symtab_node, verify_symtab_base):
	Declare.
	* cgraphunit.c (verify_cgraph_node): Verify symtab base; do not verify 
	cgraph hash and same comdat groups.
	(cgraph_optimize); Verify symbol table.
	* ipa.c (cgraph_remove_unreachable_nodes): Verify symbol table.
	(dissolve_same_comdat_group_list): Work on symtab nodes.
	(function_and_variable_visibility): Dissolve variable same comdat group
	lists, too.
	* symtab.c: Include timevar.h
	(verify_symtab_base, verify_symtab_node, verify_symtab): New functions.

From-SVN: r186578
2012-04-18 18:19:43 +00:00
Steven Bosscher fade902a4b tree-switch-conversion.c (info): Remove global pass info.
* tree-switch-conversion.c (info): Remove global pass info.
	(check_range, check_process_case, check_final_bb, create_temp_arrays,
	free_temp_arrays, gather_default_values, build_constructors,
	array_value_type, build_one_array, build_arrays, gen_def_assigns,
	fix_phi_nodes, gen_inbound_check): Pass info around from ...
	(process_switch): ... here.  Unify message format.  Return a const
	char pointer to the failure reason message.
	(do_switchconv): Unify message format.  Update process_switch usage.

From-SVN: r186576
2012-04-18 18:12:57 +00:00
Steven Bosscher 308e3ba6f5 tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
* tree.def (CASE_LABEL_EXPR): Fix documentation, mention all operands.
	* tree-cfg.c (edge_to_cases): Fix documentation.

From-SVN: r186575
2012-04-18 18:10:17 +00:00
Uros Bizjak 27dd0a95d1 sync.md (fetchop_name): Change ior attribute to "or".
* config/alpha/sync.md (fetchop_name): Change ior attribute to "or".

From-SVN: r186572
2012-04-18 17:06:35 +02:00
Bill Schmidt b59eee4039 re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)
gcc:

2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/52976
	* tree-ssa-reassoc.c (add_to_ops_vec_max_rank): Delete.
	(possibly_move_powi): New function.
	(rewrite_expr_tree): Call possibly_move_powi.
	(rewrite_expr_tree_parallel): Likewise.
	(attempt_builtin_powi): Change call of add_to_ops_vec_max_rank to
	call add_to_ops_vec instead.


gcc/testsuite:

2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/52976
	gfortran.dg/reassoc_11.f: New test.

From-SVN: r186568
2012-04-18 12:29:23 +00:00
Bill Schmidt c2723bdeb0 re PR tree-optimization/52976 (Revision 186384 breaks the polyhedron tests aermod.f90 and doduc.f90 at -O3 -ffast-math)
gcc:

2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/52976
	* tree-ssa-reassoc.c (stmt_is_power_of_op): New function.
	(decrement_power): Likewise.
	(propagate_op_to_single_use): Likewise.
	(zero_one_operation): Handle __builtin_pow* calls in linearized
	expression trees; factor logic into propagate_op_to_single_use.
	(undistribute_ops_list): Allow operands with repeat counts > 1.


gcc/testsuite:

2012-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/52976
	gfortran.dg/reassoc_7.f: New test.
	gfortran.dg/reassoc_8.f: Likewise.
	gfortran.dg/reassoc_9.f: Likewise.
	gfortran.dg/reassoc_10.f: Likewise.

From-SVN: r186567
2012-04-18 12:25:17 +00:00
Richard Guenther 03fd03d5bc re PR tree-optimization/44688 (Excessive code-size growth at -O3)
2012-04-18  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/44688
	* cfgloop.h (record_niter_bound): Declare.
	* tree-ssa-loop-niter.c (record_niter_bound): Export.
	Update the estimation with the upper bound here...
	(estimate_numbers_of_iterations_loop): ... instead of here.
	Do not forcefully reset a recorded upper bound.
	* tree-vect-loop-manip.c (vect_do_peeling_for_alignment):
	Record the maximum number of loop iterations of the
	prologue loop.

From-SVN: r186566
2012-04-18 11:33:51 +00:00
Paolo Carlini 89fcabafa1 re PR c++/52422 ([C++11][SFINAE] Hard errors with void or arithmetic expressions)
/cp
2012-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52422
	* cp-tree.h (build_addr_func, decay_conversion,
	get_member_function_from_ptrfunc,
	build_m_component_ref, convert_member_func_to_ptr):
	Add tsubst_flags_t parameter.
	* typeck.c (cp_default_conversion): Add.
	(decay_conversion, default_conversion,
	get_member_function_from_ptrfunc, convert_member_func_to_ptr):
	Add tsubst_flags_t parameter and use it throughout.
	(cp_build_indirect_ref, cp_build_array_ref,
	cp_build_function_call_vec, convert_arguments, build_x_binary_op,
	cp_build_binary_op, cp_build_unary_op, build_reinterpret_cast_1,
	build_const_cast_1, expand_ptrmemfunc_cst,
	convert_for_initialization): Adjust.
	* init.c (build_vec_init): Adjust.
	* decl.c (grok_reference_init, get_atexit_node): Likewise.
	* rtti.c (build_dynamic_cast_1, tinfo_base_init): Likewise.
	* except.c (build_throw): Likewise.
	* typeck2.c (build_x_arrow): Likewise.
	(build_m_component_ref): Add tsubst_flags_t parameter and
	use it throughout.
	* pt.c (convert_nontype_argument): Adjust.
	* semantics.c (finish_asm_stmt, maybe_add_lambda_conv_op): Likewise.
	* decl2.c (build_offset_ref_call_from_tree): Likewise.
	* call.c (build_addr_func): Add tsubst_flags_t parameter and
	use it throughout.
	(build_call_a, build_conditional_expr_1, build_new_op_1,
	convert_like_real, convert_arg_to_ellipsis, build_over_call,
	build_special_member_call): Adjust.
	* cvt.c (cp_convert_to_pointer, force_rvalue,
	build_expr_type_conversion): Likewise.

/testsuite
2012-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52422
	* g++.dg/cpp0x/sfinae33.C: New.
	* g++.dg/cpp0x/sfinae34.C: Likewise.

From-SVN: r186565
2012-04-18 10:21:43 +00:00
Jan Hubicka 5932a4d411 lto-symtab.c (lto_cgraph_replace_node): Update.
* lto-symtab.c (lto_cgraph_replace_node): Update.
	* cgraphbuild.c (record_reference, record_type_list,
	record_eh_tables, mark_address, mark_load, mark_store): Update.
	* cgraph.c (cgraph_same_body_alias, dump_cgraph_node,
	cgraph_create_virtual_clone, cgraph_for_node_thunks_and_aliases):
	Update.
	* cgraph.h (symtab_node_def, symtab_node, const_symtab_node): Remove.
	(cgraph_alias_aliased_node, varpool_alias_aliased_node): Update.
	* reload.c: Fix typo in comment.
	* rtlanal.c: Likewise.
	* tree-emultls.c (gen_emutls_addr): Update.
	* ipa-reference.c (analyze_function): Update.
	* cgraphunit.c (cgraph_analyze_function,
	cgraph_process_same_body_aliases, assemble_thunks_and_aliases):
	Update.
	* ipa-ref.c (ipa_record_reference): Reorg to avoid reference types.
	(ipa_remove_reference): Likewise.
	(ipa_remove_all_refering): Rename to ...
	(ipa_remove_all_referring): ... this one; update.
	(ipa_dump_references): Update.
	(ipa_dump_referring): Update.
	(ipa_clone_references): Update.
	(ipa_clone_refering): Rename to ...
	(ipa_clone_referring): ... this one; update.
	(ipa_ref_cannot_lead_to_return): Update.
	(ipa_ref_has_aliases_p): Update.
	* ipa-ref.h (symtab_node_def, symtab_node, const_symtab_node): New
	forward typedefs.
	(ipa_ref_type): Remove.
	(ipa_ref_ptr_u): Remove.
	(ipa_ref): Remove referencing, refered, refered_index, refering_type
	and refered_type; add referring, referred and referred_index.
	(ipa_ref_list): Rename refering to referring.
	(ipa_record_reference, ipa_remove_all_referring, ipa_dump_referring,
	ipa_clone_references, ipa_clone_referring): Update prototypes.
	* lto-cgraph.c (referenced_from_other_partition_p): Update.
	(lto_output_ref): Update.
	(add_references): Update.
	(input_varpool_node): Update.
	(input_refs): Update.
	* ipa-ref-inline.h (ipa_ref_node): Update.
	(ipa_ref_varpool_node): Update.
	(ipa_ref_referring_node); Update.
	(ipa_ref_referring_varpool_node): Update.
	(ipa_ref_referring_ref_list); Update.
	(ipa_ref_referred_ref_list): Update.
	(ipa_ref_list_first_referring): Update.
	(ipa_empty_ref_list): Update.
	(ipa_ref_list_refering_iterate): Rename to ...
	(ipa_ref_list_referring_iterate): ... this one.
	* cse.c: Update comment.
	* ipa-utils.c (ipa_reverse_postorder): Update.
	* tree-ssa-alias.c: Update.
	* ipa-inline.c (reset_edge_caches): Update.
	(update_caller_keys): Update.
	* ipa-inline.h: Update comments.
	* jump.c: Update comment.
	* alias.c: Likewise.
	* ipa.c (process_references): Update.
	(cgraph_remove_unreachable_nodes): Likewise.
	(ipa_discover_readonly_nonaddressable_var): Likewise.
	(cgraph_address_taken_from_non_vtable_p): Likewise.
	* trans-mem.c (ipa_tm_execute): Update.
	* simplify-rtx.c: Fix comment.
	* rtl.c: Fix comment.
	* symtab.c (symtab_unregister_node): Update.
	* varpool.c (dump_varpool_node): Update.
	(varpool_analyze_pending_decls): Update.
	(assemble_aliases): Update.
	(varpool_for_node_and_aliases): Update.

From-SVN: r186564
2012-04-18 09:57:53 +00:00
Joey Ye f314862027 thumb1-imm.c: Skip it in non-thumb1 target.
2012-04-18  Joey Ye  <joey.ye@arm.com>

        * gcc.target/arm/thumb1-imm.c: Skip it in non-thumb1 target.

From-SVN: r186563
2012-04-18 09:04:09 +00:00
Richard Guenther 421e608215 cfgloop.h (estimate_numbers_of_iterations_loop): Remove use_undefined_p parameter.
2012-04-18  Richard Guenther  <rguenther@suse.de>

	* cfgloop.h (estimate_numbers_of_iterations_loop): Remove
	use_undefined_p parameter.
	* tree-flow.h (estimate_numbers_of_iterations): Likewise.
	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
	Likewise.
	(estimate_numbers_of_iterations): Likewise.
	(estimated_loop_iterations): Adjust.
	(max_loop_iterations): Likewise.
	(scev_probably_wraps_p): Likewise.
	* tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
	* tree-vrp.c (adjust_range_with_scev): Use max_stmt_executions,
	not max_loop_iterations.
	(execute_vrp): Remove explicit number of iterations estimation.

From-SVN: r186562
2012-04-18 08:55:41 +00:00
Richard Guenther dcc186d607 test_passing_unions.c: Avoid undefined array access.
2012-04-18  Richard Guenther  <rguenther@suse.de>

	* gcc.target/x86_64/abi/test_passing_unions.c: Avoid undefined
	array access.
	* gcc.target/x86_64/abi/test_passing_structs.c: Likewise.
	* gcc.target/i386/avx256-unaligned-load-4.c: Fix array sizes.

From-SVN: r186561
2012-04-18 08:32:32 +00:00
Enkovich Ilya 6acc8a3cf3 linux-common.h: New.
2012-04-18  Enkovich Ilya  <ilya.enkovich@intel.com>

       * config/i386/linux-common.h: New.

       * config.gcc: Add i386/linux-common.h before
       all i386/linux.h and i386/linux64.h usages.

       * config/i386/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): New.
       (LINK_SPEC): Use GNU_USER_TARGET_LINK_SPEC.
       * config/i386/gnu-user64.h: Likewise.

       * config/i386/gnu-user.common.h (GNU_USER_TARGET_CC1_SPEC): New.
       (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
       (GNU_USER_TARGET_MATHFILE_SPEC): New.
       (ENDFILE_SPEC): Use GNU_USER_TARGET_MATHFILE_SPEC.

From-SVN: r186560
2012-04-18 08:29:55 +00:00
Jan Hubicka 8f940ee654 cgraph.c (cgraph_node_name): Remove.
* cgraph.c (cgraph_node_name): Remove.
	(dump_cgraph_node): Use dump_symtab_base; reformat.
	* cgraph.h (symtab_node_asm_name, symtab_node_name, dump_symtab,
	debug_symtab, dump_symtab_node, debug_symtab_node, dump_symtab_base):
	Declare.
	(cgraph_node_name, varpool_node_name): Remove.
	(cgraph_node_asm_name, varpool_node_asm_name,
	cgraph_node_name, varpool_node_name): New.
	* tree-pass.h (TODO_dump_cgraph): Rename to ...
	(TODO_dump_symtab): ... this one.
	* ipa-cp (pass_ipa_cp): Update.
	* ia-reference.c (generate_summary, read_write_all_from_decl,
	propagate, ipa_reference_read_optimization_summary): Update.
	* cgraphunit.c (cgraph_analyze_functions): Update.
	(cgraph_optimize): Update.
	* ipa-ref.c (ipa_dump_references): Update.
	(ipa_dump_refering): Update.
	* ipa-inline.c (pass_ipa_inline): Update.
	* matrix-reorg.c (pass_ipa_matrix_reorg): Update.
	* ipa.c (pass_ipa_function_visibility,
	pass_ipa_whole_program_visibility): Update.
	* tree-sra.c (pass_early_ipa_sra): Update.
	* symtab.c: Include langhooks.h
	(symtab_node_asm_name): New.
	(symtab_node_name): New.
	(symtab_type_names): New static var.
	(dump_symtab_base): New.
	(dump_symtab_node, dump_symtab): New.
	(debug_symtab_node,  debug_symtab): New.
	* tree-ssa-structalias.c: Dump symbol table.
	* pases.c (execute_todo): Handle TODO_dump_symtab instead
	of TODO_dump_cgraph.
	* varpoo.c (varpool_node_name): Remove.
	(dump_varpool_node): Use dump_symtab_base; reformat.

From-SVN: r186559
2012-04-18 06:54:33 +00:00
GCC Administrator cc8e7b1f58 Daily bump.
From-SVN: r186557
2012-04-18 00:19:09 +00:00
Manuel López-Ibáñez dae1c90e14 invoke.texi (Language Independent Options): @item should be before @opindex.
2012-04-18  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * doc/invoke.texi (Language Independent Options): @item should be
	before @opindex.

From-SVN: r186553
2012-04-17 22:47:15 +00:00
Richard Sandiford f0184d423f re PR bootstrap/53021 (bootstrap failure on Linux/ia32)
gcc/
	PR bootstrap/53021
	* rtl.c (rtx_code_size): Handle ADDRESS.

From-SVN: r186549
2012-04-17 20:09:01 +00:00
Tobias Burnus fe92f29faf re PR libfortran/38199 (missed optimization: I/O performance)
2012-04-17  Tobias Burnus  <burnus@net-b.de>

        PR libfortran/38199
        PR libfortran/50673
        * io/unit.c (get_internal_unit): Properly check for the presence
        of the format string.

From-SVN: r186548
2012-04-17 21:30:29 +02:00
Tom de Vries bd9ee48c16 pr51264-4.C: New test.
2012-04-17  Tom de Vries  <tom@codesourcery.com>

	* g++.dg/pr51264-4.C: New test.

From-SVN: r186547
2012-04-17 18:28:50 +00:00
Tom de Vries b2cb7511d4 cp-gimplify.c (begin_bc_block): Add location parameter and use as location argument to create_artificial_label.
2012-04-17  Tom de Vries  <tom@codesourcery.com>

	* cp-gimplify.c (begin_bc_block): Add location parameter and use as
	location argument to create_artificial_label.
	(finish_bc_block): Change return type to void.  Remove body_seq
	parameter, and add block parameter.  Append label to STMT_LIST and
	return in block.
	(gimplify_cp_loop, gimplify_for_stmt, gimplify_while_stmt)
	(gimplify_do_stmt, gimplify_switch_stmt): Remove function.
	(genericize_cp_loop, genericize_for_stmt, genericize_while_stmt)
	(genericize_do_stmt, genericize_switch_stmt, genericize_continue_stmt)
	(genericize_break_stmt, genericize_omp_for_stmt): New function.
	(cp_gimplify_omp_for): Remove bc_continue processing.
	(cp_gimplify_expr): Genericize VEC_INIT_EXPR.
	(cp_gimplify_expr): Mark FOR_STMT, WHILE_STMT, DO_STMT, SWITCH_STMT,
	CONTINUE_STMT, and BREAK_STMT as unreachable.
	(cp_genericize_r): Genericize FOR_STMT, WHILE_STMT, DO_STMT,
	SWITCH_STMT, CONTINUE_STMT, BREAK_STMT and OMP_FOR.
	(cp_genericize_tree): New function, factored out of ...
	(cp_genericize): ... this function.

From-SVN: r186546
2012-04-17 18:28:42 +00:00
Tom de Vries a60596b8e5 tree-iterator.c (append_to_statement_list_1): Handle case that *list_p is not a STMT_LIST.
2012-04-17  Tom de Vries  <tom@codesourcery.com>

	* tree-iterator.c (append_to_statement_list_1): Handle case that *list_p
	is not a STMT_LIST.

From-SVN: r186545
2012-04-17 18:28:34 +00:00
Uros Bizjak 6c381d9d1c re PR target/53020 (__atomic_fetch_or doesn't generate `1 insn` variant)
PR target/53020
	* config/i386/sync.md (atomic_<code><mode>): Rename to
	atomic_<logic><mode>.

From-SVN: r186542
2012-04-17 19:35:23 +02:00
Paolo Carlini 0fced8150b re PR c++/52599 (ICE on illegal constexpr constructor declaration)
/cp
2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52599
	* semantics.c (build_constexpr_constructor_member_initializers):
	Check for function-try-block as function-body.

/testsuite
2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/52599
	* g++.dg/cpp0x/constexpr-ctor10.C: New.

/cp
2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53003
	* parser.c (cp_parser_member_declaration): Check that
	initializer_token_start is non null before dereferencing it.

/testsuite
2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/53003
	* g++.dg/parse/crash59.C: New.

From-SVN: r186541
2012-04-17 17:20:02 +00:00
Richard Sandiford 9fc37b2b7b rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
gcc/
	* rtl.def (ADDRESS): Turn operand into a HOST_WIDE_INT.
	* alias.c (reg_base_value): Expand and update comment.
	(arg_base_value): New variable.
	(unique_id): Move up file.
	(unique_base_value, unique_base_value_p, known_base_value_p): New.
	(find_base_value): Use arg_base_value and known_base_value_p.
	(record_set): Document REG_NOALIAS handling.  Use unique_base_value.
	(find_base_term): Use known_base_value_p.
	(base_alias_check): Use unique_base_value_p.
	(init_alias_target): Initialize arg_base_value.  Use unique_base_value.
	(init_alias_analysis): Use 1 as the first id for REG_NOALIAS bases.

From-SVN: r186540
2012-04-17 17:01:02 +00:00
Benjamin Kosnik ac9ce934ed 808590.cc: New.
2012-04-17  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	808590.cc: New.

From-SVN: r186539
2012-04-17 16:41:40 +00:00
Pat Haugen 9f89e66ec3 rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Remove DImode.

From-SVN: r186534
2012-04-17 15:38:10 +00:00
Michael Matz 7d75abc8ea re PR tree-optimization/18437 (vectorizer failed for matrix multiplication)
PR tree-optimization/18437

	* tree-vectorizer.h (_stmt_vec_info.stride_load_p): New member.
	(STMT_VINFO_STRIDE_LOAD_P): New accessor.
	(vect_check_strided_load): Declare.
	* tree-vect-data-refs.c (vect_check_strided_load): New function.
	(vect_analyze_data_refs): Use it to accept strided loads.
	* tree-vect-stmts.c (vectorizable_load): Ditto and handle them.

testsuite/
	* gfortran.dg/vect/rnflow-trs2a2.f90: New test.

From-SVN: r186530
2012-04-17 13:54:26 +00:00
Richard Guenther efa26eaae3 re PR rtl-optimization/53011 (ice in verify_loop_structure: bad sizes)
2012-04-17  Richard Guenther  <rguenther@suse.de>

	PR middle-end/53011
	* tree-eh.c (cleanup_empty_eh_merge_phis): Properly discard
	loops when redirecting an entry or latch edge.

	* g++.dg/torture/pr53011.C: New testcase.

From-SVN: r186529
2012-04-17 13:42:48 +00:00
Bernd Schmidt d51e8a2df2 sel-sched.c (sel_global_init): Revert previous change.
* sel-sched.c (sel_global_init): Revert previous change.
his line, and those below, will be ignored--

M    ChangeLog
M    sel-sched.c

From-SVN: r186528
2012-04-17 13:40:01 +00:00
Richard Guenther d8279b12d8 tree-flow.h (array_at_struct_end_p): Move declaration ...
2012-04-17  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (array_at_struct_end_p): Move declaration ...
	* tree.h (array_at_struct_end_p): ... here.
	* tree-ssa-loop-niter.c (array_at_struct_end_p): Move ...
	* expr.c (array_at_struct_end_p): ... here.  Rewrite.

From-SVN: r186527
2012-04-17 13:33:41 +00:00
Steven Bosscher c5c20c556b stmt.c (cost_table_, [...]): Remove.
* stmt.c (cost_table_, use_cost_table, cost_table_initialize,
	COST_TABLE): Remove.
	(estimate_case_costs): Remove.
	(expand_case): Do not call estimate_case_costs
	to set use_cost_table.
	(balance_case_nodes): Do not use use_cost_table.

From-SVN: r186526
2012-04-17 12:02:30 +00:00
Jan Hubicka 1ab24192d5 cgraph.c (cgraph_hash, [...]): Remove.
* cgraph.c (cgraph_hash, assembler_name_hash): Remove.
	(hash_node, eq_node): Remove.
	(cgraph_create_node): Do not handle hashtable.
	(cgraph_get_node): Remove.
	(cgraph_insert_node_to_hashtable): Remove.
	(hash_node_by_assembler_name): Remove.
	(eq_assembler_name): Remove.
	(cgraph_node_for_asm): Rewrite.
	(cgraph_find_replacement_node): Break out from ...
	(cgraph_remove_node): ... here; do not maintain hashtables.
	(change_decl_assembler_name): Remove.
	(cgraph_clone_node): Do not maintain hashtables.
	* cgraph.h (const_symtab_node): New typedef.
	(cgraph_insert_node_to_hashtable): Remove.
	(symtab_get_node, symtab_node_for_asm,
	symtab_insert_node_to_hashtable): Declare.
	(cgraph_find_replacement_node): Declare.
	(cgraph_get_node, varpool_get_node): Turn into inlines.
	(cgraph, varpool): Work sanely on NULL pointers.
	(FOR_EACH_SYMBOL): New walker.
	* ipa-inline-transform.c (save_inline_function_body): Use
	symtab_insert_node_to_hashtable.
	* symtab.c: Include ggc.h and diagnostics.h
	(symtab_hash, assembler_name_hash): New static vars;
	(hash_node, eq_node, hash_node_by_assembler_name,
	eq_assembler_name, insert_to_assembler_name_hash,
	unlink_from_assembler_name_hash): New.
	(symtab_register_node): Update hashtables.
	(symtab_insert_node_to_hashtable): New.
	(symtab_unregister_node): Update hashtables.
	(symtab_get_node): New.
	(symtab_node_for_asm): New.
	(change_decl_assembler_name): New.
	* Makefile.in (symtab.o): Needs GTY.
	* varpool.c (varpool_hash): Remove.
	(hash_varpool_node, eq_varpool_node, varpool_get_node): Remove.
	(varpool_node): Rewrite using varpool_get_node.
	(varpool_remove_node): DO not maintain hashtables.
	(varpool_node_for_asm); Rewrite.

From-SVN: r186525
2012-04-17 10:53:22 +00:00
Rainer Orth 332781bba5 Fix merging default libstdc++.log
* testsuite/util/testsuite_abi.cc (compare_symbols): Change
	summary header to avoid confusion with DejaGnu header.

From-SVN: r186524
2012-04-17 10:21:25 +00:00
Sandra Loosemore 0d63b6432c invoke.texi: Copy-edit to put verbs in the present tense when...
2012-04-16  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi:  Copy-edit to put verbs in the present tense
	when describing the current behavior of GCC.

From-SVN: r186523
2012-04-16 22:34:20 -04:00
Jason Merrill 1561ad74c1 re PR c++/38543 ([C++0x] Cannot specialize variadic template function)
PR c++/38543
	* pt.c (determine_specialization): Instead of comparing the number
	of parms, check that tsubst gives the right answer.

From-SVN: r186522
2012-04-16 22:29:51 -04:00
Jason Merrill 54aa834f49 re PR c++/52008 ([Core/1495] ICE when adding partial specialization for variadic-templated structure)
PR c++/52008
	* pt.c (process_partial_specialization): Complain about a partial
	specialization with fewer args than primary template parms.

From-SVN: r186521
2012-04-16 22:29:43 -04:00
Jason Merrill 3ab97d92fc re PR c++/50830 ([c++0x] Variadic template, inner class error)
PR c++/50830
	* pt.c (convert_template_argument): Handle template template
	argument packs.

From-SVN: r186520
2012-04-16 22:29:35 -04:00
Jason Merrill 99d4f8f704 re PR c++/50303 ([C++0x] Segfault with variadic template template parameters)
PR c++/50303
	* pt.c (tsubst_pack_expansion): Use tsubst_expr for template
	template parameters.

From-SVN: r186519
2012-04-16 22:29:27 -04:00
GCC Administrator a49870d5b2 Daily bump.
From-SVN: r186516
2012-04-17 00:18:00 +00:00
Ian Lance Taylor 2dfc736cc7 compiler: fix infinite recursion in string constant evaluation.
Fixes compilation of incorrect code:
    const f, g = g, f
    func S() []byte { return []byte(f) }

The problem was already handled for numerical constants.

Part of issue 3186 (go).

From-SVN: r186511
2012-04-16 23:05:40 +00:00
Tobias Burnus 4a1016814c [multiple changes]
2012-04-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52864
        * expr.c (gfc_check_vardef_context): Fix assignment check for
        pointer components.

2012-04-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52864
        * gfortran.dg/pointer_intent_6.f90: New.

From-SVN: r186507
2012-04-16 23:47:35 +02:00
Tobias Burnus de86e0a5d3 re PR fortran/52916 (481.wrf in SPEC CPU 2006 failed to build)
2012-04-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/52916
        * gfortran.dg/public_private_module_3.f90: Use dg-additional-sources
        to include public_private_module_4.f90.
        * gfortran.dg/public_private_module_4.f90: Skip this test on all
        targets

From-SVN: r186506
2012-04-16 23:38:49 +02:00
Richard Sandiford 6b338d0ac4 genemit.c (gen_exp): Remove ADDRESS handling.
gcc/
	* genemit.c (gen_exp): Remove ADDRESS handling.
	* genoutput.c (scan_operands): Likewise.
	* genpeep.c (match_rtx): Likewise.
	* genrecog.c (add_to_sequence): Likewise.

From-SVN: r186503
2012-04-16 18:52:05 +00:00