Commit Graph

107882 Commits

Author SHA1 Message Date
Alexander Monakov
9d40778b0c sel-sched.c (sel_region_init): Move call to sel_setup_region_sched_flags after setup_current_loop_nest.
* sel-sched.c (sel_region_init): Move call to
	sel_setup_region_sched_flags after setup_current_loop_nest.

From-SVN: r172185
2011-04-08 18:10:10 +04:00
Andrey Belevantsev
19ac78921e re PR rtl-optimization/48272 (internal compiler error: in setup_insn_reg_pressure_info, at haifa-sched.c:1124)
PR rtl-optimization/48272

        * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
        init_insn_reg_pressure_info.  Adjust a caller.
        * sched-int.h (init_insn_reg_pressure_info): Declare.
        * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
        when sched-pressure is enabled.

        * g++.dg/opt/pr48272.C: New.

From-SVN: r172183
2011-04-08 17:25:29 +04:00
Richard Guenther
0f8c63cc10 gimple.c (gimple_set_modified): Do not queue calls to MODIFIED_NORETURN_CALLS here ...
2011-04-08  Richard Guenther  <rguenther@suse.de>

	* gimple.c (gimple_set_modified): Do not queue calls to
	MODIFIED_NORETURN_CALLS here ...
	* tree-ssa-operands.c (update_stmt_operands): ... but here.

From-SVN: r172182
2011-04-08 13:22:32 +00:00
Richard Guenther
5e5a425e73 re PR lto/48467 ([LTO] Anomalous behavior of -save-temps)
2011-04-08  Richard Guenther  <rguenther@suse.de>

	PR lto/48467
	* toplev.c (lang_dependent_init): Do not open asm_out_file
	in WPA mode, nor perform debug machinery initialization.
	(finalize): Do not unlink asm_out_file in WPA mode.

From-SVN: r172181
2011-04-08 13:10:27 +00:00
Richard Guenther
9bfc434b7a gimple.h (gimple_call_fntype): New function.
2011-04-08  Richard Guenther  <rguenther@suse.de>

	* gimple.h (gimple_call_fntype): New function.
	(gimple_call_return_type): Use it.
	* expr.c (expand_expr_real_1): Use gimple_call_fntype.
	* gimple-low.c (gimple_check_call_args): Likewise.
	* gimple.c (gimple_call_flags): Likewise.
	(gimple_call_arg_flags): Likewise.
	(gimple_call_return_flags): Likewise.
	* tree-cfg.c (verify_gimple_call): Likewise.
	(do_warn_unused_result): Likewise.
	* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
	* value-prof.c (gimple_ic_transform): Fix fndecl check.

From-SVN: r172178
2011-04-08 12:19:45 +00:00
Dmitry Melnik
7c1f0b4020 re PR rtl-optimization/48235 (ICE: SIGSEGV in has_dependence_p (sel-sched-ir.c:3263) with -fselective-scheduling2 and custom flags)
PR rtl-optimization/48235
	* sel-sched.c (code_motion_process_successors): Recompute the last
	insn in basic block if control flow changed.
	(code_motion_path_driver): Ditto.  Recompute the first insn as well.
	Update condition for ilist_remove.

testsuite:
	* gcc.dg/pr48235.c: New.

From-SVN: r172177
2011-04-08 15:58:23 +04:00
Alexander Monakov
ea4d630fef re PR rtl-optimization/48302 (ICE: SIGSEGV in reposition_prologue_and_epilogue_notes (function.c:5662) with -fcrossjumping -fselective-scheduling2)
PR rtl-optimization/48302
	* sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
	* sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument.  Use
	it to record added preheader blocks.
	* sel-sched.c (setup_current_loop_nest): Add 'bbs' argument.  Pass it
	on to sel_add_loop_preheaders.
	(sel_region_init): Move call to setup_current_loop_nest after
	sel_init_bbs.

testsuite:
	* g++.dg/opt/pr48302.C: New.

From-SVN: r172176
2011-04-08 15:53:25 +04:00
Alexander Monakov
07643d76c7 re PR target/48273 (ICE: in create_copy_of_insn_rtx, at sel-sched-ir.c:5604 with -fsel-sched-pipelining -fselective-scheduling2 -march=core2)
PR target/48273
	* cfgloop.h (loop_has_exit_edges): New helper.
	* sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
	non-clonable.
	* sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
	that have no exit edges.

testsuite:
	* g++.dg/opt/pr48273.C: New.

From-SVN: r172175
2011-04-08 15:49:43 +04:00
Alexander Monakov
1f3b2b4e29 re PR rtl-optimization/48442 (ICE: in init_seqno, at sel-sched.c:6767 with -Os -fselective-scheduling2 --param max-sched-extend-regions-iters=100)
PR rtl-optimization/48442
	* sel-sched.c (init_seqno): Remove number_of_insns argument.  Update
	all callers.  Adjust assert.

testsuite:
	* gcc.dg/pr48442.c: New.

From-SVN: r172173
2011-04-08 15:44:51 +04:00
Jakub Jelinek
554f1948b9 re PR tree-optimization/48377 (miscompilation at -O3)
PR tree-optimization/48377
	* tree-vect-data-refs.c (vector_alignment_reachable_p): Set
	is_packed to true even for types with smaller TYPE_ALIGN than
	TYPE_SIZE.

	* gcc.dg/vect/pr48377.c: New test.

From-SVN: r172172
2011-04-08 13:38:19 +02:00
Richard Guenther
ddf723888e re PR bootstrap/48513 (Revision 172166 breaks bootstrap)
2011-04-08  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/48513
	* doc/tm.texi: Re-generate.

From-SVN: r172171
2011-04-08 11:28:23 +00:00
Wei Guozhi
0c27e2d89b arm-protos.h (arm_attr_length_push_multi): New prototype.
* config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
	* config/arm/arm.c (arm_attr_length_push_multi): New function.
	* config/arm/arm.md (*push_multi): Change the length computation to
	call a C function.

From-SVN: r172169
2011-04-08 09:17:42 +00:00
Anatoly Sokolov
07c5f94e82 tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
* doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
	(BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
	* doc/tm.texi: Regenerate.
	* system.h (ASM_OUTPUT_BSS): Poison.
	* varasm.c (asm_output_bss): Remove function.
	(emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
	
	* config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
	* config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
	* config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
	* config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
	Likewise.
	* config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
	Likewise.
	* config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
	Likewise.
	* config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.

From-SVN: r172166
2011-04-08 10:44:09 +04:00
Jason Merrill
f5a28e87f5 re PR c++/48500 (Regression: Failing to convert template argument to concrete type, in C++0x mode.)
PR c++/48500
	* semantics.c (potential_constant_expression_1) [CALL_EXPR]: Check
	arguments even if we don't know the function.

From-SVN: r172165
2011-04-08 02:08:31 -04:00
Jason Merrill
b06a1f50c5 re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
	* tree.c (build_overload): Allow an unwrapped FUNCTION_DECL
	at the end of the chain.
	* pt.c (dependent_template_p): Use OVL_CURRENT/NEXT.
	(iterative_hash_template_arg): Likewise.

From-SVN: r172164
2011-04-08 02:08:21 -04:00
Jason Merrill
3a2cb4d037 re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
	* cp-tree.h (OVL_ARG_DEPENDENT): New.
	* name-lookup.c (add_function): Set it.
	* semantics.c (finish_call_expr): Free OVERLOADs if it's set.

From-SVN: r172163
2011-04-08 02:08:13 -04:00
Jason Merrill
c9b558895e re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
	* call.c (build_user_type_conversion_1): Use lookup_fnfields_slot.
	Release unused vector.

From-SVN: r172162
2011-04-08 02:08:04 -04:00
Jason Merrill
6ae81785e5 re PR c++/48451 ([C++0x][SFINAE] Failures with n-ary initialization expressions (with template default argument))
PR c++/48451
	* pt.c (fn_type_unification): Don't clear incomplete pack flag.
	(type_unification_real): Clear it here instead.

From-SVN: r172159
2011-04-07 22:03:25 -04:00
GCC Administrator
ca1c6ce3ad Daily bump.
From-SVN: r172155
2011-04-08 00:18:51 +00:00
Joseph Myers
5f2c36e1e8 rx.opt (rx610, [...]): Use Enum not Name on EnumValue lines.
* config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
	EnumValue lines.

From-SVN: r172149
2011-04-07 22:48:01 +01:00
Jason Merrill
d0bb79ac89 re PR c++/48468 ([C++0x][SFINAE] noexcept operator does not handle function templates well)
PR c++/48468
	* except.c (build_noexcept_spec): Propagate error_mark_node.
	(finish_noexcept_expr): Likewise.

From-SVN: r172148
2011-04-07 17:48:00 -04:00
Jason Merrill
6dab6cf121 re PR c++/48452 ([C++0x][SFINAE] Failures with n-ary initialization expressions (in return type))
PR c++/48452
	* typeck.c (build_x_compound_expr_from_list): Return error_mark_node
	in SFINAE context.

From-SVN: r172147
2011-04-07 17:47:53 -04:00
Jason Merrill
b46c79a1f6 re PR c++/48450 ([C++0x][SFINAE] Hard errors with static_cast expressions)
PR c++/48450
	* call.c (resolve_args): Take complain.
	(build_new_function_call, build_operator_new_call): Pass it.
	(build_op_call, build_new_op, build_new_method_call): Pass it.

From-SVN: r172146
2011-04-07 17:47:45 -04:00
Jason Merrill
3f89235e9d re PR c++/48450 ([C++0x][SFINAE] Hard errors with static_cast expressions)
PR c++/48450
	* typeck.c (check_for_casting_away_constness): Take complain.
	(build_static_cast_1, build_reinterpret_cast_1): Pass it.
	(build_const_cast_1): Pass it.  Take full complain parm.
	(build_const_cast, cp_build_c_cast): Adjust.

From-SVN: r172145
2011-04-07 17:47:38 -04:00
Jason Merrill
3cf0ca233f tree.c (build_aggr_init_expr): Always return error_mark_node on abstract violation.
* tree.c (build_aggr_init_expr): Always return error_mark_node
	on abstract violation.

From-SVN: r172144
2011-04-07 17:47:31 -04:00
Jason Merrill
362115a912 re PR c++/48450 ([C++0x][SFINAE] Hard errors with static_cast expressions)
PR c++/48450
	* tree.c (build_cplus_new, build_aggr_init_expr): Take complain.
	(bot_manip): Adjust.
	* cp-tree.h: Adjust.
	* call.c (convert_like_real, build_cxx_call): Adjust.
	(perform_direct_initialization_if_possible): Adjust.
	* cvt.c (ocp_convert): Adjust.
	* init.c (build_value_init): Adjust.
	* semantics.c (maybe_add_lambda_conv_op): Adjust.
	* typeck.c (unary_complex_lvalue, cp_build_modify_expr): Adjust.
	* typeck2.c (build_functional_cast): Adjust.

From-SVN: r172143
2011-04-07 17:47:24 -04:00
Jason Merrill
351ccf209e init.c (build_value_init_noctor): Handle REFERENCE_TYPE at top level.
* init.c (build_value_init_noctor): Handle REFERENCE_TYPE at top
	level.
	(perform_member_init): Not here.
	* typeck2.c (build_functional_cast): Limit REFERENCE_TYPE special
	case to templates.
	(abstract_virtuals_error_sfinae): Remove RESULT_DECL special case.

From-SVN: r172142
2011-04-07 17:47:17 -04:00
Jason Merrill
2b8497cd7a re PR c++/48449 ([C++0x][SFINAE] Hard errors during value-initialization expressions)
PR c++/48449
	* typeck2.c (build_functional_cast): Check complain consistently.
	Use build_value_init and abstract_virtuals_error_sfinae.
	(abstract_virtuals_error_sfinae): Split out.
	* cp-tree.h: Declare it.
	* init.c (build_new_1): Use it.
	(build_value_init_noctor): Handle FUNCTION_TYPE.

From-SVN: r172141
2011-04-07 17:47:10 -04:00
Jason Merrill
6cdb14286d semantics.c (finish_decltype_type): Simplify handling of unknown type.
* semantics.c (finish_decltype_type): Simplify handling of unknown
	type.

From-SVN: r172140
2011-04-07 17:47:03 -04:00
Jason Merrill
5b97c77f8c semantics.c (finish_decltype_type): Add complain parm.
* semantics.c (finish_decltype_type): Add complain parm.
	* cp-tree.h: Adjust.
	* parser.c (cp_parser_decltype): Adjust.
	* pt.c (tsubst): Adjust.

From-SVN: r172139
2011-04-07 17:46:57 -04:00
Jason Merrill
1ee44b260d re PR c++/48450 ([C++0x][SFINAE] Hard errors with static_cast expressions)
PR c++/48450
	* c-family/c-common.c (c_common_truthvalue_conversion): Don't ignore
	conversion from C++0x scoped enum.
	* cp/cvt.c (ocp_convert): Handle converting scoped enum to bool.

From-SVN: r172138
2011-04-07 17:46:48 -04:00
Joseph Myers
39e7722bbf m68k.c (m68k_handle_option): Don't handle OPT_m68000...
* config/m68k/m68k.c (m68k_handle_option): Don't handle
	OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
	OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
	OPT_mcpu32.
	* config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
	handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
	-m68030, -m68040, -m68060, -mcpu32 and -m68332.
	* config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
	m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
	* config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
	(MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
	(MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
	options.  Don't map other m68k options manually.  Don't handle
	old-style options as canonical.
	(MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
	* doc/install.texi (m68k-*-*): Document binutils version
	requirement.

From-SVN: r172130
2011-04-07 22:25:55 +01:00
Eric Botcazou
cf103ca449 basic-block.h (force_nonfallthru): Move to...
* basic-block.h (force_nonfallthru): Move to...
	* cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
	(force_nonfallthru): ...here.
	* cfghooks.c (force_nonfallthru): New function.
	* cfgrtl.c (force_nonfallthru): Rename into...
	(rtl_force_nonfallthru): ...this.
	(commit_one_edge_insertion): Do not set AUX field.
	(commit_edge_insertions): Do not discover new basic blocks.
	(rtl_cfg_hooks): Add rtl_force_nonfallthru.
	(cfg_layout_rtl_cfg_hooks): Likewise.
	* function.c (thread_prologue_and_epilogue_insns): Remove bogus
	ATTRIBUTE_UNUSED.  Discover new basic blocks in the prologue insns.
	* tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.

From-SVN: r172128
2011-04-07 21:11:51 +00:00
Mike Stump
df9292840d non-local-goto-5.c: Fix for targets with no trampolines.
* gcc.dg/torture/stackalign/non-local-goto-5.c: Fix for targets
	with no trampolines.

From-SVN: r172127
2011-04-07 20:55:01 +00:00
Anatoly Sokolov
14431f58e4 mips.h (REG_MODE_OK_FOR_BASE_P, [...]): Remove macros.
* config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
	Remove macros.

From-SVN: r172125
2011-04-07 23:58:24 +04:00
Uros Bizjak
3729983c93 sse.md: Update copyright year.
* config/i386/sse.md: Update copyright year.
	(avxcvtvecmode): Remove.
	(sse_movhlps): Merge with *avx_movhlps.
	(sse_movlhps): Merge with *avx_movlhps.
	(vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
	(vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
	(sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
	(sse_loadhps): Merge with *avx_loadhps.
	(sse_storelps): Merge with *avx_storelps.
	(sse_loadlps): Merge with *avx_loadlps.
	(sse_movss): Merge with *avx_movss.
	(*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
	(*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
	(*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
	(*vec_set<mode>_0_sse2): Split multi-unit alternative.
	(vec_set<mode>_0): Ditto.
	(*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
	(sse4_1_insertps): Merge with *avx_insertps.
	(*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
	(*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
	(vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
	(sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
	(sse2_storehpd): Merge with *avx_storehpd.
	(sse2_loadhpd): Merge with *avx_loadhpd.
	(sse2_loadlpd): Merge with *avx_loadlpd.
	(sse2_movsd): Merge with *avx_movsd.
	(*vec_concatv2df): Merge with *vec_concatv2df.

From-SVN: r172123
2011-04-07 20:47:16 +02:00
Jakub Jelinek
c714e2423e re PR fortran/48117 (ICE: OpenMP; in build_int_cst_wide, at tree.c:1178)
PR fortran/48117
	* gfortran.dg/gomp/pr48117.f90: New test.

From-SVN: r172119
2011-04-07 20:31:43 +02:00
Jakub Jelinek
54f16bf8f3 re PR debug/48343 (ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338)
PR debug/48343
	* combine.c (combine_instructions): Add last_combined_insn,
	update it if insn is after it, pass it to all try_combine
	calls.
	(try_combine): Add last_combined_insn parameter, pass it instead of
	i3 to propagate_for_debug.

	* gcc.dg/torture/pr48343.c: New test.

From-SVN: r172109
2011-04-07 19:58:05 +02:00
Jakub Jelinek
4e626909c7 re PR debug/48343 (ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338)
PR debug/48343
	* combine.c (combine_instructions): Add last_combined_insn,
	update it if insn is after it, pass it to all try_combine
	calls.
	(try_combine): Add last_combined_insn parameter, pass it instead of
	i3 to propagate_for_debug.

	* gcc.dg/torture/pr48343.c: New test.

From-SVN: r172108
2011-04-07 19:57:26 +02:00
Rainer Orth
2e3597fef8 * gcc.target/i386/asm-6.c: Remove dg-xfail-if.
From-SVN: r172107
2011-04-07 17:11:30 +00:00
Ian Lance Taylor
405ca10418 libgo: Update to current Go library.
From-SVN: r172106
2011-04-07 17:09:10 +00:00
Joseph Myers
a751005d50 * de.po: Update.
From-SVN: r172103
2011-04-07 17:30:42 +01:00
Eric Botcazou
f15b8bdf44 Fix typos
From-SVN: r172102
2011-04-07 16:07:44 +00:00
Maxim Kuvyrkov
5fc1ae9931 * gcc.dg/lto/20090210_0.c: Require tls_runtime target.
From-SVN: r172101
2011-04-07 14:53:50 +00:00
Nick Clifton
5a10b0a943 mn10300.md (movqi_internal): Add alternatives to handle MDR <-> data register transfers.
* config/mn10300/mn10300.md (movqi_internal): Add alternatives
	to handle MDR <-> data register transfers.
	(movhi_internal): Likewise.

From-SVN: r172099
2011-04-07 14:02:37 +00:00
Alan Modra
20c033673b rs6000.c (rs6000_stack_info): Don't compare against previous stack info.
* config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
	previous stack info.

From-SVN: r172096
2011-04-07 20:47:05 +09:30
Stuart Henderson
8072c46058 MAINTAINERS (Write After Approval): Add myself.
2011-04-07  Stuart Henderson  <shenders@gcc.gnu.org>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r172095
2011-04-07 11:09:02 +00:00
Tom de Vries
bf22920b4a re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-07  Tom de Vries  <tom@codesourcery.com>

	PR target/43920
	* cfgcleanup.c (try_crossjump_to_edge): Add dir parameter.  Pass dir to
	flow_find_cross_jump.  Swap variables to implement backward replacement.
	(try_crossjump_bb): Add argument to try_crossjump_to_edge.

From-SVN: r172094
2011-04-07 09:48:39 +00:00
Tom de Vries
c7a69ce198 re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-07  Tom de Vries  <tom@codesourcery.com>

	PR target/43920
	* lib/scanasm.exp (object-size): New proc.
	* gcc.target/arm/pr43920-2.c: New test.

From-SVN: r172093
2011-04-07 09:28:11 +00:00
Tom de Vries
823918aef3 re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-07  Tom de Vries  <tom@codesourcery.com>

	PR target/43920
	* cfgcleanup.c (walk_to_nondebug_insn): New function.
	(flow_find_cross_jump): Use walk_to_nondebug_insn.  Recalculate bb1 and
	bb2.
	(try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not src1
	or src2.  Redirect edges to the last basic block.  Update frequency and
	count on multiple basic blocks in case of fallthru.

From-SVN: r172091
2011-04-07 08:35:23 +00:00