Commit Graph

122440 Commits

Author SHA1 Message Date
Xinyu Qi
a76213b9b3 For Xinyu Qi - Fix define_constants for WCGR.
From-SVN: r197104
2013-03-26 14:01:24 +00:00
Uros Bizjak
37ff93553c i386.md (*movdfcc_1): Merge with *movdfcc_1_rex64.
* config/i386/i386.md (*movdfcc_1): Merge with *movdfcc_1_rex64.
	Use x64 and nox64 isa attributes.

From-SVN: r197101
2013-03-26 13:37:46 +01:00
Paolo Carlini
5cf2a08413 decl.c (grokfndecl): Handle separately <inline> and <constexpr> error messages.
/cp
2013-03-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (grokfndecl): Handle separately <inline> and <constexpr>
	error messages.

	* decl.c (grokdeclarator): Declare typedef_p and use it everywhere.

/testsuite
2013-03-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/constexpr-friend-2.C: New.
	* g++.dg/cpp0x/constexpr-main.C: Likewise.

From-SVN: r197097
2013-03-26 10:23:59 +00:00
Richard Biener
30b0317cb9 emit-rtl.c (set_mem_attributes_minus_bitpos): Remove alignment computations and rely on get_object_alignment_1 for the...
2013-03-26  Richard Biener  <rguenther@suse.de>

	* emit-rtl.c (set_mem_attributes_minus_bitpos): Remove
	alignment computations and rely on get_object_alignment_1
	for the !TYPE_P case.
	Commonize DECL/COMPONENT_REF handling in the ARRAY_REF path.

From-SVN: r197095
2013-03-26 09:14:59 +00:00
Walter Lee
cbcdb1406c tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
* config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
	* config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.

From-SVN: r197084
2013-03-26 05:02:28 +00:00
Walter Lee
a6406324ae t-crtstuff: Add -fno-asynchronous-unwind-tables -mcmodel=large to CRTSTUFF_T_CFLAGS_S variable.
* config/tilegx/t-crtstuff: Add -fno-asynchronous-unwind-tables
	-mcmodel=large to CRTSTUFF_T_CFLAGS_S variable.

From-SVN: r197083
2013-03-26 04:34:45 +00:00
Jeff Law
dd884525bb tree-ssa-dom.c (record_equivalences_from_incoming_edge): Add missing check for INTEGRAL_TYPE_P that was missing due to checking in wrong...
* tree-ssa-dom.c (record_equivalences_from_incoming_edge): Add missing
        check for INTEGRAL_TYPE_P that was missing due to checking in wrong
        version of prior patch.

From-SVN: r197082
2013-03-25 22:00:20 -06:00
Walter Lee
0051d3ece0 tilegx-builtins.h (enum tilegx_builtin): Add TILEGX_INSN_SHUFFLEBYTES1.
* config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
	TILEGX_INSN_SHUFFLEBYTES1.
	* config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
	shufflebytes1.
	(tilegx_builtins): Ditto.
	* config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.

From-SVN: r197080
2013-03-26 00:54:47 +00:00
Walter Lee
065a36055e tilegx.md (floatsisf2): New pattern.
2013-03-25  Walter Lee  <walt@tilera.com>

	* config/tilegx/tilegx.md (floatsisf2): New pattern.
        (floatunssisf2): New pattern.
        (floatsidf2): New pattern.
        (floatunssidf2): New pattern.

From-SVN: r197079
2013-03-26 00:46:35 +00:00
GCC Administrator
9b2732d64f Daily bump.
From-SVN: r197078
2013-03-26 00:16:17 +00:00
Walter Lee
5b2a3c829c tilegx.c (expand_set_cint64_one_inst): Inline tests for constraint J, K, N, P.
* config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
       tests for constraint J, K, N, P.

From-SVN: r197074
2013-03-25 23:59:38 +00:00
Walter Lee
192ea533be Switch eh data to always use pc relative/indirect encoding, to avoid
relocations of unaligned words.

From-SVN: r197073
2013-03-25 23:50:52 +00:00
Steve Ellcey
855e0d0b07 mmips-cpus.def (74kc, [...]): Add PTF_AVOID_IMADD.
2013-03-25  Steve Ellcey  <sellcey@mips.com>

	* config/mips/mmips-cpus.def (74kc, 74kf2_1, 74kf, 74kf, 74kf1_1,
	74kfx, 74kx, 74kf3_2): Add PTF_AVOID_IMADD.
	* config/mips/mips.c (mips_option_override): Set IMADD default.
	* config/mips/mips.h (PTF_AVOID_IMADD): New.
	(ISA_HAS_MADD_MSUB): Remove MIPS16 check.
	(GENERATE_MADD_MSUB): Remove TUNE_74K check, add MIPS16 check.
	* config/mips/mips.md (mimadd): New flag for integer madd/msub.
	* doc/invoke.texi (-mimadd/-mno-imadd): New.

From-SVN: r197072
2013-03-25 23:12:01 +00:00
Jason Merrill
f02296ddb9 re PR c++/56699 (Failed for sizeof (non-static member) in lambda expression)
PR c++/56699
	* semantics.c (maybe_resolve_dummy): Make sure that the enclosing
	class is derived from the type of the object.

From-SVN: r197069
2013-03-25 18:06:36 -04:00
Jason Merrill
b85db96a63 re PR c++/56692 ([C++11] Segmentation fault when calling static/non-static overloaded function from lambda)
PR c++/56692
	* g++.dg/cpp0x/lambda/lambda-this15.C: New.

From-SVN: r197068
2013-03-25 18:06:27 -04:00
Jason Merrill
963afe1b0c re PR c++/52014 ([c++0x] Segfault When decltype Used in Nested Lambda Function Defined in Class Member Function)
PR c++/52014
	* semantics.c (lambda_expr_this_capture): Don't capture 'this' in
	unevaluated context.

From-SVN: r197063
2013-03-25 16:35:43 -04:00
Paolo Carlini
bbce8a8a36 re PR c++/56722 (C++11: syntax error in for loop ends in SEGV)
/cp
2013-03-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56722
	* decl.c (cp_finish_decl): Check DECL_LANG_SPECIFIC before
	DECL_TEMPLATE_INSTANTIATION.

/testsuite
2013-03-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/56722
	* g++.dg/cpp0x/range-for23.C: New.

From-SVN: r197062
2013-03-25 20:19:10 +00:00
Tilo Schwarz
6f6fafc9ef re PR fortran/52512 (Cannot match namelist object name)
2013-03-25  Tilo Schwarz  <tilo@tilo-schwarz.de>

        PR libfortran/52512
        * io/list_read.c (nml_parse_qualifier): To check for a derived type
        don't use the namelist head element type but the current element type.
        (nml_get_obj_data): Add current namelist element type to
        nml_parse_qualifier call.

2013-03-25  Tilo Schwarz  <tilo@tilo-schwarz.de>

        PR libfortran/52512
        * gfortran.dg/namelist_79.f90: New.

From-SVN: r197061
2013-03-25 20:11:20 +00:00
Jeff Law
39e4565357 tree-ssa-dom.c (record_equivalences_from_incoming_edge): Rework slightly to avoid creating and folding useless trees.
* tree-ssa-dom.c (record_equivalences_from_incoming_edge): Rework
	slightly to avoid creating and folding useless trees.  Simplify
        slightly by restricting to INTEGER_CSTs and using int_fits_type_p.

From-SVN: r197060
2013-03-25 13:05:57 -06:00
Ian Lance Taylor
85d8c21edb alloc.c: #include <sys/types.h>.
* alloc.c: #include <sys/types.h>.
	* mmap.c: Likewise.

From-SVN: r197057
2013-03-25 18:13:18 +00:00
Uros Bizjak
7482c47076 i386.md (*zero_extendsidi2): Merge with *zero_extendsidi2_rex64.
* config/i386/i386.md (*zero_extendsidi2): Merge with
	*zero_extendsidi2_rex64.  Use x64 and nox64 isa attributes.
	* config/i386/predicates.md (x86_64_zext_operand): Rename from
	x86_64_zext_general_operand.  Use nonimmediate_operand on 32bit
	targets.  Clarify comment.

From-SVN: r197056
2013-03-25 19:09:36 +01:00
Martin Jambor
4a53743eda ipa-prop.c (ipa_write_jump_function): Stream simple and aritmetic pass-through jump functions differently.
2013-03-25  Martin Jambor  <mjambor@suse.cz>

	* ipa-prop.c (ipa_write_jump_function): Stream simple and aritmetic
	pass-through jump functions differently.
	(ipa_read_jump_function): Likewise.  Also use setter functions to set
	up jump functions.

From-SVN: r197055
2013-03-25 17:50:02 +01:00
Martin Jambor
162712de00 ipa-cp.c (ipa_get_indirect_edge_target): Renamed to ipa_get_indirect_edge_target_1...
2013-03-25  Martin Jambor  <mjambor@suse.cz>

	* ipa-cp.c (ipa_get_indirect_edge_target): Renamed to
	ipa_get_indirect_edge_target_1, added parameter agg_reps and ability to
	process it.
	(ipa_get_indirect_edge_target): New function.
	(devirtualization_time_bonus): New parameter known_aggs, pass it to
	ipa_get_indirect_edge_target.  Update all callers.
	(ipcp_discover_new_direct_edges): New parameter aggvals.  Pass it to
	ipa_get_indirect_edge_target_1 instead of calling
	ipa_get_indirect_edge_target.
	(create_specialized_node): Pass aggvlas to
	ipcp_discover_new_direct_edges.

testsuite/
	* gcc.dg/ipa/ipcp-agg-9.c: New test.

From-SVN: r197054
2013-03-25 17:42:41 +01:00
Tobias Burnus
cadddfdda2 re PR fortran/38536 (ICE with C_LOC in resolve.c due to not properly going through expr->ref)
2013-03-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/38536
        PR fortran/38813
        PR fortran/38894
        PR fortran/39288
        PR fortran/40963
        PR fortran/45824
        PR fortran/47023
        PR fortran/47034
        PR fortran/49023
        PR fortran/50269
        PR fortran/50612
        PR fortran/52426
        PR fortran/54263
        PR fortran/55343
        PR fortran/55444
        PR fortran/55574
        PR fortran/56079
        PR fortran/56378
        * check.c (gfc_var_strlen): Properly handle 0-sized string.
        (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
        (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
        gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
        functions.
        * expr.c (check_inquiry): Add c_sizeof, compiler_version and
        compiler_options.
        (gfc_check_pointer_assign): Refine function result check.
        gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
        GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
        GFC_ISYM_C_LOC.
        (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
        NAMED_SUBROUTINE.
        (generate_isocbinding_symbol): Update prototype.
        (get_iso_c_sym): Remove.
        (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
        * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
        (gfc_intrinsic_sub_interface): Use it.
        (add_functions, add_subroutines): Add missing C-binding intrinsics.
        (gfc_intrinsic_func_interface): Add special case for c_loc.
        gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
        (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
        * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
        gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
        gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
        * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
        functions.
        * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
        NAMED_FUNCTION.
        * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
        * module.c (create_intrinsic_function): Support subroutines and
        derived-type results.
        (use_iso_fortran_env_module): Update calls.
        (import_iso_c_binding_module): Ditto; update calls to
        generate_isocbinding_symbol.
        * resolve.c (find_arglists): Skip for intrinsic symbols.
        (gfc_resolve_intrinsic): Find intrinsic subs via id.
        (is_scalar_expr_ptr, gfc_iso_c_func_interface,
        set_name_and_label, gfc_iso_c_sub_interface): Remove.
        (resolve_function, resolve_specific_s0): Remove calls to those.
        (resolve_structure_cons): Fix handling.
        * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
        generation.
        (gen_cptr_param, gen_fptr_param, gen_shape_param,
        build_formal_args, get_iso_c_sym): Remove.
        (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
        (generate_isocbinding_symbol): Support hidden symbols and
        using c_ptr/c_funptr symtrees for nullptr defs.
        * target-memory.c (gfc_target_encode_expr): Fix handling
        of c_ptr/c_funptr.
        * trans-expr.c (conv_isocbinding_procedure): Remove.
        (gfc_conv_procedure_call): Remove call to it.
        (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
        of c_ptr/c_funptr.
        * trans-intrinsic.c (conv_isocbinding_function,
        conv_isocbinding_subroutine): New.
        (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
        Call them.
        * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
        * trans-types.c (gfc_typenode_for_spec,
        gfc_get_derived_type): Ditto.
        (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.

2013-03-25  Tobias Burnus  <burnus@net-b.de>

        PR fortran/38536
        PR fortran/38813
        PR fortran/38894
        PR fortran/39288
        PR fortran/40963
        PR fortran/45824
        PR fortran/47023
        PR fortran/47034
        PR fortran/49023
        PR fortran/50269
        PR fortran/50612
        PR fortran/52426
        PR fortran/54263
        PR fortran/55343
        PR fortran/55444
        PR fortran/55574
        PR fortran/56079
        PR fortran/56378
        * gfortran.dg/c_assoc_2.f03: Update dg-error wording.
        * gfortran.dg/c_f_pointer_shape_test.f90: Ditto.
        * gfortran.dg/c_f_pointer_shape_tests_3.f03: Ditto.
        * gfortran.dg/c_f_pointer_tests_5.f90: Ditto.
        * gfortran.dg/c_funloc_tests_2.f03: Ditto.
        * gfortran.dg/c_funloc_tests_5.f03: Ditto.
        * gfortran.dg/c_funloc_tests_6.f90: Ditto.
        * gfortran.dg/c_loc_tests_10.f03: Add -std=f2008.
        * gfortran.dg/c_loc_tests_11.f03: Ditto, update dg-error.
        * gfortran.dg/c_loc_tests_16.f90: Ditto.
        * gfortran.dg/c_loc_tests_4.f03: Ditto.
        * gfortran.dg/c_loc_tests_15.f90: Update dg-error wording.
        * gfortran.dg/c_loc_tests_3.f03: Valid since F2003 TC5.
        * gfortran.dg/c_loc_tests_8.f03: Ditto.
        * gfortran.dg/c_ptr_tests_14.f90: Update scan-tree-dump-times.
        * gfortran.dg/c_ptr_tests_15.f90: Ditto.
        * gfortran.dg/c_sizeof_1.f90: Fix invalid code.
        * gfortran.dg/iso_c_binding_init_expr.f03: Update dg-error wording.
        * gfortran.dg/pr32601_1.f03: Ditto.
        * gfortran.dg/storage_size_2.f08: Remove dg-error.
        * gfortran.dg/blockdata_7.f90: New.
        * gfortran.dg/c_assoc_4.f90: New.
        * gfortran.dg/c_f_pointer_tests_6.f90: New.
        * gfortran.dg/c_f_pointer_tests_7.f90: New.
        * gfortran.dg/c_funloc_tests_8.f90: New.
        * gfortran.dg/c_loc_test_17.f90: New.
        * gfortran.dg/c_loc_test_18.f90: New.
        * gfortran.dg/c_loc_test_19.f90: New.
        * gfortran.dg/c_loc_test_20.f90: New.
        * gfortran.dg/c_sizeof_5.f90: New.
        * gfortran.dg/iso_c_binding_rename_3.f90: New.
        * gfortran.dg/transfer_resolve_2.f90: New.
        * gfortran.dg/transfer_resolve_3.f90: New.
        * gfortran.dg/transfer_resolve_4.f90: New.
        * gfortran.dg/pr32601.f03: Update dg-error.
        * gfortran.dg/c_ptr_tests_13.f03: Update dg-error.
        * gfortran.dg/c_ptr_tests_9.f03: Fix test case.

From-SVN: r197053
2013-03-25 16:40:26 +01:00
Kyrylo Tkachov
a5a4c20a5c arm.md (f_sels, f_seld): New types.
gcc/
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.md (f_sels, f_seld): New types.
	(*cmov<mode>): New pattern.
	* config/arm/predicates.md (arm_vsel_comparison_operator): New
	predicate.

gcc/testsuite/
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* gcc.target/arm/vseleqdf.c: New test.
	* gcc.target/arm/vseleqsf.c: Likewise.
	* gcc.target/arm/vselgedf.c: Likewise.
	* gcc.target/arm/vselgesf.c: Likewise.
	* gcc.target/arm/vselgtdf.c: Likewise.
	* gcc.target/arm/vselgtsf.c: Likewise.
	* gcc.target/arm/vselledf.c: Likewise.
	* gcc.target/arm/vsellesf.c: Likewise.
	* gcc.target/arm/vselltdf.c: Likewise.
	* gcc.target/arm/vselltsf.c: Likewise.
	* gcc.target/arm/vselnedf.c: Likewise.
	* gcc.target/arm/vselnesf.c: Likewise.
	* gcc.target/arm/vselvcdf.c: Likewise.
	* gcc.target/arm/vselvcsf.c: Likewise.
	* gcc.target/arm/vselvsdf.c: Likewise.
	* gcc.target/arm/vselvssf.c: Likewise.

From-SVN: r197052
2013-03-25 15:20:44 +00:00
Kyrylo Tkachov
a5784ce624 Fix ChangeLog formatting.
gcc/
Fix ChangeLog formatting.

gcc/testsuite
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov at arm.com>

	* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Move test
	body from here...
	* gcc.target/aarch64/atomic-comp-swap-release-acquire.x: ... to here.
	* gcc.target/aarch64/atomic-op-acq_rel.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-acq_rel.x: ... to here.
	* gcc.target/aarch64/atomic-op-acquire.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-acquire.x: ... to here.
	* gcc.target/aarch64/atomic-op-char.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-char.x: ... to here.
	* gcc.target/aarch64/atomic-op-consume.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-consume.x: ... to here.
	* gcc.target/aarch64/atomic-op-int.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-int.x: ... to here.
	* gcc.target/aarch64/atomic-op-relaxed.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-relaxed.x: ... to here.
	* gcc.target/aarch64/atomic-op-release.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-release.x: ... to here.
	* gcc.target/aarch64/atomic-op-seq_cst.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-seq_cst.x: ... to here.
	* gcc.target/aarch64/atomic-op-short.c: Move test body from here...
	* gcc.target/aarch64/atomic-op-short.x: ... to here.
	* gcc.target/arm/atomic-comp-swap-release-acquire.c: New test.
	* gcc.target/arm/atomic-op-acq_rel.c: Likewise.
	* gcc.target/arm/atomic-op-acquire.c: Likewise.
	* gcc.target/arm/atomic-op-char.c: Likewise.
	* gcc.target/arm/atomic-op-consume.c: Likewise.
	* gcc.target/arm/atomic-op-int.c: Likewise.
	* gcc.target/arm/atomic-op-relaxed.c: Likewise.
	* gcc.target/arm/atomic-op-release.c: Likewise.
	* gcc.target/arm/atomic-op-seq_cst.c: Likewise.
	* gcc.target/arm/atomic-op-short.c: Likewise.

From-SVN: r197051
2013-03-25 14:55:05 +00:00
Kai Tietz
55446c7e55 * config/i386/cygwin.S: Replace use of _WIN64 by __x86_64__.
From-SVN: r197050
2013-03-25 15:54:30 +01:00
Kai Tietz
f992b9fcea xm-mingw32.h (__USE_MINGW_ANSI_STDIO): Enable POSIX-printf for mingw-hosted builds.
* config/i386/xm-mingw32.h (__USE_MINGW_ANSI_STDIO): Enable
        POSIX-printf for mingw-hosted  builds.

From-SVN: r197049
2013-03-25 15:52:48 +01:00
Richard Biener
c16fd67643 re PR c++/56694 (Internal compiler error when compiling OpenMP code)
2013-03-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/56694
	* tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
	must-not-throw stmt location.

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

From-SVN: r197047
2013-03-25 14:46:08 +00:00
Kyrylo Tkachov
5ad29f129e arm.c (arm_emit_load_exclusive): Add acq parameter.
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/arm.c (arm_emit_load_exclusive): Add acq parameter.
	Emit load-acquire versions when acq is true.
	(arm_emit_store_exclusive): Add rel parameter.
	Emit store-release versions when rel is true.
	(arm_split_compare_and_swap): Use acquire-release instructions
	instead.
	of barriers when appropriate.
	(arm_split_atomic_op): Likewise.
	* config/arm/arm.h (TARGET_HAVE_LDACQ): New macro.
	* config/arm/unspecs.md (VUNSPEC_LAX): New unspec.
	(VUNSPEC_SLX): Likewise.
	(VUNSPEC_LDA): Likewise.
	(VUNSPEC_STL): Likewise.
	* config/arm/sync.md (atomic_load<mode>): New pattern.
	(atomic_store<mode>): Likewise.
	(arm_load_acquire_exclusive<mode>): Likewise.
	(arm_load_acquire_exclusivesi): Likewise.
	(arm_load_acquire_exclusivedi): Likewise.
	(arm_store_release_exclusive<mode>): Likewise.

From-SVN: r197046
2013-03-25 14:41:37 +00:00
Catherine Moore
03a7dddbdb constraints.md (u, [...]): New constraints.
2013-03-25  Catherine Moore  <clm@codesourcery.com>

	* config/mips/constraints.md (u, Udb7 Uead, Uean, Uesp, Uib3,
	Uuw6, Usb4, ZS, ZT, ZU, ZV, ZW): New constraints.
	* config/mip/predicates.md (lwsp_swsp_operand,
	lw16_sw16_operand, lhu16_sh16_operand, lbu16_operand,
	sb16_operand, db4_operand, db7_operand, ib3_operand,
	sb4_operand, ub4_operand, uh4_operand, uw4_operand,
	uw5_operand, uw6_operand, addiur2_operand, addiusp_operand,
	andi16_operand): New predicates.
	* config/mips/mips.md (compression): New attribute.
	(enabled): New attribute.
	(length): Consider compression in computing length.
	(shift_compression): New code attribute.
	(*add<mode>3): New operands. Record compression.
	(sub<mode>3): Likewise.
	(one_cmpl<mode>2): Likewise.
	(*and<mode>3): Likewise.
	(*ior<mode>3): Likewise.
	(unnamed pattern for xor): Likewise.
	(*zero_extend<SHORT:mode><GPR:mode>2): Likewise.
	(*<optab><mode>3): Likewise.
	(*mov<mode>_internal: Likewise.
	* config/mips/mips-protos.h (mips_signed_immediate_p): New.
	(mips_unsigned_immediate_p): New.
	(umips_lwsp_swsp_address_p): New.
	(m16_based_address_p): New.
	* config/mips/mips-protos.h (mips_signed_immediate_p): New prototype.
	(mips_unsigned_immediate_p): New prototype.
	(lwsp_swsp_address_p): New prototype.
	(m16_based_address_p): New prototype.
	* config/mips/mips.c (mips_unsigned_immediate_p): New function.
	(mips_signed_immediate_p): New function.
	(m16_based_address_p): New function.
	(lwsp_swsp_address_p): New function.
	(mips_print_operand_punctuation): Recognize short delay slot insns
	for microMIPS.add<mode>3"

From-SVN: r197042
2013-03-25 09:53:53 -04:00
Kyrylo Tkachov
cf70554ed8 Add testcases for previous commit.
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
	PR target/56720
	* gcc.target/arm/neon-vcond-gt.c: New test.
	* gcc.target/arm/neon-vcond-ltgt.c: Likewise.
	* gcc.target/arm/neon-vcond-unordered.c: Likewise.

From-SVN: r197041
2013-03-25 13:50:45 +00:00
Kyrylo Tkachov
f35c297f8d re PR target/56720 (ICE when expanding vcond with floating point unordered comparisons)
2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
	PR target/56720
	* config/arm/iterators.md (v_cmp_result): New mode attribute.
	* config/arm/neon.md (vcond<mode><mode>): Handle unordered cases.

2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
	PR target/56720
	* gcc.target/arm/neon-vcond-gt.c: New test.
	* gcc.target/arm/neon-vcond-ltgt.c: Likewise.
	* gcc.target/arm/neon-vcond-unordered.c: Likewise.

From-SVN: r197040
2013-03-25 13:48:06 +00:00
Richard Biener
051b944668 re PR bootstrap/56689 (internal compiler error: in get_loop_body, at cfgloop.c:841)
2013-03-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/56689
	* tree-vrp.c (execute_vrp): Mark loops for fixup if we removed
	any edge.

	* gcc.dg/torture/pr56689.c: New testcase.

From-SVN: r197039
2013-03-25 12:54:56 +00:00
Richard Biener
374001cbee tree-ssa-loop-im.c (struct mem_ref): Use bitmap_head instead of bitmap.
2013-03-25  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (struct mem_ref): Use bitmap_head instead
	of bitmap.
	(memory_references): Likewise.
	(outermost_indep_loop, mem_ref_alloc, mark_ref_stored,
	gather_mem_refs_stmt, record_dep_loop, ref_indep_loop_p_1,
	ref_indep_loop_p_2, find_refs_for_sm): Adjust.
	(gather_mem_refs_in_loops): Fold into ...
	(analyze_memory_references): ... this.  Move initialization
	to tree_ssa_lim_initialize.
	(fill_always_executed_in): Rename to ...
	(fill_always_executed_in_1): ... this.
	(fill_always_executed_in): Move contains_call computation to
	this new function from ...
	(tree_ssa_lim_initialize): ... here.
	(tree_ssa_lim): Call fill_always_executed_in.

From-SVN: r197038
2013-03-25 12:53:57 +00:00
Eric Botcazou
5789594736 * postreload.c (reload_combine): Fix code detecting returns.
From-SVN: r197037
2013-03-25 11:25:28 +00:00
Eric Botcazou
1e1b18c1c7 function.c (emit_use_return_register_into_block): On cc0 targets, do not emit the sequence between cc0 setter and user.
* function.c (emit_use_return_register_into_block): On cc0 targets,
	do not emit the sequence between cc0 setter and user.

From-SVN: r197036
2013-03-25 11:24:12 +00:00
Kai Tietz
9a776a830e * g++.dg/torture/20121105-1.C: Adjust for LLP64 targets.
From-SVN: r197034
2013-03-25 11:55:37 +01:00
Kai Tietz
9216baf178 predicates.md (local_symbolic_operand): Interpret dll-imported symbols as none-local.
* config/i386/predicates.md (local_symbolic_operand): Interpret
        dll-imported symbols as none-local.

From-SVN: r197033
2013-03-25 11:51:11 +01:00
Kai Tietz
c0f6f2b4f2 50594.cc: For mingw-targets use only static libstdc++-version.
* testsuite/18_support/50594.cc: For mingw-targets use only static
	libstdc++-version.
	* testsuite/19_diagnostics/error_category/operators/equal.cc
	* testsuite/19_diagnostics/error_code/cons/1.cc
	* testsuite/19_diagnostics/error_code/operators/bool.cc
	* testsuite/19_diagnostics/error_code/operators/equal.cc
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc
	* testsuite/19_diagnostics/error_condition/cons/1.cc
	* testsuite/19_diagnostics/error_condition/operators/bool.cc
	* testsuite/19_diagnostics/error_condition/operators/equal.cc
	* testsuite/19_diagnostics/error_condition/operators/not_equal.cc
	* testsuite/23_containers/set/requirements/exception/basic.cc
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
	* testsuite/lib/dg-options.exp (dg-additional-options): New option.

From-SVN: r197032
2013-03-25 11:47:39 +01:00
Richard Biener
76421b449b tree-ssa-loop-im.c (struct depend): Remove.
2013-03-25  Richard Biener  <rguenther@suse.de>

	* tree-ssa-loop-im.c (struct depend): Remove.
	(struct lim_aux_data): Make depends a vec of gimples.
	(free_lim_aux_data): Adjust.
	(add_dependency): Likewise.
	(set_level): Likewise.

From-SVN: r197031
2013-03-25 09:44:25 +00:00
Richard Biener
d154bfa22d re PR rtl-optimization/56434 (document that __attribute__((__malloc__)) assumes returned pointer has BIGGEST_ALIGNMENT)
2013-03-25  Richard Biener  <rguenther@suse.de>

	PR middle-end/56434
	* calls.c (expand_call): Use MALLOC_ABI_ALIGNMENT to annotate
	the pointer returned by calls with ECF_MALLOC set.

From-SVN: r197030
2013-03-25 09:39:52 +00:00
GCC Administrator
c42ee993cf Daily bump.
From-SVN: r197029
2013-03-25 00:16:33 +00:00
Tilo Schwarz
6790f448bb MAINTAINERS (Write After Approval): Add myself.
2013-02-24  Tilo Schwarz  <tilo@tilo-schwarz.de>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r197025
2013-03-24 23:37:39 +00:00
Uros Bizjak
acef5fe00e mmx.md (mov<mode>): Add ?!Ym,r and r,?!Ym alternatives.
* config/i386/mmx.md (mov<mode>): Add ?!Ym,r and r,?!Ym alternatives.

From-SVN: r197024
2013-03-24 23:22:21 +01:00
Jonathan Wakely
95a83503a0 re PR libstdc++/56170 (Extension debug_allocator seems non-compliant w.r.t. rebind)
PR libstdc++/56170
	* include/ext/debug_allocator.h (debug_allocator): Add missing members
	to meet allocator requirements.
	* testsuite/ext/debug_allocator/56170.cc: New.

From-SVN: r197023
2013-03-24 22:10:29 +00:00
Uros Bizjak
2cd9804e80 sse.md (mov<mode>): Merge with movv2sf expander using MMXMODE mode iterator.
* config/i386/sse.md (mov<mode>): Merge with movv2sf expander
	using MMXMODE mode iterator.
	(*move<mode>_internal): Merge with *movv2sf_internal and
	*movv2sf_internal_rex64 using MMXMODE mode iterator.

From-SVN: r197021
2013-03-24 19:26:48 +01:00
Tobias Burnus
a73421c460 re PR libfortran/56696 (Formatted (list-directed) input fails to signal end of record)
2013-03-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56696
        * io/list_read.c (read_real): Fix EOF diagnostic.

2013-03-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/56696
        * gfortran.dg/eof_5.f90: New.

From-SVN: r197019
2013-03-24 11:16:33 +01:00
Andi Kleen
b01819be5d Avoid nonconst memmodels in libitm's local outdated copy of <atomic> too
This avoids warnings in libitm for non constant memory models,
fixing the bootstrap with -Werror

Passed bootstrap and test on x86_64-linux.

libitm/:

2013-03-23  Andi Kleen  <andi@my.domain.org>

	* local_atomic (__always_inline): Add.
	(__calculate_memory_order, atomic_thread_fence,
	 atomic_signal_fence, test_and_set, clear, store, load,
         exchange, compare_exchange_weak, compare_exchange_strong,
         fetch_add, fetch_sub, fetch_and, fetch_or, fetch_xor):
	Add __always_inline to force inlining.

From-SVN: r197018
2013-03-24 00:23:20 +00:00
Andi Kleen
94f3ccc8d9 Avoid non constant memory model uses in libatomic
x86 ends up using non constant memory models for some of the libatomic
functions. These all end up as __ATOMIC_SEQ_CST. Just use this
directly. This avoids a new warning for non constant memory
models, which broke the bootstrap with -Werror

Passed bootstrap and test on x86_64-linux.

libatomic/:

2013-03-23  Andi Kleen  <ak@linux.intel.com>

	* gcas.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gexch.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gload.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gstore.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.

diff --git a/libatomic/gcas.c b/libatomic/gcas.c
index edbf611..e3d77f3 100644
--- a/libatomic/gcas.c
+++ b/libatomic/gcas.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N)					\
   if (C2(HAVE_ATOMIC_CAS_,N))					\
     return __atomic_compare_exchange_n				\
-      (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, smodel, fmodel)
+      (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
 #else
 # define EXACT_INLINE(N)
 #endif
diff --git a/libatomic/gexch.c b/libatomic/gexch.c
index 1999067..c8c8658 100644
--- a/libatomic/gexch.c
+++ b/libatomic/gexch.c
@@ -33,7 +33,7 @@
   if (C2(HAVE_ATOMIC_EXCHANGE_,N))				\
     {								\
       *PTR(N,rptr) = __atomic_exchange_n			\
-	(PTR(N,mptr), *PTR(N,vptr), smodel);			\
+	(PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST);		\
       return;							\
     }
 #else
diff --git a/libatomic/gload.c b/libatomic/gload.c
index df318d5..85865bd 100644
--- a/libatomic/gload.c
+++ b/libatomic/gload.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N, DEST, SRC, DONE)			\
   if (C2(HAVE_ATOMIC_LDST_,N))					\
     {								\
-      DEST = __atomic_load_n (SRC, smodel);			\
+      DEST = __atomic_load_n (SRC, __ATOMIC_SEQ_CST);		\
       DONE;							\
     }
 #else
diff --git a/libatomic/gstore.c b/libatomic/gstore.c
index d571e58..84f9a8d 100644
--- a/libatomic/gstore.c
+++ b/libatomic/gstore.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N)					\
   if (C2(HAVE_ATOMIC_LDST_,N))					\
     {								\
-      __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), smodel);	\
+      __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST);	\
       return;							\
     }
 #else

From-SVN: r197017
2013-03-24 00:23:10 +00:00