Commit Graph

150403 Commits

Author SHA1 Message Date
DJ Delorie
1d2ccddf2e Oops, fix date
From-SVN: r243281
2016-12-06 01:40:07 -05:00
DJ Delorie
2207ff5dd1 * argv.c (expandargv): Check for directories passed as @-files.
From-SVN: r243280
2016-12-06 01:38:23 -05:00
Michael Meissner
202687fb7c re PR target/78688 (PowerPC fails bootstrap)
2016-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/78688
	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Use IN_RANGE
	instead of ((N) >= (X) && (N) <= (Y-X)) to silence warnings about
	comparing signed to unsigned values.
	(FUNCTION_ARG_REGNO_P): Likewise.

From-SVN: r243278
2016-12-06 00:58:40 +00:00
GCC Administrator
2d170acb26 Daily bump.
From-SVN: r243277
2016-12-06 00:16:18 +00:00
Joseph Myers
51d20f2160 * es.po, fr.po: Update.
From-SVN: r243273
2016-12-05 22:49:31 +00:00
Bill Schmidt
8907a722fd re PR tree-optimization/78646 (incorrect result type for pointer addition in slsr)
2016-12-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
	    Stefan Freudenberger  <stefan@reservoir.com>

	PR tree-optimization/78646
	* gimple-ssa-strength-reduction.c (replace_ref): The pointer
	addition used for the memory base expression should have the type
	of the candidate.


Co-Authored-By: Stefan Freudenberger <stefan@reservoir.com>

From-SVN: r243272
2016-12-05 21:48:27 +00:00
Jeff Law
e3cc0f6bb6 re PR target/71721 (uclinux posix threads)
PR target/71721
	* config.gcc (*-*-uclinux*): Enable posix threads.
Adding BZ marker

From-SVN: r243269
2016-12-05 10:49:41 -07:00
Waldemar Brodkorb
09955a3259 * config.gcc (*-*-uclinux*): Enable posix threads.
From-SVN: r243268
2016-12-05 10:48:39 -07:00
Andrew Senkevich
6901ea625b Add AVX512 k-mask intrinsics
gcc/

2016-12-05  Andrew Senkevich  <andrew.senkevich@intel.com>

	* config/i386/avx512bwintrin.h: Add new k-mask intrinsics.
	* config/i386/avx512dqintrin.h: Ditto.
	* config/i386/avx512fintrin.h: Ditto.
	* config/i386/i386-builtin-types.def (UCHAR_FTYPE_UQI_UQI_PUCHAR,
	UCHAR_FTYPE_UHI_UHI_PUCHAR, UCHAR_FTYPE_USI_USI_PUCHAR,
	UCHAR_FTYPE_UDI_UDI_PUCHAR, UCHAR_FTYPE_UQI_UQI, UCHAR_FTYPE_UHI_UHI,
	UCHAR_FTYPE_USI_USI, UCHAR_FTYPE_UDI_UDI, UQI_FTYPE_UQI_INT,
	UHI_FTYPE_UHI_INT, USI_FTYPE_USI_INT, UDI_FTYPE_UDI_INT,
	UQI_FTYPE_UQI, USI_FTYPE_USI, UDI_FTYPE_UDI, UQI_FTYPE_UQI_UQI): New
	function types.
	* config/i386/i386-builtin.def (__builtin_ia32_knotqi,
	__builtin_ia32_knotsi, __builtin_ia32_knotdi,
	__builtin_ia32_korqi, __builtin_ia32_korsi, __builtin_ia32_kordi,
	__builtin_ia32_kxnorqi, __builtin_ia32_kxnorsi,
	__builtin_ia32_kxnordi, __builtin_ia32_kxorqi, __builtin_ia32_kxorsi,
	__builtin_ia32_kxordi, __builtin_ia32_kandqi,
	__builtin_ia32_kandsi, __builtin_ia32_kanddi, __builtin_ia32_kandnqi,
	__builtin_ia32_kandnsi, __builtin_ia32_kandndi): New.
	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.

gcc/testsuite/

2016-12-05  Andrew Senkevich  <andrew.senkevich@intel.com>

	* gcc.target/i386/avx512bw-kandd-1.c: New.
	* gcc.target/i386/avx512bw-kandnd-1.c: Ditto.
	* gcc.target/i386/avx512bw-kandnq-1.c: Ditto.
	* gcc.target/i386/avx512bw-kandq-1.c: Ditto.
	* gcc.target/i386/avx512bw-knotd-1.c: Ditto.
	* gcc.target/i386/avx512bw-knotq-1.c: Ditto.
	* gcc.target/i386/avx512bw-kord-1.c: Ditto.
	* gcc.target/i386/avx512bw-korq-1.c: Ditto.
	* gcc.target/i386/avx512bw-kunpckdq-3.c: Ditto.
	* gcc.target/i386/avx512bw-kunpckwd-3.c: Ditto.
	* gcc.target/i386/avx512bw-kxnord-1.c: Ditto.
	* gcc.target/i386/avx512bw-kxnorq-1.c: Ditto.
	* gcc.target/i386/avx512bw-kxord-1.c: Ditto.
	* gcc.target/i386/avx512bw-kxorq-1.c: Ditto.
	* gcc.target/i386/avx512dq-kandb-1.c: Ditto.
	* gcc.target/i386/avx512dq-kandnb-1.c: Ditto.
	* gcc.target/i386/avx512dq-knotb-1.c: Ditto.
	* gcc.target/i386/avx512dq-korb-1.c: Ditto.
	* gcc.target/i386/avx512dq-kxnorb-1.c: Ditto.
	* gcc.target/i386/avx512dq-kxorb-1.c: Ditto.
	* gcc.target/i386/avx512f-kunpckbw-3.c: Ditto.
	* gcc.target/i386/avx512f-kandnw-1.c: Removed unneeded check.

From-SVN: r243265
2016-12-05 09:18:42 -08:00
Segher Boessenkool
a80b4f579a Subject: [PATCH] Revert "Do not simplify "(and (reg) (const bit)" to
if_then_else."


	* combine.c: Revert r243162.

From-SVN: r243256
2016-12-05 14:54:42 +01:00
Paolo Bonzini
519e0faa00 match.pd: Simplify X ? C : 0 where C is a power of 2 and X tests a single bit.
gcc:
* match.pd: Simplify X ? C : 0 where C is a power of 2 and
X tests a single bit.

gcc/testsuite:
* gcc.dg/fold-and-lshift.c, gcc.dg/fold-and-rshift-1.c,
gcc.dg/fold-and-rshift-2.c: New testcases.

From-SVN: r243255
2016-12-05 13:19:34 +00:00
Nathan Sidwell
d0ea9f0aa2 diagnostic.c (diagnostic_check_max_errors): New, broken out of ...
gcc/
	* diagnostic.c (diagnostic_check_max_errors): New, broken out of ...
	(diagnostic_action_after_output): ... here.
	(diagnostic_report_diagnostic): Call it for non-notes.
	* diagnostic.h (struct diagnostic_context): Make max_errors signed
	int.
	(diagnostic_check_max_errors): Declare.

	gcc/fortran/
	* error.c (gfc_warning_check): Call diagnostic_check_max_errors.
	(gfc_error_check): Likewise.

	gcc/testsuite/
	* c-c++-common/fmax_errors.c: Check notes after last error are
	emitted.

From-SVN: r243254
2016-12-05 12:24:39 +00:00
Mikael Pettersson
fb5e7daea5 re PR ada/48835 (porting GNAT to m68k-linux)
PR ada/48835
	* gcc-interface/Makefile.in: Add support for m68k-linux.
	* system-linux-m68k.ads: New file.

From-SVN: r243247
2016-12-05 11:27:55 +00:00
Cupertino Miranda
62440b4f0e [ARC] Fix PIE.
gcc/
2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>

	* config/arc/arc.h (STARTFILE_SPEC): Use default linux specs.
	(ENDFILE_SPEC): Likewise.

libgcc/
2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>

	* config.host (arc*-*-linux-uclibc*): Use default extra
	objects. Include linux-android header.
	* config/arc/crti.S (_init): Declare symbol as function.
	(_fini): Likewise.

From-SVN: r243245
2016-12-05 12:16:52 +01:00
Claudiu Zissulescu
5a5c5784d8 [ARC] Remove unused patterns, refactor unspec+offset pattern gen.
2016-12-05  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc-protos.h (insn_is_tls_gd_dispatch): Remove.
	* config/arc/arc.c (arc_unspec_offset): New function.
	(arc_finalize_pic): Change.
	(arc_emit_call_tls_get_addr): Likewise.
	(arc_legitimize_tls_address): Likewise.
	(arc_legitimize_pic_address): Likewise.
	(insn_is_tls_gd_dispatch): Remove.
	* config/arc/arc.h (INSN_REFERENCES_ARE_DELAYED): Change.
	* config/arc/arc.md (ls_gd_load): Remove unused pattern.
	(tls_gd_dispatch): Likewise.

From-SVN: r243244
2016-12-05 12:16:38 +01:00
Eric Botcazou
aad6838ec7 system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only if the word size is 64.
* system-darwin-ppc.ads (Support_Atomic_Primitives): Set to True only
	if the word size is 64.

From-SVN: r243243
2016-12-05 11:15:17 +00:00
Andre Vieira
5ffd5f3696 Fix arm-netbsdelf bootstrap.
2016-12-025  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/arm/arm.c (TARGET_ASM_INIT_SECTIONS): Fix wrong undef
	location.

From-SVN: r243240
2016-12-05 09:44:24 +00:00
James Greenhalgh
648e17d28d [Patch 2/2 PR78561] Recalculate constant pool size before emitting it
gcc/testsuite/

	PR rtl-optimization/78561
	* gcc.target/aarch64/pr78561.c: Add missing testcase from r243183.

From-SVN: r243239
2016-12-05 09:35:28 +00:00
Eric Botcazou
dc7342d291 sparc-protos.h (sparc_splitdi_legitimate): Rename to...
* config/sparc/sparc-protos.h (sparc_splitdi_legitimate): Rename to...
	(sparc_split_reg_mem_legitimate): ...this.
	(sparc_split_reg_mem): Declare.
	(sparc_split_mem_reg): Likewise.
	(sparc_split_regreg_legitimate): Rename to...
	(sparc_split_reg_reg_legitimate): ...this.
	* config/sparc/sparc.c (sparc_splitdi_legitimate): Rename to...
	(sparc_split_reg_mem_legitimate): ...this.
	(sparc_split_reg_mem): New function.
	(sparc_split_mem_reg): Likewise.
	(sparc_split_regreg_legitimate): Rename to...
	(sparc_split_reg_reg_legitimate): ...this.
	(sparc_split_reg_reg): New function.
	* config/sparc/sparc.md (lra): Remove "none" value.
	(enabled): Adjust to above change.
	(*movdi_insn_sp32): Remove new (r,T) alternative and reorder others.
	(DImode splitters): Adjust to above renamings and use new functions.
	(*movdf_insn_sp32): Remove new (r,T) alternative and reorder others.
	(DFmode splitters): Adjust to above renamings and use new functions.
	(*mov<VM64:mode>_insn_sp64): Replace C with Z constraint and use W
	constraint in conjunction with e.
	(*mov<VM64:mode>_insn_sp32): Remove new (r,T) alternative, add (o,Y)
	alternative and reorder others.
	(VM64:mode splitters): Adjust to above renamings and use new functions.

From-SVN: r243238
2016-12-05 09:30:57 +00:00
GCC Administrator
b2a8d083c5 Daily bump.
From-SVN: r243235
2016-12-05 00:16:15 +00:00
Janus Weil
aa7cfe4057 re PR fortran/78618 (ICE in gfc_check_rank, at fortran/check.c:3670)
2016-12-04  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/78618
	* intrinsic.c (gfc_convert_type_warn): Do not set the full typespec for
	the conversion symbol, but only type and kind. Set the full typespec
	for the expression.
	(gfc_convert_chartype): Ditto.

From-SVN: r243232
2016-12-04 21:31:26 +01:00
Martin Sebor
5dcf456180 PR c/78668 - aligned_alloc, realloc, et al. missing attribute alloc_size
gcc/ChangeLog:

	PR c/78668
        * builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New
        identifier tree nodes.
        (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list.
        (ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same.
        (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same.
        (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same.
        (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same.
        * builtins.def (aligned_alloc, calloc, malloc, realloc):
        Add attribute alloc_size.
        (alloca): Add attribute alloc_size and returns_nonnull.

gcc/testsuite/ChangeLog:

	PR c/78668
	* gcc.dg/builtin-alloc-size.c: New test.

From-SVN: r243231
2016-12-04 10:48:44 -07:00
Uros Bizjak
6b7d845323 re PR target/70322 (STV doesn't optimize andn)
PR target/70322
	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle NEG.
	(dimode_scalar_chain::compute_convert_gain): Ditto.
	(dimode_scalar_chain::convert_insn): Ditto.

testsuite/ChangeLog:

	PR target/70322
	* gcc.target/i386/pr70322-4.c: New test.

From-SVN: r243228
2016-12-04 15:38:05 +01:00
GCC Administrator
c818397a98 Daily bump.
From-SVN: r243227
2016-12-04 00:16:17 +00:00
Janus Weil
4ceda20498 re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions)
2016-12-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/43207
	* primary.c (gfc_match_varspec): Reject nonpolymorphic references to
	abstract types.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/43207
	* gfortran.dg/abstract_type_9.f90: New test case.

From-SVN: r243224
2016-12-03 19:48:48 +01:00
Janus Weil
20fee4a901 re PR fortran/42188 ([OOP] F03:C612. The leftmost part-name shall be the name of a data object.)
2016-12-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42188
	* primary.c (gfc_match_rvalue): Add a new check that gives better error
	messages.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42188
	* gfortran.dg/derived_result_2.f90.f90: New test case.

From-SVN: r243223
2016-12-03 19:37:57 +01:00
Eric Botcazou
54b84aa945 lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all cases to build a lowpart SUBREG.
* lra-constraints.c (emit_spill_move): Use gen_lowpart_SUBREG in all
	cases to build a lowpart SUBREG.

From-SVN: r243222
2016-12-03 17:37:13 +00:00
Eric Botcazou
7c3cace17c constraints.md (U): Adjust comment.
* config/sparc/constraints.md (U): Adjust comment.
	* config/sparc/sparc.md (lra): New attribute.
	(enabled): For base instructions, if the lra attribute is set,
	return 1 if it is in keeping with TARGET_LRA.
	(*movdi_insn_sp32): Add lra attribute for alternatives mentioning U
	constraint and duplicate them with U replaced by r.
	(*movdf_insn_sp32): Likewise.
	(*mov<VM64:mode>_insn_sp32): Likewise.
	(*movtf_insn_sp32): Remove alternatives mentioning U constraint.

From-SVN: r243221
2016-12-03 17:29:43 +00:00
John David Anglin
f9b6b9291d baseline_symbols.txt: Regenerate.
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Regenerate.

From-SVN: r243220
2016-12-03 16:10:43 +00:00
Thomas Koenig
31cfd83286 re PR libfortran/78379 (Processor-specific versions for matmul)
2016-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR fortran/78379
        * config/i386/cpuinfo.c:  Move denums for processor vendors,
        processor type, processor subtypes and declaration of
        struct __processor_model into
        * config/i386/cpuinfo.h:  New header file.
        * Makefile.am:  Add dependence of m4/matmul_internal_m4 to
        mamtul files..
        * Makefile.in:  Regenerated.
        * acinclude.m4:  Check for AVX, AVX2 and AVX512F.
        * config.h.in:  Add HAVE_AVX, HAVE_AVX2 and HAVE_AVX512F.
        * configure:  Regenerated.
        * configure.ac:  Use checks for AVX, AVX2 and AVX_512F.
        * m4/matmul_internal.m4:  New file. working part of matmul.m4.
        * m4/matmul.m4:  Implement architecture-specific switching
        for AVX, AVX2 and AVX512F by including matmul_internal.m4
        multiple times.
        * generated/matmul_c10.c: Regenerated.
        * generated/matmul_c16.c: Regenerated.
        * generated/matmul_c4.c: Regenerated.
        * generated/matmul_c8.c: Regenerated.
        * generated/matmul_i1.c: Regenerated.
        * generated/matmul_i16.c: Regenerated.
        * generated/matmul_i2.c: Regenerated.
        * generated/matmul_i4.c: Regenerated.
        * generated/matmul_i8.c: Regenerated.
        * generated/matmul_r10.c: Regenerated.
        * generated/matmul_r16.c: Regenerated.
        * generated/matmul_r4.c: Regenerated.
        * generated/matmul_r8.c: Regenerated.

From-SVN: r243219
2016-12-03 09:44:35 +00:00
Janus Weil
802583a210 re PR fortran/58175 ([OOP] Incorrect warning message on scalar finalizer)
2016-12-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58175
	* resolve.c (gfc_resolve_finalizers): Prevent bogus warning.

2016-12-03  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/58175
	* gfortran.dg/finalize_30.f90: Extend test case.

From-SVN: r243218
2016-12-03 10:32:27 +01:00
Steven G. Kargl
98ff2d6b12 expr.c (gfc_build_conversion): Remove unneeded initialization.
2016-12-02   Steven G. Kargl  <kargl@gcc.gnu.org>

	* expr.c (gfc_build_conversion): Remove unneeded initialization.

From-SVN: r243217
2016-12-03 07:23:13 +00:00
Jeff Law
57c9def7d0 arm.c (arm_handle_cmse_nonsecure_call): Remove unused variable main_variant.
* config/arm/arm.c (arm_handle_cmse_nonsecure_call): Remove unused
	variable main_variant.

From-SVN: r243216
2016-12-02 19:02:51 -07:00
Michael Meissner
25207f51c4 config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by default on PowerPC linux systems.
2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config.gcc (powerpc*-*-linux*): Set gnu-indirect-function by
	default on PowerPC linux systems.

From-SVN: r243215
2016-12-03 00:41:44 +00:00
GCC Administrator
9dd059b7c3 Daily bump.
From-SVN: r243214
2016-12-03 00:16:15 +00:00
Segher Boessenkool
5bd12bafb5 simplify-rtx: Fix the last fix (PR78638)
I managed to get the last obvious fix wrong: mode is M1, GET_MODE (op)
is M2.


	* simplify-rtx.c (simplify_truncation): M2 is not mode, it is
	GET_MODE (op).  Fix this.

From-SVN: r243210
2016-12-03 00:51:31 +01:00
David Malcolm
bf7f70ffb5 selftest.c: remove calls to strndup (PR bootstrap/78616)
gcc/ChangeLog:
	PR bootstrap/78616
	* selftest.c (selftest::assert_strndup_eq): Rename to...
	(selftest::assert_xstrndup_eq): ...this, and remove call to
	strndup.
	(selftest::test_strndup): Rename to...
	(selftest::test_xstrndup): ...this, updating for above renaming.
	(selftest::test_libiberty): Update for renaming.

From-SVN: r243207
2016-12-02 22:39:43 +00:00
Michael Meissner
6556f65166 re PR target/78639 (Power9 bad code generation for cactusADM benchmark)
2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/78639
	* config/rs6000/rs6000.md (movdi_internal64): Fix typo in
	subversion id 242679 that causes the wrong store instruction to be
	generated if a DImode is in an Altivec register using REG+REG
	addressing.

From-SVN: r243206
2016-12-02 22:12:08 +00:00
Steven G. Kargl
471092175d simplify.c (gfc_convert_char_constant): Free result on error.
2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	* simplify.c (gfc_convert_char_constant): Free result on error.

From-SVN: r243205
2016-12-02 22:09:13 +00:00
Jakub Jelinek
a3f7c896a5 re PR c++/78649 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in build_value_init_noctor, at cp/init.c:380))
PR c++/78649
	* pt.c (tsubst_init): Don't call build_value_init if decl's type
	is error_mark_node.

	* g++.dg/cpp0x/pr78649.C: New test.

From-SVN: r243204
2016-12-02 22:23:22 +01:00
Uros Bizjak
81cff75ff9 re PR target/70322 (STV doesn't optimize andn)
PR target/70322
	* config/i386/i386.md (*andndi3_doubleword): Add non-BMI alternative
	and corresponding post-reload splitter.

testsuite/ChangeLog:

	PR target/70322
	* gcc.target/i386/pr70322-2.c (dg-final): Remove xfail.

From-SVN: r243202
2016-12-02 19:48:35 +01:00
Janus Weil
6ed022af2a [multiple changes]
2016-12-02  Janus Weil  <janus@gcc.gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78618
	* check.c (gfc_check_rank): Remove ATTRIBUTE_UNUSED.
	* expr.c (gfc_check_assign): Fix error propagation.

2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/78618
	* gfortran.dg/char_conversion.f90: New test.

From-SVN: r243201
2016-12-02 19:38:24 +01:00
Kyrylo Tkachov
827ab47ab1 [AArch64] Separate shrink wrapping hooks implementation
* config/aarch64/aarch64.h (machine_function): Add
	reg_is_wrapped_separately field.
	* config/aarch64/aarch64.md (LAST_SAVED_REGNUM): Define new constant.
	* config/aarch64/aarch64.c (emit_set_insn): Change return type to
	rtx_insn *.
	(aarch64_save_callee_saves): Don't save registers that are wrapped
	separately.
	(aarch64_restore_callee_saves): Don't restore registers that are
	wrapped separately.
	(offset_9bit_signed_unscaled_p, offset_12bit_unsigned_scaled_p,
	aarch64_offset_7bit_signed_scaled_p): Move earlier in the file.
	(aarch64_get_separate_components): New function.
	(aarch64_get_next_set_bit): Likewise.
	(aarch64_components_for_bb): Likewise.
	(aarch64_disqualify_components): Likewise.
	(aarch64_emit_prologue_components): Likewise.
	(aarch64_emit_epilogue_components): Likewise.
	(aarch64_set_handled_components): Likewise.
	(aarch64_process_components): Likewise.
	(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
	TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
	TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
	TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
	TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
	TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.

From-SVN: r243200
2016-12-02 17:13:08 +00:00
Martin Jambor
8a87dced20 Move rebuild_cfg to the end of build_ssa_passes
2016-12-02  Martin Jambor  <mjambor@suse.cz>

	* passes.def: Move pass_rebuild_cgraph_edges to the end of
	pass_build_ssa_passes.

From-SVN: r243199
2016-12-02 18:05:10 +01:00
Uros Bizjak
2e3af7e2f4 alpha.md (exception_receiver): Copy alpha_gp_ave_rtx return value.
* config/alpha/alpha.md (exception_receiver): Copy
	alpha_gp_ave_rtx return value.

From-SVN: r243197
2016-12-02 17:53:23 +01:00
Tadek Kijkowski
d2c82d98de Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several include directories that may be relative...
* Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
	for several include directories that may be relative to sysroot.
	* config/i386/x-mingw32 (gplus_includedir): Define.
	(gplus_tool_includedir, gplus_backward_include_dir): Likewise.
	(native_system_includedir): Likewise.
	* config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
	override if TARGET_SYSTEM_ROOT is defined.
	(NATIVE_SYSTEM_HEADER_DIR): Likewise.

From-SVN: r243196
2016-12-02 09:34:28 -07:00
Jakub Jelinek
17c69eff82 re PR target/70322 (STV doesn't optimize andn)
PR target/70322
	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle
	NOT.
	(dimode_scalar_chain::compute_convert_gain): Likewise.
	(dimode_scalar_chain::convert_insn): Likewise.
	* config/i386/i386.md (*one_cmpldi2_doubleword): New
	define_insn_and_split.
	(one_cmpl<mode>2): Use SWIM1248x iterator instead of SWIM.

	* gcc.target/i386/pr70322-1.c: New test.
	* gcc.target/i386/pr70322-2.c: New test.
	* gcc.target/i386/pr70322-3.c: New test.

From-SVN: r243195
2016-12-02 17:28:41 +01:00
Jakub Jelinek
eb61d07eda re PR target/78614 (ICE error: invalid rtl sharing found in the insn (verify_rtx_sharing) gcc/emit-rtl.c:2743)
PR target/78614
	* rtl.c (copy_rtx): Don't clear used flag here.
	(shallow_copy_rtx_stat): Clear used flag here unless code the rtx
	is shareable.
	* simplify-rtx.c (simplify_replace_fn_rtx): When copying rtx with
	'E' in format, copy all vectors.
	* emit-rtl.c (copy_insn_1): Don't clear used flag here.
	* valtrack.c (cleanup_auto_inc_dec): Likewise.
	* config/rs6000/rs6000.c (rs6000_frame_related): Likewise.

From-SVN: r243194
2016-12-02 16:42:04 +01:00
Andre Vieira
8261e476cb Added support for ARMV8-M Security Extension cmse_nonsecure_caller intrinsic
gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
		Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/arm-builtins.c (arm_builtins): Define
	ARM_BUILTIN_CMSE_NONSECURE_CALLER.
	(bdesc_2arg): Add line for cmse_nonsecure_caller.
	(arm_init_builtins): Handle cmse_nonsecure_caller.
	(arm_expand_builtin): Likewise.
	* config/arm/arm_cmse.h (cmse_nonsecure_caller): New.

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
		Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* gcc.target/arm/cmse/cmse-1.c: Add test for
	cmse_nonsecure_caller.


Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>

From-SVN: r243193
2016-12-02 15:34:36 +00:00
Andre Vieira
c92e08e3d7 ARMv8-M Security Extension's cmse_nonsecure_call: use __gnu_cmse_nonsecure_call
gcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
		Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/arm.c (detect_cmse_nonsecure_call): New.
	(cmse_nonsecure_call_clear_caller_saved): New.
	(arm_reorg): Use cmse_nonsecure_call_clear_caller_saved.
	(arm_function_ok_for_sibcall): Disable sibcalls for
	cmse_nonsecure_call.
	* config/arm/arm-protos.h (detect_cmse_nonsecure_call): New.
	* config/arm/arm.md (call): Handle cmse_nonsecure_entry.
	(call_value): Likewise.
	(nonsecure_call_internal): New.
	(nonsecure_call_value_internal): New.
	* config/arm/thumb1.md (*nonsecure_call_reg_thumb1_v5): New.
	(*nonsecure_call_value_reg_thumb1_v5): New.
	* config/arm/thumb2.md (*nonsecure_call_reg_thumb2): New.
	(*nonsecure_call_value_reg_thumb2): New.
	* config/arm/unspecs.md (UNSPEC_NONSECURE_MEM): New.

    libgcc/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
	       Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/cmse_nonsecure_call.S: New.
	* config/arm/t-arm: Compile cmse_nonsecure_call.S

    gcc/testsuite/ChangeLog:
    2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
		Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* gcc.target/arm/cmse/cmse.exp: Run tests in mainline dir.
	* gcc.target/arm/cmse/cmse-9.c: Added some extra tests.
	* gcc.target/arm/cmse/cmse-14.c: New.
	* gcc.target/arm/cmse/baseline/bitfield-4.c: New.
	* gcc.target/arm/cmse/baseline/bitfield-5.c: New.
	* gcc.target/arm/cmse/baseline/bitfield-6.c: New.
	* gcc.target/arm/cmse/baseline/bitfield-7.c: New.
	* gcc.target/arm/cmse/baseline/bitfield-8.c: New.
	* gcc.target/arm/cmse/baseline/bitfield-9.c: New.
	* gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: New.
	* gcc.target/arm/cmse/baseline/cmse-11.c: New.
	* gcc.target/arm/cmse/baseline/cmse-13.c: New.
	* gcc.target/arm/cmse/baseline/cmse-6.c: New.
	* gcc.target/arm/cmse/baseline/union-1.c: New.
	* gcc.target/arm/cmse/baseline/union-2.c: New.
	* gcc.target/arm/cmse/mainline/bitfield-4.c: New.
	* gcc.target/arm/cmse/mainline/bitfield-5.c: New.
	* gcc.target/arm/cmse/mainline/bitfield-6.c: New.
	* gcc.target/arm/cmse/mainline/bitfield-7.c: New.
	* gcc.target/arm/cmse/mainline/bitfield-8.c: New.
	* gcc.target/arm/cmse/mainline/bitfield-9.c: New.
	* gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: New.
	* gcc.target/arm/cmse/mainline/union-1.c: New.
	* gcc.target/arm/cmse/mainline/union-2.c: New.
	* gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: New.
	* gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: New.
	* gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: New.
	* gcc.target/arm/cmse/mainline/hard/cmse-13.c: New.
	* gcc.target/arm/cmse/mainline/hard/cmse-7.c: New.
	* gcc.target/arm/cmse/mainline/hard/cmse-8.c: New.
	* gcc.target/arm/cmse/mainline/soft/cmse-13.c: New.
	* gcc.target/arm/cmse/mainline/soft/cmse-7.c: New.
	* gcc.target/arm/cmse/mainline/soft/cmse-8.c: New.
	* gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: New.
	* gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: New.
	* gcc.target/arm/cmse/mainline/softfp/cmse-13.c: New.
	* gcc.target/arm/cmse/mainline/softfp/cmse-7.c: New.
	* gcc.target/arm/cmse/mainline/softfp/cmse-8.c: New.


Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>

From-SVN: r243192
2016-12-02 15:33:26 +00:00