Commit Graph

61800 Commits

Author SHA1 Message Date
Sandra Loosemore ebd4a2097b re PR target/1078 (Problems with attributes documentation)
2016-01-05  Sandra Loosemore <sandra@codesourcery.com>

	PR 1078
	gcc/
	* doc/extend.texi (V850 Function Attributes): New section.
	(V850 Variable Attributes): New section.

From-SVN: r232085
2016-01-05 14:45:43 -05:00
Sandra Loosemore 0d19c66df4 re PR target/1078 (Problems with attributes documentation)
2016-01-05  Sandra Loosemore <sandra@codesourcery.com>

	PR 1078
	gcc/
	* doc/extend.texi (MicroBlaze Function Attributes): Document
	interrupt_handler and fast_interrupt attributes.

From-SVN: r232081
2016-01-05 13:04:01 -05:00
Sergei Trofimovich face88a110 [PATCH v2] ia64: don't use dynamic relocations for local symbols PR other/60465
[PATCH v2] ia64: don't use dynamic relocations for local symbols
	PR other/60465
	* config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
	for local symbolic operands.
	* config/ia64/predicates.md (local_symbolic_operand64): New
	predicate.

        PR other/60465
	* gcc.target/ia64/pr60465-gprel64.c: New test.
	* gcc.target/ia64/pr60465-gprel64-c37.c: New test.

From-SVN: r232080
2016-01-05 10:57:05 -07:00
Kyrylo Tkachov a0866effcd [combine][v2] Canonicalise (r + r) to (r << 1) to aid recognition
PR rtl-optimization/68651
	* combine.c (combine_simplify_rtx): Canonicalize x + x into
	x << 1.

	* gcc.target/aarch64/pr68651_1.c: New test.

From-SVN: r232077
2016-01-05 16:06:06 +00:00
Nathan Sidwell 929710d96c alias.c (compare_base_decls): Use symtab_node::get.
gcc/
	* alias.c (compare_base_decls): Use symtab_node::get.

	gcc/testsuite/
	* gcc.dg/alias-15.c: New.

From-SVN: r232073
2016-01-05 14:15:01 +00:00
Nick Clifton a2faef8e06 re PR target/68770 (Conditional jump or move depends on uninitialised value(s) default_secondary_reload() targhooks.c:940)
PR target/68770
	* ira-costs.c (copy_cost): Initialise the t_icode field of the
	secondary_reload_info structure.

tests:	* g++.dg/pr68770.C: New test.

From-SVN: r232072
2016-01-05 13:20:29 +00:00
Nick Clifton 3360dc9fc2 re PR target/66655 (miscompilation due to ipa-ra on MinGW)
PR target/66655
	* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
	decls if weak support is available.

From-SVN: r232071
2016-01-05 10:57:01 +00:00
Martin Sebor 56f2741b17 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
From-SVN: r232070
2016-01-04 19:53:10 -07:00
Michael Meissner d290b03760 rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add OPTION_MASK_P9_DFORM.
2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
	OPTION_MASK_P9_DFORM.

From-SVN: r232061
2016-01-04 19:04:49 +00:00
Michael Meissner 4e8a3a35d8 constraints.md (wo constraint): New constraint for ISA 3.0 (power9).
[gcc]
2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/constraints.md (wo constraint): New constraint for
	ISA 3.0 (power9).

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
	for wo constraint.
	(rs6000_init_hard_regno_mode_ok): Likewise.

	* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
	wo constraint.

	* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
	expanders not to have constraints.  Add support for ISA 3.0 xxperm
	instruction.  Add support for fusing xxlor with xxperm.
	(altivec_vperm_<mode>_internal): Likewise.
	(altivec_vperm_v8hiv16qi): Likewise.
	(altivec_vperm_<mode>v16q): Likewise.
	(altivec_vperm_<mode>_uns): Likewise.
	(vperm_v8hiv4si): Likewise.
	(vperm_v16qiv8hi): Likewise.

	* doc/md.texi (RS/6000 constraints): Document wo constraint.

[gcc/testsuite]
2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc.target/powerpc/p9-permute.c: New test for xxperm code
	generation.

From-SVN: r232060
2016-01-04 18:22:52 +00:00
Jakub Jelinek 818ab71a41 Update copyright years.
From-SVN: r232055
2016-01-04 15:30:50 +01:00
Jakub Jelinek 21fa2a29dc gcc.c (process_command): Update copyright notice dates.
gcc/
	* gcc.c (process_command): Update copyright notice dates.
	* gcov-dump.c (print_version): Ditto.
	* gcov.c (print_version): Ditto.
	* gcov-tool.c (print_version): Ditto.
	* gengtype.c (create_file): Ditto.
	* doc/cpp.texi: Bump @copying's copyright year.
	* doc/cppinternals.texi: Ditto.
	* doc/gcc.texi: Ditto.
	* doc/gccint.texi: Ditto.
	* doc/gcov.texi: Ditto.
	* doc/install.texi: Ditto.
	* doc/invoke.texi: Ditto.
gcc/ada/
	* gnat_ugn.texi: Bump @copying's copyright year.
	* gnat_rm.texi: Likewise.
gcc/fortran/
	* gfortranspec.c (lang_specific_driver): Update copyright notice
	dates.
	* gfc-internals.texi: Bump @copying's copyright year.
	* gfortran.texi: Ditto.
	* intrinsic.texi: Ditto.
	* invoke.texi: Ditto.
gcc/go/
	* gccgo.texi: Bump @copyrights-go year.
gcc/java/
	* jcf-dump.c (version): Update copyright notice dates.
libgomp/
	* libgomp.texi: Bump @copying's copyright year.
libitm/
	* libitm.texi: Bump @copying's copyright year.
libjava/
	* classpath/gnu/java/rmi/registry/RegistryImpl.java (version): Update
	copyright notice dates.
	* classpath/tools/gnu/classpath/tools/orbd/Main.java (run): Ditto.
	* gnu/gcj/convert/Convert.java (version): Update copyright notice
	dates.
	* gnu/gcj/tools/gcj_dbtool/Main.java (main): Ditto.
libquadmath/
	* libquadmath.texi: Bump @copying's copyright year.

From-SVN: r232053
2016-01-04 14:03:35 +01:00
Eric Botcazou 8db883aa82 arm.c (aapcs_vfp_allocate_return_reg): Treat all integer modes larger than TImode as TImode if NEON is not enabled.
* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
	modes larger than TImode as TImode if NEON is not enabled.

From-SVN: r232051
2016-01-04 08:56:49 +00:00
Eric Botcazou 9e3b2fe375 re PR target/69100 (ICE in final_scan_insn with -msoft-float and __builtin_apply)
PR target/69100
	* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
	mode for %f0-%f31 only if TARGET_FPU.

From-SVN: r232050
2016-01-04 08:14:12 +00:00
Eric Botcazou e8d65a35d5 re PR target/69072 (ICE in function_arg_record_value on 7th packed structure)
PR target/69072
	* config/sparc/sparc.c (scan_record_type): Take into account subfields
	to compute the PACKED_P predicate.
	(function_arg_record_value): Minor tweaks.

From-SVN: r232049
2016-01-04 08:06:52 +00:00
Thomas Preud'homme a10f2c253c install.texi (--with-multilib-list): Describe the meaning of the option for arm*-*-* targets.
2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * doc/install.texi (--with-multilib-list): Describe the meaning of the
    option for arm*-*-* targets.

From-SVN: r232048
2016-01-04 05:40:53 +00:00
Sandra Loosemore 3c9511d8fa extend.texi (Common Function Attributes): Move docs for MSP430-specific attributes to....
2016-01-03  Sandra Loosemore <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Common Function Attributes): Move docs for
	MSP430-specific attributes to....
	(MSP430 Function Attributes): ...here.  Delete the redundant
	entries and copy-edit the remaining text.
	(MSP430 Variable Attributes): Use uniform format for index
	entries and add a cross-reference to the corresponding function
	attribute docs.

From-SVN: r232047
2016-01-03 21:44:45 -05:00
Vladimír Čunát db750ef997 invoke.texi (RS/6000 and PowerPC Options): Fix -finite-math typo.
2016-01-03  Vladimír Čunát <vcunat@gmail.com>

	gcc/
	* doc/invoke.texi (RS/6000 and PowerPC Options): Fix
	-finite-math typo.
	(x86 Options): Likewise.

From-SVN: r232046
2016-01-03 21:03:07 -05:00
Sandra Loosemore d59224e6cd re PR target/1078 (Problems with attributes documentation)
2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>

	PR 1078

	gcc/
	* extend.texi (Common Function Attributes) <no_stack_limit>: New.
	* invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
	to corresponding attribute.

From-SVN: r232034
2016-01-01 22:45:32 -05:00
Sandra Loosemore c9aa0b93a8 extend.texi (Common Function Attributes): Move to correct alphabetization of table.
2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi (Common Function Attributes) <noplt>: Move
	to correct alphabetization of table.  Copy-edit and correct
	markup.
	<stack_protect>: Likewise.
	<target_clones>: Likewise.
	<simd>: Likewise.
	* doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
	Correct punctuation.
	(Code Gen Options) <-fno-plt>: Copy-edit.

From-SVN: r232030
2016-01-01 18:54:10 -05:00
Bernd Edlinger fecd16d238 re PR target/68917 (test suite failure for builtin-bitops-1.c)
PR target/68917
	* config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
	SI values.  Explicitly convert SI to DI and vice-versa.

From-SVN: r232028
2016-01-01 18:45:41 +00:00
Jakub Jelinek 942a13194f re PR tree-optimization/69070 (ICE: tree check: expected real_cst, have ssa_name in gimple_expand_builtin_pow, at tree-ssa-math-opts.c:1541 with -fsignaling-nans and powl())
PR tree-optimization/69070
	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
	REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.

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

From-SVN: r232025
2016-01-01 12:55:59 +01:00
Jakub Jelinek 10dff63f98 re PR sanitizer/69055 (Internal compiler error -fsanitize=float-cast-overflow)
PR sanitizer/69055
	* ubsan.c (ubsan_instrument_float_cast): Call
	initialize_sanitizer_builtins.

	* gfortran.dg/pr69055.f90: New test.

From-SVN: r232024
2016-01-01 12:55:02 +01:00
Jakub Jelinek f1e0620c75 re PR target/69015 (ICE: RTL check: expected code 'code_label', have 'return' in find_cond_trap, at ifcvt.c:3715 with -fno-if-conversion and __builtin_trap())
PR target/69015
	* ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).

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

From-SVN: r232020
2016-01-01 00:51:50 +01:00
Jakub Jelinek 2f883d1c18 Rotate ChangeLog.
From-SVN: r232019
2016-01-01 00:50:54 +01:00
Nathan Sidwell 0a0f74aaf1 nvptx.c (nvptx_assemble_undefined_decl): Check it's not a constant pool object.
* config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Check
	it's not a constant pool object.

From-SVN: r232003
2015-12-30 15:52:59 +00:00
Michael Meissner ec21a884b3 rs6000.c (init_float128_ieee): Remove IEEE 128-bit comparison functions in cmp_optab and ucmp_optab.
2015-12-29  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (init_float128_ieee): Remove IEEE 128-bit
	comparison functions in cmp_optab and ucmp_optab.
	(rs6000_generate_compare): Rewrite IEEE 128-bit floating point
	software emulation comparisons to only use __eqkf2, __gekf2,
	__lekf2, and __unordkf2 functions.
	(rs6000_invalid_binary_op): Add support for -mfloat128-convert.

	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
	__FLOAT128_HARDWARE__ if hardware IEEE 128-bit support is
	available.

	* config/rs6000/rs6000.opt (-mfloat128-convert): Add debug switch
	to allow IBM extended double and IEEE 128-bit floating point to be
	converted with default conversions.

	* config/rs6000/rs6000.md (extendkftf2): Add converters between
	KFmode and TFmode if -mabi=ieeelongdouble.
	(trunctfkf2): Likewise.
	(ieee128_mfvsrd): Split 64-bit integer conversions into 32-bit and
	64-bit insns.
	(ieee128_mfvsrd_64bit): Likewise.
	(ieee128_mfvsrd_32bit): Likewise.
	(ieee128_mtvsrd): Likewise.
	(ieee128_mtvsrd_64bit): Likewise.
	(ieee128_mtvsrd_32bit): Likewise.

	* doc/extend.texi (Floating Types): Document that complex
	__float128 does not work currently.

	* doc/invoke.texi (RS/6000 and PowerPC Options): Document that
	-mfloat128 is only supported on PowerPC 64-bit Linux systems.

From-SVN: r231996
2015-12-29 17:15:14 +00:00
Bill Schmidt 5d57fdc109 rs6000.c (rs6000_emit_le_vsx_move): Verify that this is never called when lxvx/stxvx are available.
[gcc]

2015-12-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Verify that
	this is never called when lxvx/stxvx are available.
	(pass_analyze_swaps::gate): Don't perform swap optimization when
	lxvx/stxvx are available.
	* config/rs6000/vector.md (mov<mode>): Don't call
	rs6000_emit_le_vsx_move when lxvx/stxvx are available.
	* config/rs6000/vsx.md (*p9_vecload_<mode>): New define_insn.
	(*p9_vecstore_<mode>): Likewise.
	(*vsx_le_perm_load_<mode>:VSX_LE): Disable when lxvx/stxvx are
	available.
	(*vsx_le_perm_load_<mode>:VSX_W): Likewise.
	(*vsx_le_perm_load_v8hi): Likewise.
	(*vsx_le_perm_load_v16qi): Likewise.
	(*vsx_le_perm_store_<mode>:VSX_LE): Likewise.
	([related define_splits]): Likewise.
	(*vsx_le_perm_store_<mode>:VSX_W): Likewise.
	([related define_splits]): Likewise.
	(*vsx_le_perm_store_v8hi): Likewise.
	([related define_splits]): Likewise.
	(*vsx_le_perm_store_v16qi): Likewise.
	([related define_splits]): Likewise.
	(*vsx_lxvd2x2_le_<mode>): Likewise.
	(*vsx_lxvd2x4_le_<mode>): Likewise.
	(*vsx_lxvd2x8_le_V8HI): Likewise.
	(*vsx_lvxd2x16_le_V16QI): Likewise.
	(*vsx_stxvd2x2_le_<mode>): Likewise.
	(*vsx_stxvd2x4_le_<mode>): Likewise.
	(*vsx_stxvd2x8_le_V8HI): Likewise.
	(*vsx_stxvdx16_le_V16QI): Likewise.
	([define_peepholes for vector load fusion]): Likewise.

[gcc/testsuite]

2015-12-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/p9-lxvx-stxvx-1.c: New.
	* gcc.target/powerpc/p9-lxvx-stxvx-2.c: New.

From-SVN: r231974
2015-12-28 16:37:03 +00:00
Nathan Sidwell a02d84b6f8 nvptx.c (nvptx_output_call_insn): Expect hard regs.
* config/nvptx/nvptx.c (nvptx_output_call_insn): Expect hard regs.
	* config/nvptx/nvptx.md (nvptx_reg_or_mem_operand): Rename to ...
	(nvptx_nonimmediate_operand): ... here.  Update all uses.
	(call_insn_operand): Use REG_P.
	(call_operation): Allow hard regs.

From-SVN: r231972
2015-12-28 13:38:10 +00:00
Jan Hubicka 71713fa639 ipa-visibility.c (function_and_variable_visibility): Do not dissolve comdat groups when in LTO mode.
* ipa-visibility.c (function_and_variable_visibility): Do not
	dissolve comdat groups when in LTO mode.

From-SVN: r231965
2015-12-27 13:33:19 +00:00
Andreas Tobler 7cc913ef3a freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64 defines.
2015-12-25  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/rs6000/freebsd64.h: Delete FREEBSD_DYNAMIC_LINKER32/64
    defines. Use FBSD_DYNAMIC_LINKER instead.
    Rename and simplify LINK_OS_FREEBSD_SPEC_DEF32/64 to
    LINK_OS_FREEBSD_SPEC_DEF.

From-SVN: r231955
2015-12-25 21:58:58 +01:00
Peter Bergner 6ab9a51fcd Fix PR number in revision 231905 ChangeLogs.
From-SVN: r231954
2015-12-24 22:23:35 -06:00
Aditya Kumar 1cb287721a Use const-ref instead of values for sese_l passed to functions.
gcc/ChangeLog:

2015-12-24  hiraditya  <hiraditya@msn.com>

        * graphite-sese-to-poly.c (build_loop_iteration_domains): Use ref instead of value.
        * sese.c (invariant_in_sese_p_rec): Use const ref instead of value.
        (scalar_evolution_in_region): Same
        * sese.h (bb_in_region): Same
        (bb_in_sese_p): Same.
        (stmt_in_sese_p): Same.
        (defined_in_sese_p): Same.
        (loop_in_sese_p): Same.

From-SVN: r231947
2015-12-24 16:41:57 +00:00
Aditya Kumar 402cab17fd Fix computation of single entry/exit of a region.
For basic block with two preds, allow (as single entry) only when the other
edge is a backedge. Similarly for basic block with two succs,
allow (as single exit) only when the other edge is a back edge.

2015-12-21  Aditya Kumar  <hiraditya@msn.com>

        * graphite-scop-detection.c (scop_detection::get_nearest_dom_with_single_entry): Check l == l2.
        (scop_detection::get_nearest_pdom_with_single_exit): Same.
        (scop_detection::merge_sese): Whitespace.
        (scop_detection::add_scop): Comment.
        (build_scops): Whitespace.

From-SVN: r231946
2015-12-24 16:41:46 +00:00
Kirill Yukhin 41a4ef2243 Introduce support for PKU instructions.
gcc/
	* common/config/i386/i386-common.c (OPTION_MASK_ISA_PKU_SET): New.
	(OPTION_MASK_ISA_PKU_UNSET): Ditto.
	(ix86_handle_option): Handle OPT_mpku.
	* config.gcc: Add pkuintrin.h to i[34567]86-*-* and x86_64-*-*
	targets.
	* config/i386/cpuid.h (host_detect_local_cpu): Detect PKU feature.
	* config/i386/i386-c.c (ix86_target_macros_internal): Handle PKU ISA
	flag.
	* config/i386/i386.c (ix86_target_string): Add "-mpku" to
	ix86_target_opts.
	(ix86_option_override_internal): Define PTA_PKU, mention new key
	in skylake-avx512. Handle new ISA bits.
	(ix86_valid_target_attribute_inner_p): Add "pku".
	(enum ix86_builtins): Add IX86_BUILTIN_RDPKRU and IX86_BUILTIN_WRPKRU.
	(builtin_description bdesc_special_args[]): Add new built-ins.
	* config/i386/i386.h (define TARGET_PKU): New.
	(define TARGET_PKU_P): Ditto.
	* config/i386/i386.md (define_c_enum "unspecv"): Add UNSPEC_PKU.
	(define_expand "rdpkru"): New.
	(define_insn "*rdpkru"): Ditto.
	(define_expand "wrpkru"): Ditto.
	(define_insn "*wrpkru"): Ditto.
	* config/i386/i386.opt (mpku): Ditto.
	* config/i386/pkuintrin.h: New file.
	* config/i386/x86intrin.h: Include pkuintrin.h
	* doc/extend.texi: Describe new built-ins.
	* doc/invoke.texi: Describe new switches.
gcc/testsuite/
	* g++.dg/other/i386-2.C: Add -mpku.
	* g++.dg/other/i386-3.C: Ditto.
	* gcc.target/i386/rdpku-1.c: New test.
	* gcc.target/i386/sse-12.c: Add -mpku.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-22.c: Ditto.
	* gcc.target/i386/sse-33.c: Ditto.
	* gcc.target/i386/wrpku-1.c: New test.

From-SVN: r231944
2015-12-24 11:05:34 +00:00
Richard Henderson 6549bdc6be re PR ipa/67811 ([TM] ICE with try-block in transaction)
PR ipa/67811

 * tree-cfg.c (make_edges_bb): Add abort edge for outer transactions.

From-SVN: r231943
2015-12-23 16:45:15 -08:00
Nathan Sidwell 97b7f1385a cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL.
gcc/
	* cgraph.h (decl_in_symtab_p): Revert check DECL_IN_CONSTANT_POOL.

	gcc/testsuite/
	* gcc.dg/alias-15.c: Revert.

From-SVN: r231931
2015-12-23 18:17:19 +00:00
Nathan Sidwell bd602b7fcb * config/nvptx/nvptx-protos.h
(nvptx_maybe_convert_symbolic_operand): Delete prototype.
	* config/nvptx/nvptx.c (nvptx_maybe_convert_symbolic_operand): Delete.
	(nvptx_output_mov_insn): Record fnsym here.
	(nvptx_wpropagate): Don't create UNSPEC_TO_GENERIC unspec.
	* config/nvptx/nvptx.md (UNSPEC_TO_GENERIC): Delete.
	(symbolic_operand): Delete predicate.
	(nvptx_nonimmediate_operand): Delete predicate.
	(mov<mode>): Hard regs are perfectly ok here.
	(convaddr_<mode>): Delete.

From-SVN: r231930
2015-12-23 16:55:31 +00:00
Nathan Sidwell 7ec4f3438c alias.c (compare_base_decls): Simplify in-symtab check.
gcc/
	* alias.c (compare_base_decls): Simplify in-symtab check.
	* cgraph.h (decl_in_symtab_p): Check DECL_IN_CONSTANT_POOL.

	testsuite/
	* gcc.dg/alias-15.c: New.

From-SVN: r231928
2015-12-23 14:47:39 +00:00
Dominik Vogt 986e29bc6a Fix broken handling of LABEL_REF in genrecog + genpreds.
gcc/ChangeLog

	* config/s390/predicates.md ("larl_operand"): Remove now superfluous
	const_int and const_double.
	* genrecog.c (safe_predicate_mode): Return false for VOIDmode
	LABEL_REFs even if the predicate does not handle const_int,
	const_double or const_wide_int.
	* genpreds.c (add_mode_tests): Treat LABEL_REF like CONST_INT.

From-SVN: r231927
2015-12-23 11:06:20 +00:00
Thomas Schwinge c7b48c8ae5 Merge OMP_CLAUSE_USE_DEVICE into OMP_CLAUSE_USE_DEVICE_PTR
gcc/c/
	* c-parser.c (c_parser_oacc_clause_use_device): Merge function
	into...
	(c_parser_omp_clause_use_device_ptr): ... this function.  Adjust
	all users.
	gcc/
	* tree-core.h (enum omp_clause_code): Merge OMP_CLAUSE_USE_DEVICE
	into OMP_CLAUSE_USE_DEVICE_PTR.  Adjust all users.

From-SVN: r231926
2015-12-23 12:01:18 +01:00
David Sherwood 0a18c19f75 iterators.md (VMAXMINFNM): New int iterator.
2015-12-23  David Sherwood  <david.sherwood@arm.com>

    gcc/
        * config/arm/iterators.md (VMAXMINFNM): New int iterator.
        (fmaxmin): New int attribute.
        (fmaxmin_op): Likewise.
        * config/arm/unspecs.md (UNSPEC_VMAXNM): New unspec.
        (UNSPEC_VMINNM): Likewise.
        * config/arm/neon.md (fmaxmin): New pattern.
        * config/arm/vfp.md (fmaxmin): Likewise.
    gcc/testsuite
        * gcc.target/arm/fmaxmin.x: New file used by tests below.
        * gcc.target/arm/fmaxmin.c: New test.
        * gcc.target/arm/vect-fmaxmin.c: Likewise.

From-SVN: r231924
2015-12-23 10:28:18 +00:00
H.J. Lu fa87d16dcf [PATCH] Allow indirect call via GOT for 64-bit Pmode x32
From: H.J. Lu  <hongjiu.lu@intel.com>

Since Pmode is 64-bit with -maddress-mode=long for x32, indirect call
via GOT slot doesn't need zero_extend.  This patch enables indirect call
via GOT for x32 with 64-bit Pmode.

gcc/

	PR target/66232
	* config/i386/constraints.md (Bs): Allow GOT slot for x32 with
	64-bit Pmode.
	(Bw): Likewise.
	(Bz): Likewise.
	* config/i386/predicates.md (call_insn_operand): Likewise.
	(sibcall_insn_operand): Likewise.

gcc/testsuite/

	PR target/66232
	* gcc.target/i386/pr66232-10.c: New test.
	* gcc.target/i386/pr66232-11.c: Likewise.
	* gcc.target/i386/pr66232-12.c: Likewise.
	* gcc.target/i386/pr66232-13.c: Likewise.

From-SVN: r231923
2015-12-23 10:49:28 +01:00
David Malcolm 070856cc13 PR c/68473: sanitize source range-printing within certain macro expansions
gcc/ChangeLog:
	PR c/68473
	* diagnostic-show-locus.c (layout::layout): Make loc_range const.
	Sanitize the layout_range against ranges that finish before they
	start.

gcc/testsuite/ChangeLog:
	PR c/68473
	* gcc.dg/plugin/diagnostic-test-expressions-1.c (fminl): New decl.
	(TEST_EQ): New macro.
	(test_macro): New function.
	* gcc.target/i386/pr68473-1.c: New test case.

From-SVN: r231919
2015-12-22 22:27:45 +00:00
Jeff Law 9edb6bb8d3 [PATCH] Avoid unnecessary block copying in path splitting
* gimple-ssa-split-paths.c (split_paths): Avoid unnecessary block
	copying.

From-SVN: r231915
2015-12-22 14:49:12 -07:00
Jakub Jelinek d6dd2c8e29 re PR c++/67376 (Comparison with pointer to past-the-end of array fails inside constant expression)
PR c++/67376
	* fold-const.c (size_low_cst): Removed.
	(fold_comparison): For POINTER_PLUS_EXPR where base is ADDR_EXPR
	call get_inner_reference and handle INDIRECT_REF base of it.  Use
	offset_int for computation of the bitpos.
	(fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Formatting
	fixes for X +- Y CMP X and C - X CMP X folding.  Add X CMP X +- Y
	and X CMP C - X folding.

	* g++.dg/cpp0x/constexpr-67376.C: New test.

From-SVN: r231909
2015-12-22 21:47:58 +01:00
Richard Henderson b5c4bc31ba Give EH_ELSE access to __builtin_eh_pointer
The must-not-throw wrapper for protect_cleanup_actions gets in
the way of being able to access __builtin_eh_pointer without
confusion as the identit of the exception to which we are
referring (b_eh_p has no usable argument up to this point).

Since EH_ELSE never comes from user derived code, let's drop
the c++ specific wrapping.

	* tree-eh.c (honor_protect_cleanup_actions): Do not wrap
	eh_else in a must-not-throw; set ehp_region for it too.

From-SVN: r231908
2015-12-22 11:42:31 -08:00
Richard Henderson 7c11b0fef0 re PR ipa/67811 ([TM] ICE with try-block in transaction)
PR ipa/67811

	* gimple.h (struct gtransaction): Add label_norm, label_uninst;
	replace label with label_over.
	(gimple_build_transaction): Remove label parameter.
	(gimple_transaction_label_norm): New.
	(gimple_transaction_label_uninst): New.
	(gimple_transaction_label_over): Rename from gimple_transaction_label.
	(gimple_transaction_label_norm_ptr): New.
	(gimple_transaction_label_uninst_ptr): New.
	(gimple_transaction_label_over_ptr): Rename from
	gimple_transaction_label_ptr.
	(gimple_transaction_set_label_norm): New.
	(gimple_transaction_set_label_uninst): New.
	(gimple_transaction_set_label_over): Rename from
	gimple_transaction_set_label.
	* gimple-pretty-print.c (dump_gimple_transaction): Update.
	* gimple-streamer-in.c (input_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
	* gimple-streamer-out.c (output_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
	* gimple-walk.c (walk_gimple_op) [GIMPLE_TRANSACTION]: Same.
	* tree-cfg.c (make_edges_bb) [GIMPLE_TRANSACTION]: Same.
	(cleanup_dead_labels) [GIMPLE_TRANSACTION]: Same.
	(verify_gimple_transaction): Same.
	(gimple_redirect_edge_and_branch) [GIMPLE_TRANSACTION]: Same.
	* tree-inline.c (remap_gimple_stmt) [GIMPLE_TRANSACTION]: Same.
	* gimple.c (gimple_build_transaction): Remove label parameter;
	initialize all three label memebers.
	* gimplify.c (gimplify_transaction): Update call
	to gimple_build_transaction.
	* trans-mem.c (make_tm_uninst): New.
	(lower_transaction): Create uninstrumented code path here...
	(ipa_tm_scan_calls_transaction): ... not here.
	(ipa_uninstrument_transaction): Remove.

testsuite/
	* g++.dg/tm/noexcept-1.C: Update expected must_not_throw count.
	* g++.dg/tm/noexcept-4.C: Likewise.
	* g++.dg/tm/noexcept-5.C: Likewise.
	* g++.dg/tm/pr67811.C: New.

From-SVN: r231907
2015-12-22 11:42:24 -08:00
Peter Bergner ebe9921f0c Fix previous ChangeLog entry
From-SVN: r231906
2015-12-22 13:29:04 -06:00
Peter Bergner fa17b3dba4 re PR target/68772 (Many -gstabs tests FAIL with Xcode 7 as)
gcc/
	PR target/68772
	* config/rs6000/rs6000.h (ASM_CPU_SPEC): For -mcpu=powerpc64le,
	pass %(asm_cpu_power8)/-mpwr8.
	* config/rs6000/aix53.h: Likewise.
	* config/rs6000/aix61.h: Likewise.
	* config/rs6000/aix71.h: Likewise.

gcc/testsuite/
	PR target/68772
	* gcc.target/powerpc/pr68872.c: New test.

From-SVN: r231905
2015-12-22 13:27:14 -06:00