Commit Graph

108863 Commits

Author SHA1 Message Date
Uros Bizjak 479fecd31e constraint.md (Yd, Yx): New register constraints.
* config/i386/constraint.md (Yd, Yx): New register constraints.
	* config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger.  Use
	Yd conditional register constraint.
	(*movtf_internal): Use standard_sse_constant_opcode.
	(*movxf_internal): Merge with *movxf_internal_nointeger.  Use
	Yx conditional register constraint.
	(*movdf_internal): Merge with *movdf_internal_nointeger.  Use
	Yd conditional register constraint.  Use standard_sse_constant_p to
	check for valid SSE constants and call standard_sse_constant_opcode to
	output SSE insn.
	(*movsf_internal): Use standard_sse_constant_p to check for valid SSE
	constants and call standard_sse_constant_opcode to output SSE insn.
	* config/i386/i386.c (ix86_option_ovverride_internal): Set
	TARGET_INTEGER_DFMODE_MOVES for 64bit targets.  Clear it when
	optimize_size is set.
	(standard_sse_constant_opcode): Output conditional AVX insn templates.

From-SVN: r173757
2011-05-14 17:33:02 +02:00
Eric Botcazou 748f7574e8 Remove conflict marker
From-SVN: r173756
2011-05-14 10:38:45 +00:00
Tobias Burnus e6242bc79e re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * interface.c (compare_parameter): Skip diagnostic if
        actual argument is not an array; rank mismatch is diagnosted later.

2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.de/coarray_20.f90: New.

From-SVN: r173755
2011-05-14 12:34:44 +02:00
Janne Blomqvist 4e4c4f4161 PR 48915 Update mixed-language programming documentation
From-SVN: r173754
2011-05-14 13:24:18 +03:00
Janne Blomqvist 7daa7b1da3 PR 48915 Update mixed-language programming documentation
From-SVN: r173753
2011-05-14 13:20:56 +03:00
Thomas Koenig 222c2a6395 re PR fortran/22572 (Double occurrence of matmul intrinsic not optimised)
2011-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/22572
	* frontend-passes.c (cfe_register_funcs):  Also register functions
	for potential elimination if the rank is > 0, the shape is unknown
	and reallocate on assignment is active.
	(create_var):  For rank > 0 functions with unknown shape, create
	an allocatable temporary.

2011-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/22572
	* function_optimize_7.f90:  New test case.

From-SVN: r173752
2011-05-14 09:48:08 +00:00
Tobias Burnus 2d8c9ad5c9 invoke.texi (-Ofast): Also enables -fstack-arrays.
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.

2011-05-14  Tobias Burnus  <burnus@net-b.de>

        * options.c (gfc_init_options, gfc_post_options): Enable
        -fstack-arrays by default if -Ofast is used.
        * invoke.texi (-fstack-arrays): Document this.

From-SVN: r173751
2011-05-14 11:39:38 +02:00
Janne Blomqvist de8bd1420e PR 48915 Abort handling
From-SVN: r173750
2011-05-14 11:44:09 +03:00
Janne Blomqvist 1028b2bded Error printing thread safety, remove GFORTRAN_USE_STDERR
From-SVN: r173749
2011-05-14 10:55:51 +03:00
Tobias Burnus b4224aec54 re PR libfortran/48961 (EXECUTE_COMMAND_LINE(WAIT=.false.) fails on MinGW)
2011-05-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48961
        * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
        synchronously executing with WAIT=.false.
        (execute_command_line): Fix setting of cmdstat and exitstat.

From-SVN: r173748
2011-05-14 08:35:18 +02:00
GCC Administrator 2d9d4585c6 Daily bump.
From-SVN: r173747
2011-05-14 00:19:21 +00:00
Ian Lance Taylor 26793fb5fd Fix bug with multiple results returning structs with invalid sizes.
* go-gcc.cc (Gcc_backend::function_type): When building a struct
	for multiple results, check that all fields types have a size.
	(Gcc_backend::placeholder_pointer_type): Permit name to be empty.

From-SVN: r173742
2011-05-13 22:34:56 +00:00
Jason Merrill b8f2ad7cc5 re PR c++/48969 (ICE with -std=c++0x)
PR c++/48969
	* pt.c (deduction_tsubst_fntype): New.
	(fn_type_unification): Use it.

From-SVN: r173741
2011-05-13 18:25:12 -04:00
Jason Merrill 4877e471e3 call.c (build_op_call): Use timevar_cond_start/stop.
* call.c (build_op_call): Use timevar_cond_start/stop.
	(build_user_type_conversion): Likewise.

From-SVN: r173740
2011-05-13 18:25:01 -04:00
Martin Jambor 411a20d66c ipa-prop.c (ipa_cst_from_jfunc): New function.
2011-05-13  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_cst_from_jfunc): New function.
	* ipa-prop.h (ipa_cst_from_jfunc): Declare.
	* ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
	(evaluate_conditions_for_ipcp_clone): Removed.
	(estimate_ipcp_clone_size_and_time): Accept vector of known constants.
	* ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
	* ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.

From-SVN: r173739
2011-05-14 00:01:59 +02:00
Tobias Burnus d61d771f3b re PR fortran/48972 (OPEN with Unicode file name)
2011-05-13  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48972
        PR fortran/48991
        * gfortran.dg/assign_8.f90: Update dg-error.

From-SVN: r173738
2011-05-13 22:59:07 +02:00
Eric Botcazou dc764d10fa cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
	* regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
	lieu of MAY_HAVE_DEBUG_STMTS.
	* tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
	debug statements if !MAY_HAVE_DEBUG_STMTS.

From-SVN: r173737
2011-05-13 20:02:42 +00:00
Tobias Burnus 75933b07b7 re PR fortran/48972 (OPEN with Unicode file name)
2011-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48972
        * io.c (resolve_tag_format, resolve_tag): Make sure
        that the string is of default kind.
        (gfc_resolve_inquire): Also resolve decimal tag.

2011-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48972
        * gfortran.dg/io_constraints_8.f90: New.
        * gfortran.dg/io_constraints_9.f90: New.

From-SVN: r173736
2011-05-13 20:16:37 +02:00
Martin Thuresson 9f47a24e79 re PR gcov-profile/47793 (Relative path in fprofile-use turns into absolute path)
2011-05-13  Martin Thuresson  <martint@google.com>

	PR gcov-profile/47793
	* libgcov.c (gcov_exit): Support relative profile paths.
	* doc/invoke.texi (-fprofile-dir): Update for above change.

2011-05-13  Martin Thuresson  <martint@google.com>

	PR gcov-profile/47793
	* gcc.dg/pr47793.c: New.

From-SVN: r173735
2011-05-13 15:57:20 +00:00
Richard Guenther b8a71aedd8 gimple.c (gimple_canonical_types_compatible_p): Do not use type-pair caching, do not compare hashes.
2011-05-13  Richard Guenther  <rguenther@suse.de>

	* gimple.c (gimple_canonical_types_compatible_p): Do not use
	type-pair caching, do not compare hashes.

From-SVN: r173734
2011-05-13 14:02:42 +00:00
Nathan Froyd eb9f925985 Change edge_to_cases_cleanup to return true.
2011-05-13  Nathan Froyd  <froydnj@codesourcery.com>

	PR middle-end/48965
	* tree-cfg.c (edge_to_cases_cleanup): Return true.
	(verify_expr) [CASE_LABEL_EXPR]: Add checking.

From-SVN: r173733
2011-05-13 06:44:04 -07:00
Kai Tietz 3c6cbf7ad1 gimplify.c (gimplify_expr): Make sure operand is boolified.
2011-05-13  Kai Tietz  <ktietz@redhat.com>

        * gimplify.c (gimplify_expr): Make sure operand is boolified.
        * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
        compatible type for TRUTH_NOT_EXPR.

From-SVN: r173732
2011-05-13 15:37:16 +02:00
H.J. Lu 2e7f5dc0e4 Change ix86_save_reg/ix86_hard_regno_mode_ok to return bool.
2011-05-13  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_save_reg): Change return type to
	bool.
	(ix86_hard_regno_mode_ok): Change return value to bool.  Use
	can_create_pseudo_p ().

From-SVN: r173731
2011-05-13 06:30:18 -07:00
Richard Guenther e834e95c36 re PR lto/48978 (excessive hash table allocation for large lto build)
2011-05-13  Richard Guenther  <rguenther@suse.de>

	PR lto/48978
	* gimple.c (iterative_hash_gimple_type): Revert change in
	pointer target and function result and argument hashing.

From-SVN: r173730
2011-05-13 11:02:28 +00:00
Uros Bizjak 3420348330 i386.md (*movxf_internal): Use !can_create_pseudo ().
* config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
	(*movxf_internal_nointeger): Ditto.
	(*movdf_internal_rex64): Ditto.
	(*movdf_internal): Ditto.
	(*movdf_internal_nointeger): Ditto.
	(*movsf_internal): Ditto.
	(sincos splitters): Use can_create_pseudo ().

From-SVN: r173729
2011-05-13 12:16:43 +02:00
Joseph Myers 7eb68c06bc i386-opts.h: New.
* config/i386/i386-opts.h: New.
	* gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
	ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
	ix86_section_threshold): Remove.
	(ix86_handle_option): Move MAX_CODE_ALIGN define here.  Handle
	OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
	OPT_mbranch_cost_.
	(ix86_option_override_internal): Don't decode strings for options
	other than -march=, -mtune= and -mfpmath=.  Don't allow for
	__attribute__ uses in remaining diagnostics for options with
	string arguments.  Don't check for integer arguments being
	negative.
	* gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
	enum tls_dialect, enum cmodel, enum asm_dialect): Move to
	i386-opts.h.
	(ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
	ix86_branch_cost, ix86_section_threshold): Remove.
	* gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
	HeaderInclude.
	(malign-functions=, malign-jumps=, malign-loops=): Use UInteger
	but not Var.
	(masm=): Use Enum and Init.
	(asm_dialect): New Enum and EnumValue entries.
	(mbranch-cost=): Use UInteger.
	(mlarge-data-threshold=): Use UInteger and Init.
	(mcmodel=): Use Enum and Init.
	(cmodel): New Enum and EnumValue entries.
	(mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
	(mpreferred-stack-boundary=, mincoming-stack-boundary=,
	mregparm=): Use UInteger.
	(mstringop-strategy=): Use Enum and Init.
	(stringop_alg): New Enum and EnumValue entries.
	(mtls-dialect=): Use Enum and Init.
	(tls_dialect): New Enum and EnumValue entries.
	(mabi=): Use Enum and Init.
	(calling_abi): New Enum and EnumValue entries.
	(mveclibabi=): Use Enum and Init.
	(ix86_veclibabi): New Enum and EnumValue entries.

From-SVN: r173728
2011-05-13 10:59:13 +01:00
Nick Clifton f67e203c1f rx.md (mov expander): Fix use of rx_legitimate_constant_p.
* config/rx/rx.md (mov expander): Fix use of
	rx_legitimate_constant_p.
	* config/rx/rx-protos.h (rx_legitimate_constant_p): Rename
	prototype.

From-SVN: r173727
2011-05-13 09:35:28 +00:00
Kai Tietz 221df0b62d re PR middle-end/48984 (Many testsuite failures)
2011-05-13  Kai Tietz  <ktietz@redhat.com>

        PR middle-end/48984
        * gimplify.c (gimplify_expr): Check for boolean_type_node instead
        for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
        (gimple_boolify): Check for cast for boolean_type_node instead for
        BOOLEAN_TYPE.

From-SVN: r173726
2011-05-13 11:21:36 +02:00
Richard Guenther 208cb8cbad re PR tree-optimization/48172 (incorrect vectorization of loop in GCC 4.5.* with -O3)
2011-05-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48172
	* tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
	multiplying by number of iterations for equal step.
	(vect_create_cond_for_alias_checks): Likewise.

From-SVN: r173725
2011-05-13 08:31:18 +00:00
Andreas Schwab b88ecf553e configure.ac: Use AS_HELP_STRING throughout.
* configure.ac: Use AS_HELP_STRING throughout.
* configure: Regenerate.

From-SVN: r173724
2011-05-13 08:09:25 +00:00
Toon Moene e6e9475b4b objc-next-runtime-abi-02.c (newabi_append_ro): Add const qualifier to constant variable pointer declaration.
2011-05-13  Toon Moene  <toon@moene.org>

	* objc-next-runtime-abi-02.c (newabi_append_ro):
	Add const qualifier to constant variable pointer declaration.

From-SVN: r173723
2011-05-13 07:47:42 +00:00
GCC Administrator a2eba9136c Daily bump.
From-SVN: r173722
2011-05-13 00:19:31 +00:00
H.J. Lu 569b527e6f Change maybe_eh_return to bool.
2011-05-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.c (ix86_save_reg): Change maybe_eh_return
	to bool.
	(ix86_emit_restore_regs_using_mov): Likewise.
	(ix86_emit_restore_sse_regs_using_mov): Likewise.

From-SVN: r173716
2011-05-12 14:36:48 -07:00
DJ Delorie d53903d64c Fix missing file name in changelog
From-SVN: r173715
2011-05-12 16:52:32 -04:00
Anatoly Sokolov 8b9a1428e5 sparc.h (REG_OK_FOR_INDEX_P, [...]): Remove.
* config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
	SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
	(RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
	* config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
	RTX_OK_FOR_OLO10_P): ...here.
	(sparc_mode_dependent_address_p): Use symbolic_operand instead of
	SYMBOLIC_CONST.

From-SVN: r173714
2011-05-13 00:36:31 +04:00
Ian Lance Taylor acf9814605 Fix bug with taking address of a variable when address does not escape.
* go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
	parameter.
	(Gcc_backend::parameter_variable): Likewise.

From-SVN: r173712
2011-05-12 18:35:05 +00:00
Kai Tietz 1d15f620aa gimplify.c (gimple_boolify): Re-boolify expression arguments even if expression type is of kind BOOLEAN_TYPE.
2011-05-12  Kai Tietz  <ktietz@redhat.com>

	* gimplify.c (gimple_boolify): Re-boolify expression
	arguments even if expression type is of kind BOOLEAN_TYPE.
	(gimplify_boolean_expr): Removed.
	(gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
	and XOR. Additional take care that we keep expression's type.
	* tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
	of TRUTH_AND|OR|XOR_EXPR.

From-SVN: r173711
2011-05-12 20:19:07 +02:00
Jakub Jelinek c2b5fc8de6 re PR tree-optimization/48975 (ICE in execute_cse_reciprocals() with -fno-tree-slp-vectorize)
PR tree-optimization/48975
	* tree-if-conv.c (combine_blocks): Call free_bb_predicate
	on all bbs here and free and clear ifc_bbs at the end.

	* gcc.dg/pr48975.c: New test.

From-SVN: r173709
2011-05-12 19:44:23 +02:00
Tobias Burnus 13157033d4 re PR fortran/48972 (OPEN with Unicode file name)
2011-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48972
        * resolve.c (resolve_intrinsic): Don't resolve module
        intrinsics multiple times.

2011-05-12  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48972
        * gfortran.dg/iso_c_binding_compiler_3.f90: New.

From-SVN: r173708
2011-05-12 19:40:29 +02:00
Jason Merrill 16c20b0a55 cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
* cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
	* semantics.c (validate_constexpr_fundecl): Set it.
	(check_deferred_constexpr_decls): Clear it.
	(register_constexpr_fundef): Make sure it isn't set.
	* decl.c (grok_special_member_properties): Check it.

From-SVN: r173707
2011-05-12 13:33:53 -04:00
Eric Botcazou 7bf9a5ac1c trans.c (call_to_gnu): In the by-reference case...
* gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
	type of the parameter is an unconstrained array, convert the actual to
	the type of the formal in the In Out and Out cases as well.

From-SVN: r173706
2011-05-12 14:54:09 +00:00
Richard Guenther 61332f7774 gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle NULLPTR_TYPE similar to VOID_TYPE.
2011-05-12  Richard Guenther  <rguenther@suse.de>

	* gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
	NULLPTR_TYPE similar to VOID_TYPE.  Defer type-leader lookup
	until after simple checks.
	(gimple_types_compatible_p): Likewise.
	(iterative_hash_gimple_type): Always hash pointer targets
	and function return and argument types.
	(iterative_hash_canonical_type): Do not hash TYPE_QUALS,
	hash TYPE_ALIGN.  Do not hash TYPE_MIN/MAX_VALUE.
	(gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
	handle NULLPTR_TYPE similar to VOID_TYPE.  Handle non-aggregates
	completely in the simple compare section.
	(gimple_register_canonical_type): Query the cache again after
	registering.

From-SVN: r173704
2011-05-12 14:04:29 +00:00
Richard Guenther e2a3a5f1ad re PR tree-optimization/48172 (incorrect vectorization of loop in GCC 4.5.* with -O3)
2011-05-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/48172
	* tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
	the number of iterations from the segment size calculation.
	(vect_create_cond_for_alias_checks): Adjust.

	* gcc.dg/vect/pr48172.c: New testcase.

From-SVN: r173703
2011-05-12 12:14:45 +00:00
Jakub Jelinek 2c703f3a6a re PR debug/48967 (ICE during use_narrower_mode)
PR debug/48967
	* var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
	if validate_subreg fails.

	* g++.dg/opt/pr48967.C: New test.

From-SVN: r173701
2011-05-12 13:54:33 +02:00
Jan Hubicka 35d828c58b re PR lto/48952 (ICE in inline_merge_summary during linux kernel LTO build)
PR lto/48952
	* lto.c (do_whole_program_analysis): Do not register cgraph hooks.

From-SVN: r173700
2011-05-12 11:30:42 +00:00
Hariharan Sandanagobalane b27981e06b ira.c (clarify_prohibited_class_mode_regs): Prevent the function from accessing beyond the end of REGNO_REG_CLASS array by...
* ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
          accessing beyond the end of REGNO_REG_CLASS array by stopping the
          loop early.

From-SVN: r173699
2011-05-12 11:12:12 +00:00
Joseph Myers f3b143f080 * zh_CN.po: Update.
From-SVN: r173697
2011-05-12 12:02:23 +01:00
DJ Delorie 87e91fca2d (rx_builtins): New arrays - holds builtin functions.
(ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
	created builtin into rx_builtins array.
	(rx_builtin_decl): New function.
	(TARGET_BUITLIN_DECL): Define.
	Include gt-rx.h.

Co-Authored-By: Nick Clifton <nickc@redhat.com>

From-SVN: r173696
2011-05-12 10:33:57 +00:00
DJ Delorie 5f2f13fde2 rx.h (HAVE_PRE_DECREMENT): Fix typo.
* config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
	* config/rx/rx.c (CC_FLAG_FP): Fix comment.
	(rx_is_legitimate_address): Add pre-decrement and post-increment
	addressing in HImode and QImode.  Fix test for out of range
	REG+INT addressing.
	(rx_legitimate_constant_p): Rename ro rx_is_legitimate_constant.
	(rx_align_for_label): Test label before extracting its usage
	count.
	(rx_adjust_insn_lengths): Fix selection of insn codes.
	(TARGET_LEGITIMNATE_CONSTANT_P): Use renamed function.

Co-Authored-By: Nick Clifton <nickc@redhat.com>

From-SVN: r173695
2011-05-12 10:30:28 +00:00
Jason Merrill 57421f45e8 * tree.c (type_hash_canon): Use struct tree_type_non_common.
From-SVN: r173692
2011-05-11 21:36:38 -04:00