Commit Graph

137909 Commits

Author SHA1 Message Date
Richard Biener
7b5fc413c1 re PR tree-optimization/66036 (strided group loads are not vectorized)
2015-05-08  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/66036
	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
	Handle strided group loads.
	(vect_verify_datarefs_alignment): Likewise.
	(vect_enhance_data_refs_alignment): Likewise.
	(vect_analyze_group_access): Likewise.
	(vect_analyze_data_ref_access): Likewise.
	(vect_analyze_data_ref_accesses): Likewise.
	* tree-vect-stmts.c (vect_model_load_cost): Likewise.
	(vectorizable_load): Likewise.

	* gcc.dg/vect/slp-41.c: New testcase.

From-SVN: r222914
2015-05-08 15:13:55 +00:00
Mikael Morin
4a8108f0ab trans-array.c (gfc_walk_elemental_function_args): Don't skip the advance to the next dummy argument when...
gcc/fortran/
	* trans-array.c (gfc_walk_elemental_function_args):
	Don't skip the advance to the next dummy argument when skipping
	absent optional args.
gcc/testsuite/
	* gfortran.dg/elemental_optional_args_7.f90: New.

From-SVN: r222913
2015-05-08 14:53:20 +00:00
Segher Boessenkool
2a812183d6 rs6000.md: Require operand inequality in one of the peepholes.
* config/rs6000/rs6000.md: Require operand inequality in one
	of the peepholes.

From-SVN: r222912
2015-05-08 16:34:11 +02:00
Richard Sandiford
7d54bea5b9 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
gcc/
2015-05-08  Richard Sandiford  <richard.sandiford@arm.com>
	    Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
	from (set ...).
	* config/rx/rx.md (movdi, movdf): Likewise.
	Likewise for define_peephole2s.

Co-Authored-By: Franz Sirl <Franz.Sirl-kernel@lauterbach.com>

From-SVN: r222911
2015-05-08 14:04:12 +00:00
Alan Lawrence
a8105959bd [AArch64] Idiomatic 64x1 comparisons in arm_neon.h
gcc/:
 
	* config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
	vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
	vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
	vtst_u64): Rewrite using gcc vector extensions.

gcc/testsuite/:

	* gcc.target/aarch64/singleton_intrinsics_1.c: Generalize regex to
	allow cmlt or sshr.

From-SVN: r222909
2015-05-08 12:00:10 +00:00
Alan Lawrence
8b5190aba0 [AArch64] Add vcond(u?)didi pattern
* config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
	vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.

From-SVN: r222908
2015-05-08 11:49:02 +00:00
Alan Lawrence
938fb83d2c optabs.c: Make vector_compare_rtx cope with VOID mode constants (e.g. const0_rtx)
* optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.

From-SVN: r222907
2015-05-08 11:40:33 +00:00
Szabolcs Nagy
07ad804bfd [PATCH 0/13] Add musl support to GCC
2015-05-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/glibc-stdint.h (OPTION_MUSL): Define.
	(INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
	Change the definition based on OPTION_MUSL for 64 bit targets.
	* config/linux.h (OPTION_MUSL): Redefine.
	* config/alpha/linux.h (OPTION_MUSL): Redefine.
	* config/rs6000/linux.h (OPTION_MUSL): Redefine.
	* config/rs6000/linux64.h (OPTION_MUSL): Redefine.

From-SVN: r222905
2015-05-08 08:30:40 +00:00
Gregor Richards
755658a56b [PATCH 2/13] musl libc config
2015-05-08  Gregor Richards  <gregor.richards@uwaterloo.ca>
	    Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config.gcc (LIBC_MUSL): New tm_defines macro.
	* config/linux.h (OPTION_MUSL): Define.
	(MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
	(MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
	(INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
	(INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
	(INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
	* config/linux.opt (mmusl): New option.
	* doc/invoke.texi (GNU/Linux Options): Document -mmusl.
	* configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
	(gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
	* configure: Regenerate.

Co-Authored-By: Szabolcs Nagy <szabolcs.nagy@arm.com>

From-SVN: r222904
2015-05-08 08:25:47 +00:00
H.J. Lu
2a0e43c247 PR target/48904 x86_64-knetbsd-gnu missing defs
2015-05-08  H.J. Lu  <hongjiu.lu@intel.com>
            Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

        PR target/48904
        * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
        * config/i386/knetbsd-gnu64.h: New file.


Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>

From-SVN: r222903
2015-05-08 09:33:42 +02:00
Jason Merrill
90f11cf950 re PR c++/59012 (alignas does not support parameter pack expansions)
PR c++/59012
	* parser.c (cp_parser_std_attribute_list): Handle attribute expansion.
	(cp_parser_std_attribute_spec): Handle alignas pack expansion.
	* decl2.c (is_late_template_attribute): An attribute exp is dependent.
	* pt.c (make_pack_expansion): Allow TREE_LIST for attribute expansion.
	(apply_late_template_attributes): Handle attribute pack expansion.

From-SVN: r222902
2015-05-08 00:42:06 -04:00
GCC Administrator
d87333bcc8 Daily bump.
From-SVN: r222901
2015-05-08 00:16:15 +00:00
Marek Polacek
755e528f96 re PR c/64918 (invalid (?) warning when initializing structure)
PR c/64918
	* c.opt (Woverride-init-side-effects): New option.

	* c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
	(output_init_element): Likewise.

	* doc/invoke.texi: Document -Woverride-init-side-effects.

	* gcc.dg/Woverride-init-side-effects-1.c: New test.
	* gcc.dg/Woverride-init-side-effects-2.c: New test.

From-SVN: r222894
2015-05-07 22:14:27 +00:00
Marek Polacek
0173bd2a03 re PR c/65179 (Introduce new C warning: -Wshift-negative-value)
PR c/65179
	* c-common.c (c_fully_fold_internal): Warn when left shifting a
	negative value.
	* c.opt (Wshift-negative-value): New option.
	* c-opts.c (c_common_post_options): Set warn_shift_negative_value
	when -Wextra and C99/C++11 mode.

	* c-typeck.c (build_binary_op): Warn when left shifting a negative
	value.

	* typeck.c (cp_build_binary_op): Warn when left shifting a negative
	value.

	* doc/invoke.texi: Document -Wshift-negative-value.

	* c-c++-common/Wshift-negative-value-1.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-2.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-3.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-4.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-5.c: New test.
	* testsuite/c-c++-common/Wshift-negative-value-6.c: New test.
	* testsuite/gcc.dg/c90-left-shift-1.c: New test.
	* testsuite/gcc.dg/c99-const-expr-7.c: Add dg-error.
	* testsuite/gcc.dg/c99-left-shift-1.c: New test.

From-SVN: r222889
2015-05-07 19:36:31 +00:00
Aditya Kumar
d57c994589 gcov-tool.c (do_merge): Refactore to remove int ret.
* gcov-tool.c (do_merge): Refactore to remove int ret.
	* ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
	!type == FUNC to type != FUNC.
	* reload.h (struct target_reload): Changee to type of
	x_spill_indirect_levels from bool to unsigned char.

From-SVN: r222884
2015-05-07 19:57:11 +02:00
Richard Sandiford
f7df4a840c rtl.h (always_void_p): New function.
gcc/
	* rtl.h (always_void_p): New function.
	* gengenrtl.c (always_void_p): Likewise.
	(genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
	with code foo are always VOIDmode.
	* genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
	* builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
	compare-elim.c, config/aarch64/aarch64.c,
	config/aarch64/aarch64.md, config/alpha/alpha.c,
	config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
	config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
	config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
	config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
	config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
	config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
	config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
	config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
	config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
	config/ia64/vect.md, config/iq2000/iq2000.c,
	config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
	config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
	config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
	config/mep/mep.c, config/microblaze/microblaze.c,
	config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
	config/mn10300/mn10300.c, config/msp430/msp430.c,
	config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
	config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
	config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
	config/rs6000/altivec.md, config/rs6000/rs6000.c,
	config/rs6000/rs6000.md, config/rs6000/vector.md,
	config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
	config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
	config/sh/sh.md, config/sh/sh_treg_combine.cc,
	config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
	config/spu/spu.md, config/stormy16/stormy16.c,
	config/tilegx/tilegx.c, config/tilegx/tilegx.md,
	config/tilepro/tilepro.c, config/tilepro/tilepro.md,
	config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
	config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
	expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
	lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
	reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
	var-tracking.c: Update calls accordingly.

From-SVN: r222883
2015-05-07 16:58:46 +00:00
Jason Merrill
d5449acf6b DR 1467 PR c++/51747
DR 1467
	PR c++/51747
	* typeck2.c (digest_init_r): Fix single element list.

From-SVN: r222881
2015-05-07 12:46:49 -04:00
Segher Boessenkool
a3facd7c6c re PR middle-end/192 (String literals don't obey -fdata-sections)
PR middle-end/192
	PR middle-end/54303
	* varasm.c (function_mergeable_rodata_prefix): New function.
	(mergeable_string_section): Use it.
	(mergeable_constant_section): Use it.

gcc/testsuite/
	* gcc.dg/fdata-sections-2.c: New file.

From-SVN: r222880
2015-05-07 17:51:01 +02:00
Marek Polacek
302f83f948 re PR testsuite/66046 (UBSan output pattern tests fail on target ARM board.)
PR testsuite/66046
	* c-c++-common/ubsan/align-6.c: Don't match trailing newlines in the
	last dg-output.
	* c-c++-common/ubsan/align-7.c: Likewise.
	* c-c++-common/ubsan/bounds-8.c: Likewise.
	* c-c++-common/ubsan/float-cast-overflow-9.c: Likewise.
	* c-c++-common/ubsan/load-bool-enum.c: Likewise.
	* c-c++-common/ubsan/null-1.c: Likewise.
	* c-c++-common/ubsan/null-10.c: Likewise.
	* c-c++-common/ubsan/null-11.c: Likewise.
	* c-c++-common/ubsan/null-2.c: Likewise.
	* c-c++-common/ubsan/null-3.c: Likewise.
	* c-c++-common/ubsan/null-4.c: Likewise.
	* c-c++-common/ubsan/null-5.c: Likewise.
	* c-c++-common/ubsan/null-6.c: Likewise.
	* c-c++-common/ubsan/null-7.c: Likewise.
	* c-c++-common/ubsan/null-8.c: Likewise.
	* c-c++-common/ubsan/null-9.c: Likewise.
	* c-c++-common/ubsan/object-size-1.c: Likewise.
	* c-c++-common/ubsan/object-size-10.c: Likewise.
	* c-c++-common/ubsan/object-size-4.c: Likewise.
	* c-c++-common/ubsan/object-size-5.c: Likewise.
	* c-c++-common/ubsan/object-size-7.c: Likewise.
	* c-c++-common/ubsan/object-size-8.c: Likewise.
	* c-c++-common/ubsan/object-size-9.c: Likewise.
	* c-c++-common/ubsan/overflow-add-2.c: Likewise.
	* c-c++-common/ubsan/overflow-int128.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-2.c: Likewise.
	* c-c++-common/ubsan/overflow-mul-4.c: Likewise.
	* c-c++-common/ubsan/overflow-negate-1.c: Likewise.
	* c-c++-common/ubsan/overflow-negate-3.c: Likewise.
	* c-c++-common/ubsan/overflow-sub-2.c: Likewise.
	* c-c++-common/ubsan/overflow-sub-4.c: Likewise.
	* c-c++-common/ubsan/pr59333.c: Likewise.
	* c-c++-common/ubsan/pr59667.c: Likewise.
	* c-c++-common/ubsan/pr60613-2.c: Likewise.
	* c-c++-common/ubsan/pr60636.c: Likewise.
	* c-c++-common/ubsan/pr63802.c: Likewise.
	* c-c++-common/ubsan/recovery-1.c: Likewise.
	* c-c++-common/ubsan/recovery-3.c: Likewise.
	* c-c++-common/ubsan/shift-1.c: Likewise.
	* c-c++-common/ubsan/shift-2.c: Likewise.
	* c-c++-common/ubsan/shift-4.c: Likewise.
	* c-c++-common/ubsan/shift-7.c: Likewise.
	* c-c++-common/ubsan/undefined-2.c: Likewise.
	* c-c++-common/ubsan/vla-1.c: Likewise.
	* g++.dg/ubsan/null-1.C: Likewise.
	* g++.dg/ubsan/null-3.C: Likewise.
	* g++.dg/ubsan/null-4.C: Likewise.
	* g++.dg/ubsan/vptr-8.C: Likewise.
	* g++.dg/ubsan/vptr-9.C: Likewise.
	* gcc.dg/ubsan/bounds-2.c: Likewise.
	* gcc.dg/ubsan/object-size-9.c: Likewise.

From-SVN: r222878
2015-05-07 14:44:26 +00:00
Jeff Law
48451e8f3c match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New simplifier to narrow arithmetic.
* match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
	simplifier to narrow arithmetic.
	* generic-match-head.c: (types_match, single_use): New functions.
	* gimple-match-head.c: (types_match, single_use): New functions.

	* gcc.dg/tree-ssa/shorten-1.c: New test.

From-SVN: r222877
2015-05-07 07:18:07 -06:00
Venkataramanan Kumar
963ba1b266 combine.c (make_compound_operation): Remove checks for PLUS/MINUS rtx type.
2015-05-07  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

        * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
        rtx type.

From-SVN: r222874
2015-05-07 10:47:54 +00:00
Richard Biener
465770e439 re PR tree-optimization/66002 (paq8p benchmark 50% slower than clang on sandybridge)
2015-05-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66002
	* passes.def: Schedule another pass_merge_phi after ifcombine, right
	before phiopt.

	* gcc.dg/vect/vect-125.c: New testcase.

From-SVN: r222873
2015-05-07 09:52:38 +00:00
Marek Polacek
e0f0d3b9d2 c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting flexible member array-like members if...
* c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
	flexible member array-like members if SANITIZE_BOUNDS_STRICT.

	* doc/invoke.texi: Document -fsanitize=bounds-strict.
	* flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
	into SANITIZE_NONDEFAULT.
	* opts.c (common_handle_option): Handle -fsanitize=bounds-strict.

	* c-c++-common/ubsan/bounds-10.c: New test.

From-SVN: r222871
2015-05-07 08:08:57 +00:00
Uros Bizjak
ad2c39af63 re PR target/66015 (align directives not propagated after __attribute__ ((__optimize__ ("O2"))))
PR target/66015
	* config/alpha/alpha.c (alpha_override_options_after_change): New.
	(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
	(alpha_override_options): Move align_loops, align_jumps and
	align_functions handling into alpha_override_options_after_change.

From-SVN: r222870
2015-05-07 09:34:29 +02:00
GCC Administrator
06cb4b647a Daily bump.
From-SVN: r222869
2015-05-07 00:16:16 +00:00
Ian Lance Taylor
87bde062dd compiler: Analyze escape information of interface parameters.
When analyzing function calls with interface parameters, all arguments
related to an interface parameter were assumed to escape via the
function arguments.  Now, if an argument is related to a non-escaping
parameter with an interface type, the argument may be stack-allocated.

From-SVN: r222865
2015-05-06 22:59:54 +00:00
Thomas Koenig
f1abbf6901 re PR fortran/37131 (inline matmul for small matrix sizes)
2015-05-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/37131
	* gfortran.h (gfc_isym_id):  Add GFC_ISYM_FE_RUNTIME_ERROR.
	(gfc_intrinsic_sym):  Add vararg.
	* intrinsic.h (gfc_check_fe_runtime_error):  Add prototype.
	(gfc_resolve_re_runtime_error):  Likewise.
	Add prototype for gfc_is_reallocatable_lhs.
	* trans-array.h (gfc_is_reallocatable_lhs):  Remove prototype.
	* check.c (gfc_check_fe_runtime_error):  New function.
	* intrinsic.c (add_sym_1p):  New function.
	(make_vararg):  New function.
	(add_subroutines):  Add fe_runtime_error.
	(gfc_intrinsic_sub_interface): Skip sorting for variable number
	of arguments.
	* iresolve.c (gfc_resolve_fe_runtime_error):  New function.
	* lang.opt (inline-matmul-limit):  New option.
	(gfc_post_options): If no inline matmul limit has been set and
	BLAS is called externally, use the BLAS limit.
	* frontend-passes.c:  Include intrinsic.h.
	(var_num):  New global counter for naming temporary variablbles.
	(matrix_case):  Enum for differentiating the different matmul
	cases.
	(realloc_string_callback):  Add "trim" to the variable name.
	(create_var): Add optional argument vname as part of the name.
	Use var_num. Set dimension of result correctly. Split off block
	creation into
	(insert_block): New function.
	(cfe_expr_0): Use "fcn" as part of temporary variable name.
	(optimize_namesapce): Also set gfc_current_ns. Call
	inline_matmul_assign.
	(combine_array_constructor):  Use "constr" as part of
	temporary name.
	(get_array_inq_function):  New function.
	(build_logical_expr):  New function.
	(get_operand):  new function.
	(inline_limit_check):  New function.
	(runtime_error_ne):  New function.
	(matmul_lhs_realloc):  New function.
	(is_functino_or_op):  New function.
	(has_function_or_op):  New function.
	(freeze_expr):  New function.
	(freeze_references):  New function.
	(convert_to_index_kind):  New function.
	(create_do_loop):  New function.
	(get_size_m1):  New function.
	(scalarized_expr):  New function.
	(inline_matmul_assign):  New function.
	* simplify.c (simplify_bound):  Simplify the case of the
	lower bound of an assumed-shape argument.

2015-05-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/37131
	* gfortran.dg/dependency_26.f90: Add option to suppress inlining
	matmul.
	* gfortran.dg/function_optimize_1.f90:  Likewise.
	* gfortran.dg/function_optimize_2.f90:  Likewise.
	* gfortran.dg/function_optimize_5.f90:  Likewise.
	* gfortran.dg/function_optimize_7.f90:  Likewise.
	* gfortran.dg/inline_matmul_1.f90:  New test.
	* gfortran.dg/inline_matmul_2.f90:  New test.
	* gfortran.dg/inline_matmul_3.f90:  New test.
	* gfortran.dg/inline_matmul_4.f90:  New test.
	* gfortran.dg/inline_matmul_5.f90:  New test.
	* gfortran.dg/inline_matmul_6.f90:  New test.

From-SVN: r222864
2015-05-06 20:23:48 +00:00
David Malcolm
5631585aa6 jit: add test-benchmark.c
gcc/testsuite/ChangeLog:
	* jit.dg/harness.h (set_options): Wrap with
	#ifndef TEST_ESCHEWS_SET_OPTIONS.
	* jit.dg/jit.exp (is_testcase_meant_to_generate_a_reproducer):
	Special-case test-benchmark.c as a negative.
	* jit.dg/test-benchmark.c: New file.

From-SVN: r222863
2015-05-06 20:13:50 +00:00
Julian Brown
d2463960a4 oacc-init.c (acc_device_lock): Add explanatory comment.
* oacc-init.c (acc_device_lock): Add explanatory comment.
	(resolve_device): Add comment about locking requirement.
	(acc_init_1, acc_shutdown_1): Likewise. Add locking around
	gomp_init_device and gomp_fini_device calls.
	(acc_get_num_devices, acc_set_device_type, acc_get_device_type)
	(acc_get_device_num, acc_set_device_num): Add locking around
	resolve_device and gomp_init_device calls.

From-SVN: r222862
2015-05-06 19:10:14 +00:00
Julian Brown
e38fdba42b oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for goacc_thread_lock on error paths.
* oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
	goacc_thread_lock on error paths.
	* oacc-mem.c (lookup_host): Remove locking from function. Note
	locking requirement for caller in function comment.
	(lookup_dev): Likewise.
	(acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
	(acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
	(update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
	Add locking.

From-SVN: r222860
2015-05-06 16:45:49 +00:00
Sandra Loosemore
5a0ff57c48 unknown-elf.h (STARTFILE_SPEC): Add conditional linking of crtfastmath.o.
2015-05-06  Sandra Loosemore  <sandra@codesourcery.com>
	    Chris Jones  <chrisj@nvidia.com>
	    Joshua Conner  <jconner@nvidia.com>

	gcc/
	* config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
	linking of crtfastmath.o.
	* config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.

	libgcc/
	* config.host (arm*-*-linux*): Add support for crtfastmath.o.
	(arm*-*-uclinux*): Likewise.
	(arm*-*-eabi* | arm*-*-rtems*): Likewise.
	* config/arm/crtfastmath.c: New file.


Co-Authored-By: Chris Jones <chrisj@nvidia.com>
Co-Authored-By: Joshua Conner <jconner@nvidia.com>

From-SVN: r222857
2015-05-06 12:01:05 -04:00
Segher Boessenkool
29e597d0e6 rs6000.md (cstore<mode>4_signed_imm): New expander.
* config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
	(cstore<mode>4_unsigned_imm): New expander.
	(cstore<mode>4): Remove empty constraint strings.  Use the new
	expanders.

From-SVN: r222855
2015-05-06 17:55:10 +02:00
Yvan Roux
93e956161e re PR target/64208 ([iwmmxt] ICE: internal compiler error: Max. number of generated reload insns per insn is achieved (90))
gcc/
2015-05-06  Yvan Roux  <yvan.roux@linaro.org>

	PR target/64208
	* config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
	alternatives.

gcc/testsuite/
2015-05-06  Yvan Roux  <yvan.roux@linaro.org>

	PR target/64208
	* gcc.target/arm/pr64208.c: New test.

From-SVN: r222853
2015-05-06 14:23:57 +00:00
Szabolcs Nagy
2149da1b26 [AArch64] Fix geniterators.sh to use standard BRE syntax in sed
On behalf of Szabolcs Nagy.

2015-05-06  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/geniterators.sh: Use standard BRE in sed.

From-SVN: r222852
2015-05-06 13:23:01 +00:00
Alan Modra
d5e6e133bb re PR target/66033 (rs6000 nops removed by rtl_dce)
PR target/66033
	* config/rs6000/rs6000.md (nop): Use an unspec pattern.
	(UNSPEC_NOP): Define.
	(reload_vsx_from_gpr<mode>): Add missing DONE.
	(reload_gpr_from_vsx<mode>): Likewise.
	* config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
	(vsx_div_v2di, vsx_udiv_v2di): Likewise.

From-SVN: r222851
2015-05-06 22:42:19 +09:30
Alan Modra
2ed81af483 re PR target/66020 (FAIL: gcc.target/powerpc/ppc64-abi-2.c execution test)
PR target/66020
	* gcc.target/powerpc/ppc64-abi-2.c (my_mcount): Rewrite.
	(gparms): Make volatile.

From-SVN: r222850
2015-05-06 22:40:59 +09:30
Richard Biener
ccd8556454 re PR fortran/62283 (basic-block vectorization fails)
2015-05-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62283
	* gcc.dg/vect/bb-slp-32.c: Remove XFAIL.

From-SVN: r222849
2015-05-06 12:21:01 +00:00
Christian Bruel
487edc878f re PR target/66015 (align directives not propagated after __attribute__ ((__optimize__ ("O2"))))
2015-05-06  Christian Bruel  <christian.bruel@st.com>

	PR target/66015
	* config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
	align_jumps, align_functions into aarch64_override_options_after_change.

From-SVN: r222847
2015-05-06 12:54:40 +02:00
Richard Biener
240a94da04 tree-vect-slp.c (vect_supported_load_permutation_p): Use vect_transform_slp_perm_load to check if...
2015-05-06  Richard Biener  <rguenther@suse.de>

	* tree-vect-slp.c (vect_supported_load_permutation_p): Use
	vect_transform_slp_perm_load to check if we support a permutation
	for basic-block vectorization.

	* gcc.dg/vect/bb-slp-34.c: New testcase.

From-SVN: r222846
2015-05-06 10:49:35 +00:00
Nick Clifton
edbb33c795 rl78.c (need_to_save): Save register 22 if it is used, even if it is not being used as a frame pointer.
* config/rl78/rl78.c (need_to_save): Save register 22 if it is
	used, even if it is not being used as a frame pointer.

From-SVN: r222845
2015-05-06 10:19:07 +00:00
Richard Biener
c88718a925 re PR fortran/62283 (basic-block vectorization fails)
2015-05-06  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/62283
	* gcc.dg/vect/bb-slp-14.c: Adjust.

From-SVN: r222843
2015-05-06 06:47:38 +00:00
Jason Merrill
8243e2a9d0 c.opt (Wterminate): New.
gcc/c-family/
	* c.opt (Wterminate): New.
gcc/cp/
	* cp-gimplify.c (cp_genericize_r): Track TRY_BLOCK and
	MUST_NOT_THROW_EXPR, warn about a THROW_EXPR directly within a
	MUST_NOT_THROW_EXPR.
	(cp_genericize_data): Add try_block field.
	(cp_genericize_tree): Initialize it.
	* except.c (expand_end_catch_block): Set TREE_NO_WARNING on
	implicit rethrow.

From-SVN: r222842
2015-05-05 22:25:01 -04:00
Jason Merrill
81b6a6c55b Fix obj-c++.dg/encode-10.mm with cxx_dialect == cxx11.
* constexpr.c (potential_constant_expression_1) [AT_ENCODE_EXPR]:
	Return false.

From-SVN: r222841
2015-05-05 22:24:49 -04:00
Jason Merrill
32ad49af4c Fix g++.dg/torture/Wsizeof-pointer-memaccess2.C with -std=c++11
Fix g++.dg/torture/Wsizeof-pointer-memaccess2.C with -std=c++11
	* semantics.c (finish_call_expr): Check complain.

From-SVN: r222840
2015-05-05 22:24:44 -04:00
Jason Merrill
15ed2619b2 Fix gdb.cp/anon-struct.cc with -std=c++11.
gcc/
	* dwarf2out.c (gen_member_die): Don't emit anything for an
	anonymous class constructor.
gcc/cp/
	* decl2.c (reset_type_linkage_2): Update the DECL_NAME of a
	maybe-in-charge constructor.

From-SVN: r222839
2015-05-05 22:24:38 -04:00
Jason Merrill
f8aa3dd388 decl.c (start_decl): Don't push the plain VAR_DECL for a variable template.
* decl.c (start_decl): Don't push the plain VAR_DECL for a
	variable template.

From-SVN: r222837
2015-05-05 22:07:40 -04:00
Jason Merrill
b8dd691344 DR 1518 DR 1630 PR c++/54835 PR c++/60417
DR 1518
	DR 1630
	PR c++/54835
	PR c++/60417
	* call.c (convert_like_real): Check value-initialization before
	explicit.
	* typeck2.c (process_init_constructor_record): Don't set
	CONSTRUCTOR_IS_DIRECT_INIT.
	(process_init_constructor_array): Likewise.
	* init.c (build_vec_init): Likewise.

From-SVN: r222836
2015-05-05 22:07:34 -04:00
GCC Administrator
99573e81e8 Daily bump.
From-SVN: r222834
2015-05-06 00:16:15 +00:00
Joseph Myers
c72f37e6ae * sv.po: Update.
From-SVN: r222829
2015-05-05 22:30:18 +01:00
Ian Lance Taylor
5003ddad85 compiler: Don't make temporaries for constant string concatentation.
Fixes golang/go#10642.

From-SVN: r222828
2015-05-05 20:56:59 +00:00