Georg-Johann Lay [Fri, 8 Apr 2011 23:17:52 +0000 (23:17 +0000)]
sibcall-3.c: Don't xfail on AVR.
2011-04-08 Georg-Johann Lay <avr@gjlay.de>
* gcc.dg/sibcall-3.c: Don't xfail on AVR.
* gcc.dg/sibcall-4.c: Don't xfail on AVR.
From-SVN: r172217
Eric Botcazou [Fri, 8 Apr 2011 22:31:22 +0000 (22:31 +0000)]
combine.c (combine_validate_cost): Adjust comments.
* combine.c (combine_validate_cost): Adjust comments. Set registered
cost of I0 to zero at the end, if any.
From-SVN: r172216
Thomas Koenig [Fri, 8 Apr 2011 21:46:08 +0000 (21:46 +0000)]
re PR fortran/48448 (Implement -f(no-)frontend-optimization)
2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48448
* gfortran.h (gfc_option_t): Add warn_function_elimination and
flag_frontend_optimize.
* lang.opt (Wfunction-elimination): Add.
(ffrontend-optimize): Add.
* invoke.texi: Add documentation for -Wfunction-elimination
and -ffrontend-optimize. Add -faggressive-function-elimination
to list of code generation options.
* frontend-passes.c (gfc_run_passes): Run optimizations if
flag_frontend_optimize is set.
(warn_function_elimination): New function.
(cfe_expr_0): Call it if requested to do so.
* options.c (gfc_init_options): Initiate warn_function_elimination
and flag_frontend_optimize.
(gfc_post_options): Set flag_frontend_optimize if not specified
by user, depending on the optimization level.
(gfc_handle_option): Handle -Wfunction-elimination and
-ffrontend-optimize.
2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48448
* gfortran.dg/function_optimize_5.f90: New test.
From-SVN: r172215
Xinliang David Li [Fri, 8 Apr 2011 21:03:12 +0000 (21:03 +0000)]
FDO insane profile
From-SVN: r172213
Xinliang David Li [Fri, 8 Apr 2011 21:01:08 +0000 (21:01 +0000)]
-dA enhancement
From-SVN: r172212
Steven G. Kargl [Fri, 8 Apr 2011 20:57:44 +0000 (20:57 +0000)]
re PR target/47829 (no .eh_frame_hdr table will be created.)
2011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR 47829
gcc/config.gcc: disable unwind table generation for crtbegin/crtend
on i386-*-freebsd.
From-SVN: r172211
Eric Botcazou [Fri, 8 Apr 2011 20:30:14 +0000 (20:30 +0000)]
decl.c (gnat_to_gnu_entity): Set minimum alignment on fields of the RETURN type built for the Copy-In...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
alignment on fields of the RETURN type built for the Copy-In Copy-Out
mechanism.
From-SVN: r172210
Eric Botcazou [Fri, 8 Apr 2011 20:21:36 +0000 (20:21 +0000)]
trans.c (Identifier_to_gnu): Do not return initializers of aggregate types that contain a placeholder.
* gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
of aggregate types that contain a placeholder.
From-SVN: r172209
Michael Matz [Fri, 8 Apr 2011 20:18:08 +0000 (20:18 +0000)]
re PR rtl-optimization/48389 (ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro)
PR middle-end/48389
* jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
functions.
(rebuild_jump_labels): Call rebuild_jump_labels_1.
* rtl.h (rebuild_jump_labels_chain): Declare.
* cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
insns inserted on edges.
testsuite/
* gcc.target/i386/pr48389.c: New test.
From-SVN: r172208
Joseph Myers [Fri, 8 Apr 2011 19:39:48 +0000 (20:39 +0100)]
gcc_update (gcc/config/arm/arm-tables.opt): New dependencies.
contrib:
* gcc_update (gcc/config/arm/arm-tables.opt): New dependencies.
gcc:
* config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
* config/arm/arm-arches.def: New.
* config/arm/arm-opts.h: New.
* config/arm/genopt.sh: New.
* config/arm/arm-tables.opt: New (generated).
* config/arm/arm.c (arm_handle_option, arm_target_help,
TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
(all_architectures): Get most table contents from arm-arches.def.
(arm_option_override): Set arm_selected_arch, arm_selected_cpu and
arm_selected_tune here.
* config/arm/arm.h (enum processor_type): Move to arm-opts.h.
* config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
(march=, mcpu=, mtune=): Use Enum and Var.
* config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
(arm.o): Update dependencies.
From-SVN: r172205
Basile Starynkevitch [Fri, 8 Apr 2011 17:52:25 +0000 (17:52 +0000)]
gengtype.c (write_typed_alloc_def): New argument f.
2011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
* gengtype.c (write_typed_alloc_def): New argument f. Use it instead
of header_file.
(write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
(write_typed_alloc_defns): Likewise.
(main): Calls write_typed_alloc_defns with output_header.
From-SVN: r172203
Vladimir Makarov [Fri, 8 Apr 2011 17:48:23 +0000 (17:48 +0000)]
Fix PR # 48435 instead of 4435
From-SVN: r172202
Vladimir Makarov [Fri, 8 Apr 2011 17:17:50 +0000 (17:17 +0000)]
re PR libstdc++/4435 (Object file has undefined basic_string symbol as local.)
2011-04-08 Vladimir Makarov <vmakarov@redhat.com>
PR 4435
* ira-color.c (setup_profitable_hard_regs): Add comments.
Don't take prohibited hard regs into account.
(setup_conflict_profitable_regs): Rename to
get_conflict_profitable_regs.
(check_hard_reg_p): Check prohibited hard regs.
From-SVN: r172201
Nathan Froyd [Fri, 8 Apr 2011 17:05:23 +0000 (17:05 +0000)]
utils.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES
gcc/ada/
* gcc-interface/utils.c (handle_sentinel_attribute): Don't use
TYPE_ARG_TYPES
(handle_type_generic_attribute): Likewise.
gcc/c-family/
* c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
(handle_type_generic_attribute): Likewise.
gcc/lto/
* lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
(handle_type_generic_attribute): Likewise.
From-SVN: r172200
Nathan Froyd [Fri, 8 Apr 2011 16:48:52 +0000 (16:48 +0000)]
alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
* config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
* config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
From-SVN: r172199
John David Anglin [Fri, 8 Apr 2011 16:21:39 +0000 (16:21 +0000)]
re PR target/48366 (ICE in extract_constrain_insn_cached, at recog.c:2024)
PR target/48366
* config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
move from floating point to shift amount register .
(emit_move_sequence): Remove secondary reload support for floating
point to shift amount amount register copies.
(pa_secondary_reload): Return GENERAL_REGS for floating point/shift
amount register copies.
* config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
register, return false if mode isn't a scalar integer mode.
* config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
From-SVN: r172197
Kai Tietz [Fri, 8 Apr 2011 16:12:14 +0000 (18:12 +0200)]
Missed part of regenerated file.
From-SVN: r172196
Richard Guenther [Fri, 8 Apr 2011 14:36:14 +0000 (14:36 +0000)]
gimple.c (gimple_call_flags): Remove kludge.
2011-04-08 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_call_flags): Remove kludge.
From-SVN: r172190
Joseph Myers [Fri, 8 Apr 2011 14:29:33 +0000 (15:29 +0100)]
* de.po: Update.
From-SVN: r172187
Kai Tietz [Fri, 8 Apr 2011 14:16:38 +0000 (16:16 +0200)]
configure.ac (libgcj_ld_export_all): Set for windows native targets to export-all-symbols.
2011-04-08 Kai Tietz <ktietz@redhat.com>
* configure.ac (libgcj_ld_export_all): Set for windows
native targets to export-all-symbols.
(LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all.
* Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_ALL.
* sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows
native targets to DllMain.
* gcj/javaprims.h (JNICALL): Define it dependent
for different windows targets.
* include/jni_md.h: Likewise.
* headers.txt (_Jv_JNI_ToReflectedField): Mark
JNICALLS for friends.
(_Jv_JNI_ToReflectedMethod): Likewise.
* java/lang/Class.h: Regenerated.
* java/lang/reflect/Field.h: Regenerated.
* java/lang/reflect/Constructor.h: Regenerated.
* java/lang/reflect/Method.h: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
From-SVN: r172186
Alexander Monakov [Fri, 8 Apr 2011 14:10:10 +0000 (18:10 +0400)]
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
Andrey Belevantsev [Fri, 8 Apr 2011 13:25:29 +0000 (17:25 +0400)]
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
Richard Guenther [Fri, 8 Apr 2011 13:22:32 +0000 (13:22 +0000)]
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
Richard Guenther [Fri, 8 Apr 2011 13:10:27 +0000 (13:10 +0000)]
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
Richard Guenther [Fri, 8 Apr 2011 12:19:45 +0000 (12:19 +0000)]
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
Dmitry Melnik [Fri, 8 Apr 2011 11:58:23 +0000 (11:58 +0000)]
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
Alexander Monakov [Fri, 8 Apr 2011 11:53:25 +0000 (15:53 +0400)]
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
Alexander Monakov [Fri, 8 Apr 2011 11:49:43 +0000 (15:49 +0400)]
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
Alexander Monakov [Fri, 8 Apr 2011 11:44:51 +0000 (15:44 +0400)]
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
Jakub Jelinek [Fri, 8 Apr 2011 11:38:19 +0000 (13:38 +0200)]
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
Richard Guenther [Fri, 8 Apr 2011 11:28:23 +0000 (11:28 +0000)]
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
Wei Guozhi [Fri, 8 Apr 2011 09:17:42 +0000 (09:17 +0000)]
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
Anatoly Sokolov [Fri, 8 Apr 2011 06:44:09 +0000 (10:44 +0400)]
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
Jason Merrill [Fri, 8 Apr 2011 06:08:31 +0000 (02:08 -0400)]
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
Jason Merrill [Fri, 8 Apr 2011 06:08:21 +0000 (02:08 -0400)]
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
Jason Merrill [Fri, 8 Apr 2011 06:08:13 +0000 (02:08 -0400)]
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
Jason Merrill [Fri, 8 Apr 2011 06:08:04 +0000 (02:08 -0400)]
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
Jason Merrill [Fri, 8 Apr 2011 02:03:25 +0000 (22:03 -0400)]
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
GCC Administrator [Fri, 8 Apr 2011 00:18:51 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172155
Joseph Myers [Thu, 7 Apr 2011 21:48:01 +0000 (22:48 +0100)]
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
Jason Merrill [Thu, 7 Apr 2011 21:48:00 +0000 (17:48 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:47:53 +0000 (17:47 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:47:45 +0000 (17:47 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:47:38 +0000 (17:47 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:47:31 +0000 (17:47 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:47:24 +0000 (17:47 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:47:17 +0000 (17:47 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:47:10 +0000 (17:47 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:47:03 +0000 (17:47 -0400)]
semantics.c (finish_decltype_type): Simplify handling of unknown type.
* semantics.c (finish_decltype_type): Simplify handling of unknown
type.
From-SVN: r172140
Jason Merrill [Thu, 7 Apr 2011 21:46:57 +0000 (17:46 -0400)]
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
Jason Merrill [Thu, 7 Apr 2011 21:46:48 +0000 (17:46 -0400)]
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
Joseph Myers [Thu, 7 Apr 2011 21:25:55 +0000 (22:25 +0100)]
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
Eric Botcazou [Thu, 7 Apr 2011 21:11:51 +0000 (21:11 +0000)]
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
Mike Stump [Thu, 7 Apr 2011 20:55:01 +0000 (20:55 +0000)]
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
Anatoly Sokolov [Thu, 7 Apr 2011 19:58:24 +0000 (23:58 +0400)]
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
Uros Bizjak [Thu, 7 Apr 2011 18:47:16 +0000 (20:47 +0200)]
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
Jakub Jelinek [Thu, 7 Apr 2011 18:31:43 +0000 (20:31 +0200)]
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
Jakub Jelinek [Thu, 7 Apr 2011 17:58:05 +0000 (19:58 +0200)]
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
Jakub Jelinek [Thu, 7 Apr 2011 17:57:26 +0000 (19:57 +0200)]
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
Rainer Orth [Thu, 7 Apr 2011 17:11:30 +0000 (17:11 +0000)]
* gcc.target/i386/asm-6.c: Remove dg-xfail-if.
From-SVN: r172107
Ian Lance Taylor [Thu, 7 Apr 2011 17:09:10 +0000 (17:09 +0000)]
libgo: Update to current Go library.
From-SVN: r172106
Joseph Myers [Thu, 7 Apr 2011 16:30:42 +0000 (17:30 +0100)]
* de.po: Update.
From-SVN: r172103
Eric Botcazou [Thu, 7 Apr 2011 16:07:44 +0000 (16:07 +0000)]
Fix typos
From-SVN: r172102
Maxim Kuvyrkov [Thu, 7 Apr 2011 14:53:50 +0000 (14:53 +0000)]
* gcc.dg/lto/20090210_0.c: Require tls_runtime target.
From-SVN: r172101
Nick Clifton [Thu, 7 Apr 2011 14:02:37 +0000 (14:02 +0000)]
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
Alan Modra [Thu, 7 Apr 2011 11:17:05 +0000 (20:47 +0930)]
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
Stuart Henderson [Thu, 7 Apr 2011 11:09:02 +0000 (11:09 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2011-04-07 Stuart Henderson <shenders@gcc.gnu.org>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r172095
Tom de Vries [Thu, 7 Apr 2011 09:48:39 +0000 (09:48 +0000)]
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
Tom de Vries [Thu, 7 Apr 2011 09:28:11 +0000 (09:28 +0000)]
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
Tom de Vries [Thu, 7 Apr 2011 08:35:23 +0000 (08:35 +0000)]
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
Tom de Vries [Thu, 7 Apr 2011 08:10:34 +0000 (08:10 +0000)]
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 (equal_different_set_p, can_replace_by, merge_dir): New
function.
(old_insns_match_p): Change return type. Replace return false/true with
return dir_none/dir_both. Use can_replace_by.
(flow_find_cross_jump): Add dir_p parameter. Init replacement direction
from dir_p. Register replacement direction in dir, last_dir and
afterlast_dir. Handle new return type of old_insns_match_p using
merge_dir. Return replacement direction in dir_p.
(flow_find_head_matching_sequence, outgoing_edges_match): Handle new
return type of old_insns_match_p.
(try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
* ifcvt.c ( cond_exec_process_if_block): Add argument to call to
flow_find_cross_jump.
* basic-block.h (enum replace_direction): New type.
(flow_find_cross_jump): Add parameter to declaration.
From-SVN: r172090
Jeffrey Yasskin [Thu, 7 Apr 2011 04:11:12 +0000 (04:11 +0000)]
In C++0x mode, import iota and is_sorted from namespace std into namespace __gnu_cxx to avoid ambiguous call errors.
In C++0x mode, import iota and is_sorted from namespace std into
namespace __gnu_cxx to avoid ambiguous call errors. copy_n would be a
good candidate for this too, except it was standardized with a
different return type.
Tested:
`make -k check-c++` on x86_64-unknown-linux-gnu.
libstdc++-v3/ChangeLog:
2011-04-06 Jeffrey Yasskin <jyasskin@google.com>
* include/ext/algorithm (is_sorted): In C++0x mode import from
namespace std.
* include/ext/numeric (iota): In C++0x mode import from
namespace std.
* testsuite/ext/is_sorted/cxx0x.cc: New.
* testsuite/ext/iota/cxx0x.cc: New.
From-SVN: r172073
GCC Administrator [Thu, 7 Apr 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172072
Ian Lance Taylor [Wed, 6 Apr 2011 23:07:13 +0000 (23:07 +0000)]
Use backend interface for constant switch statements.
* go-gcc.cc (if_statement): Use build3_loc.
(Gcc_backend::switch_statement): New function.
(Gcc_backend::statement_list): New function.
From-SVN: r172066
Tobias Burnus [Wed, 6 Apr 2011 18:32:27 +0000 (20:32 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-06 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
PR fortran/48477
* gfortran.dg/coarray_13.f90: Avoid out-of-bounds access.
From-SVN: r172061
Tobias Burnus [Wed, 6 Apr 2011 18:30:58 +0000 (20:30 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-06 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
call for this_image.
From-SVN: r172060
Tobias Burnus [Wed, 6 Apr 2011 18:29:55 +0000 (20:29 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-06 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
Add global variable caf_mpi_initialized and use it for when
finalizing.
From-SVN: r172059
Uros Bizjak [Wed, 6 Apr 2011 17:39:27 +0000 (19:39 +0200)]
sse.md (AVXMODEDCVTDQ2PS): Remove.
* config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
(AVXMODEDCVTPS2DQ): Ditto.
(VEC_FLOAT_MODE): Ditto.
(<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
(<any_logic:code><mode>3): Use VF mode iterator.
(*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
Use VF mode iterator.
(copysign<mode>3): Use VF mode iterator.
(*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
(*<any_logic:code><MODEF:mode>3): Merge with
*avx_<any_logic:code><MODEF:mode>3.
(sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
(sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
(avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
(avx_cvtdq2ps<avxmodesuffix>): Remove.
(sse2_cvtdq2ps): Use %v modifier.
(avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
(avx_cvtps2dq<avxmodesuffix>): Remove.
(sse2_cvtps2dq): Use %v modifier.
(avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
(avx_cvttps2dq<avxmodesuffix>): Remove.
(sse2_cvttps2dq): Use %v modifier.
(sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
(sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
(sse2_cvtsd2siq): Fix insn template.
(sse2_cvtsd2siq_2): Ditto.
(sse2_cvttsd2siq): Ditto.
(sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
(sse2_cvtss2sd): Merge with *avx_cvtss2sd.
From-SVN: r172058
Steve Ellcey [Wed, 6 Apr 2011 16:15:28 +0000 (16:15 +0000)]
mtune.c: Prune note from output.
2011-04-06 Steve Ellcey <sje@cup.hp.com>
* gcc.dg/mtune.c: Prune note from output.
From-SVN: r172056
Joseph Myers [Wed, 6 Apr 2011 16:04:18 +0000 (17:04 +0100)]
* gcov-io.c: Use GCC Runtime Library Exception.
From-SVN: r172053
Ian Lance Taylor [Wed, 6 Apr 2011 15:46:53 +0000 (15:46 +0000)]
Use backend interface for if statements.
Rename some temporary conversion functions to shorter names.
* go-gcc.cc (Gcc_backend::if_statement): New function.
(tree_to_stat): New function.
(expr_to_tree): Renamed from expression_to_tree.
(stat_to_tree): Renamed from statement_to_tree.
From-SVN: r172052
Ian Lance Taylor [Wed, 6 Apr 2011 15:30:20 +0000 (15:30 +0000)]
Use backend interface for expression statements.
* go-gcc.cc (Gcc_backend::expression_statement): New function.
From-SVN: r172051
Rainer Orth [Wed, 6 Apr 2011 15:23:33 +0000 (15:23 +0000)]
re PR testsuite/48480 (FAIL: staticrootslib.lo -O2 (test for excess errors))
PR testsuite/48480
* testsuite/lib/boehm-gc.exp (boehm-gc-dg-prune): Allow for path
to ranlib.
From-SVN: r172050
Joseph Myers [Wed, 6 Apr 2011 12:18:12 +0000 (13:18 +0100)]
configure.ac (build_tools): Remove build-byacc.
* configure.ac (build_tools): Remove build-byacc.
(host_libs): Remove mmalloc.
(host_tools): Remove byacc make patch prms send-pr ash bash bzip2
autoconf automake libtool diff rcs fileutils shellutils time
textutils wdiff find uudecode hello tar gzip indent recode release
sed perl gawk findutils gettext zip.
(libgcj): Remove target-qthreads.
(target_tools): Remove target-examples target-gperf.
(YACC): Don't handle building byacc.
* configure: Regenerate.
* Makefile.def (ash, autoconf, automake, bash, byacc, bzip2, diff,
dosutils, examples, fileutils, find, findutils, gawk, gettext,
gnuserv, gperf, gzip, hello, indent, libtool, make, mmalloc,
patch, perl, prms, qthreads, rcs, recode, release, sed, send-pr,
shellutils, tar, textutils, time, uudecode, wdiff, zip): Don't
handle building components.
* Makefile.in: Regenerate.
From-SVN: r172042
Jakub Jelinek [Wed, 6 Apr 2011 11:49:59 +0000 (13:49 +0200)]
re PR debug/48466 (Wrong variable locations at -O0 on i686)
PR debug/48466
* dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
as base_reg whatever register reg has been eliminated to, instead
of hardcoding STACK_POINTER_REGNUM.
* gcc.dg/guality/pr36977.c: New test.
* gcc.dg/guality/pr48466.c: New test.
From-SVN: r172039
Joseph Myers [Wed, 6 Apr 2011 11:08:17 +0000 (12:08 +0100)]
tm.texi.in: Document C target hooks as separate from general target hooks.
* doc/tm.texi.in: Document C target hooks as separate from general
target hooks.
* doc/tm.texi: Regenerate.
* genhooks.c (struct hook_desc): Add docname field.
(HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
docname field.
(hook_array): Include c-target.def.
(emit_documentation): Use docname field in output.
(emit_init_macros): Take docname argument. Only emit definitions
for hooks matching docname.
(main): Expect additional arguments in all cases. Pass argument
to emit_init_macros.
* target.def: Move initial macro definitions and comments to
target-hooks-macros.h.
(gcc_targetcm): Move to c-family/c-target.def.
* target.h (targetcm): Move declaration to c-family/c-target.h.
* targhooks.c (default_handle_c_option): Move to
c-family/c-opts.c.
* targhooks.h (default_handle_c_option): Move declaration to
c-family/c-common.h.
* target-hooks-macros.h: New file.
* config.gcc (target_has_targetcm): Define and use to add to
c_target_objs and cxx_target_objs.
* config/default-c.c: New file.
* config/darwin-c.c: Include c-target.h and c-target-def.h instead
of target.h and target-def.h.
(TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
(darwin_objc_construct_string, darwin_cfstring_ref_p,
darwin_check_cfstring_format_arg): Make static.
(TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
TARGET_STRING_OBJECT_REF_TYPE_P,
TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
* config/darwin-protos.h (darwin_objc_construct_string,
darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
declare.
* config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
TARGET_STRING_OBJECT_REF_TYPE_P,
TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM):
Remove.
* config/t-darwin (darwin-c.o): Update dependencies.
* system.h (TARGET_HAS_TARGETCM): Poison.
* Makefile.in (TARGET_H): Update.
(TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
(c-family/c-format.o, c-family/c-opts.o): Update dependencies.
(default-c.o): New target.
(s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
(c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New
targets.
(s-tm-texi): Pass -d option to genhooks. Also test timestamp on
c-target.def.
(build/genhooks.o): Update dependencies.
c-family:
* c-target-def.h: New file.
* c-target.def: New file.
* c-target.h: New file.
* c-common.c (targetcm): Don't define here.
* c-common.h (default_handle_c_option): Declare.
* c-format.c: Include c-target.h instead of target.h.
* c-opts.c: Include c-target.h instead of target.h. Explicitly
include tm.h.
(default_handle_c_option): Move from targhooks.c.
objc:
* objc-act.c: Include c-target.h instead of target.h.
* Make-lang.in (objc/objc-act.o): Update dependencies.
From-SVN: r172035
Richard Guenther [Wed, 6 Apr 2011 10:16:30 +0000 (10:16 +0000)]
ipa-inline.c (enum inlining_mode): Remove.
2011-04-06 Richard Guenther <rguenther@suse.de>
* ipa-inline.c (enum inlining_mode): Remove.
(cgraph_flatten): Use some other token.
(cgraph_edge_early_inlinable_p): New function, split out from ...
(cgraph_perform_always_inlining): New function, split out from ...
(cgraph_decide_inlining_incrementally): ... here.
(cgraph_mark_inline_edge): Adjust.
(cgraph_early_inlining): Re-structure.
(pass_early_inline): Require SSA form.
From-SVN: r172033
Andrew Stubbs [Wed, 6 Apr 2011 09:52:52 +0000 (09:52 +0000)]
arm.h (arm_class_likely_spilled_p): Check against LO_REGS only for Thumb-1.
2011-03-06 Andrew Stubbs <ams@codesourcery.com>
Julian Brown <julian@codesourcery.com>
Mark Shinwell <shinwell@codesourcery.com>
gcc/
* config/arm/arm.h (arm_class_likely_spilled_p): Check against
LO_REGS only for Thumb-1.
(MODE_BASE_REG_CLASS): Restrict base registers to those which can
be used in short instructions when optimising for size on Thumb-2.
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
From-SVN: r172032
Ramana Radhakrishnan [Wed, 6 Apr 2011 09:41:07 +0000 (09:41 +0000)]
Fix commit for PR target/43920
From-SVN: r172031
Eric Botcazou [Wed, 6 Apr 2011 09:34:02 +0000 (09:34 +0000)]
gimple-low.c (lower_gimple_return): When not optimizing, force labels associated with user returns to be preserved.
* gimple-low.c (lower_gimple_return): When not optimizing, force labels
associated with user returns to be preserved.
From-SVN: r172030
Tristan Gingold [Wed, 6 Apr 2011 09:29:53 +0000 (09:29 +0000)]
dbxout.c: (debug_nesting...
2011-04-06 Tristan Gingold <gingold@adacore.com>
* dbxout.c: (debug_nesting, symbol_queue, symbol_queue_index)
(symbol_queue_size, DBXOUT_DECR_NESTING)
(DBXOUT_DECR_NESTING_AND_RETURN): Also define
if XCOFF_DEBUGGING_INFO.
From-SVN: r172029
Uros Bizjak [Wed, 6 Apr 2011 09:24:46 +0000 (11:24 +0200)]
i386.md (attribute isa): New.
* config/i386/i386.md (attribute isa): New.
(attribute enabled): New.
(setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
(*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
(*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
(*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
(*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
(<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
(*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
(*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
* config/i386/sse.md (VF): New mode iterator.
(VF1): Ditto.
(VF2): Ditto.
(VF_128): Ditto.
(SSEMODEF4): Remove.
(attribute sse): Handle V8SF and V4DF modes.
(<absneg:code><mode>2): Use VF mode iterator.
(*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
mode iterator.
(<plusminus_insn><mode>3): Use VF mode iterator.
(*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
Use VF mode iterator.
(<sse>_vm<plusminus_insn><mode>3): Merge with
*avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
(mul<mode>3): Use VF mode iterator.
(*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
(<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
mode iterator.
(div<VF2:mode>3): Merge from divv2df3 and divv4df3.
(div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
(<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
(<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
mode iterator.
(<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
Use VF1 mode iterator.
(sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
(sqrt<VF2:mode>2): New expander.
(sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
(<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
and sqrtv2df2. Use VF mode iterator.
(<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
mode iterator.
(rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
(<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
Use VF1 mode iterator.
(sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
(<smaxmin:code><mode>3): Use VF mode iterator.
(*<smaxmin:code><mode>3_finite): Merge with
*avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
(*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
(<sse>_vm<smaxmin:code><mode>2): Merge with
*avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
(*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
mode iterator.
(*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
mode iterator.
(sse3_addsubv2df3): Merge with *avx_addsubv2df3.
(sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
(sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
(sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
(avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
VF mode iterator.
(avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
Use VF_128 mode iterator.
(<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
mode iterator.
(<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
VF_128 mode iterator.
(vcond<mode>): Use VF mode iterator.
* config/i386/predicates.md (sse_comparison_operator): Merge with
avx_comparison_float_operator. Do not declare as special_predicate.
* config/i386/i386.c (struct builtin_description): Update for renamed
compare patterns.
(ix86_expand_args_builtin): Ditto.
(ix86_expand_sse_compare_mask): Ditto.
From-SVN: r172028
Richard Guenther [Wed, 6 Apr 2011 08:56:28 +0000 (08:56 +0000)]
tree-inline.c (estimate_num_insns): For calls simply account for all passed arguments and a used return value.
2011-04-06 Richard Guenther <rguenther@suse.de>
* tree-inline.c (estimate_num_insns): For calls simply account
for all passed arguments and a used return value.
From-SVN: r172024
Richard Guenther [Wed, 6 Apr 2011 08:51:23 +0000 (08:51 +0000)]
re PR middle-end/47663 (Very simple wrapper not inlined)
2011-04-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47663
* cgraph.h (struct cgraph_edge): Add call_stmt_size and
call_stmt_time fields.
(cgraph_edge_inlinable_p): Declare.
(cgraph_edge_recursive_p): New inline function.
* cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
(cgraph_clone_edge): Copy it.
* ipa-inline.c (cgraph_estimate_edge_time): New function.
Account for call stmt time.
(cgraph_estimate_time_after_inlining): Take edge argument.
(cgraph_estimate_edge_growth): Account call stmt size.
(cgraph_estimate_size_after_inlining): Take edge argument.
(cgraph_mark_inline_edge): Adjust.
(cgraph_check_inline_limits): Likewise.
(cgraph_recursive_inlining_p): Remove.
(cgraph_edge_badness): Use cgraph_edge_recursive_p.
(cgraph_decide_recursive_inlining): Take edge argument and
adjust.
(cgraph_decide_inlining_of_small_functions): Do not avoid
diags for recursive inlining here.
(cgraph_flatten): Adjust.
(cgraph_decide_inlining_incrementally): Likewise.
(estimate_function_body_sizes): Remove call cost handling.
(compute_inline_parameters): Initialize caller edge call costs.
(cgraph_estimate_edge_growth): New function.
(cgraph_estimate_growth): Use it.
(cgraph_edge_badness): Likewise.
(cgraph_check_inline_limits): Take an edge argument.
(cgraph_decide_inlining_of_small_functions): Adjust.
(cgraph_decide_inlining): Likewise.
* tree-inline.c (estimate_num_insns): Only account for call
return value if it is used.
(expand_call_inline): Avoid diagnostics on recursive inline
functions here.
* lto-cgraph.c (lto_output_edge): Output edge call costs.
(input_edge): Input edge call costs.
* gcc.dg/tree-ssa/inline-8.c: New testcase.
From-SVN: r172023
Rainer Orth [Wed, 6 Apr 2011 08:48:22 +0000 (08:48 +0000)]
* config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
From-SVN: r172022
Jonathan Wakely [Wed, 6 Apr 2011 08:00:43 +0000 (08:00 +0000)]
invoke.texi (Spec Files): Fix typo.
2011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/invoke.texi (Spec Files): Fix typo.
From-SVN: r172020
Eric Botcazou [Wed, 6 Apr 2011 06:17:22 +0000 (06:17 +0000)]
profile.c (branch_prob): Move declaration of local variable.
* profile.c (branch_prob): Move declaration of local variable. Remove
obsolete ??? comment. Expand the location explicitly instead of using
the LOCATION_FILE and LOCATION_LINE macros.
From-SVN: r172019
Ian Lance Taylor [Wed, 6 Apr 2011 06:01:53 +0000 (06:01 +0000)]
libgo: Always use AM_LDFLAGS when linking libgo.la.
This ensures that we pass -fsplit-stack as required.
From-SVN: r172018
Wei Guozhi [Wed, 6 Apr 2011 02:24:16 +0000 (02:24 +0000)]
arm.md (arm_cmpsi_insn): Compute attr "length".
* config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
(arm_cond_branch): Likewise.
(arm_cond_branch_reversed): Likewise.
(arm_jump): Likewise.
(push_multi): Likewise.
* config/arm/constraints.md (Py): New constraint.
From-SVN: r172017
Nathan Froyd [Wed, 6 Apr 2011 01:06:42 +0000 (01:06 +0000)]
re PR bootstrap/48471 (ia64-*-* does not bootstrap due to unused variables in dbxout.c)
PR bootstrap/48471
* dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
Move these...
(symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
(DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
#ifdef DBX_DEBUGGING_INFO.
From-SVN: r172016