Commit Graph

126023 Commits

Author SHA1 Message Date
Jason Merrill 55ea5ddf26 pt.c (apply_late_template_attributes): Use attribute_takes_identifier_p.
* pt.c (apply_late_template_attributes): Use
	attribute_takes_identifier_p.

From-SVN: r203727
2013-10-16 17:58:35 -04:00
Jason Merrill 1a1f2bc513 error.c (dump_exception_spec): Print "noexcept" rather than "noexcept (true)".
* error.c (dump_exception_spec): Print "noexcept" rather than
	"noexcept (true)".

From-SVN: r203726
2013-10-16 17:58:29 -04:00
Jason Merrill 06ea137631 Core 1591
Core 1591
	* pt.c (unify_array_domain): Split out from unify.
	(unify): Use it for list deduction, too.

From-SVN: r203725
2013-10-16 17:58:19 -04:00
Jason Merrill fac91973cc re PR c++/57850 (Option -fdump-translation-unit not working)
PR c++/57850
	* decl2.c (dump_tu): Split out from...
	(cp_write_global_declarations): ...here.  Call it in PCH mode.

From-SVN: r203724
2013-10-16 17:57:36 -04:00
Tobias Burnus a8267f8d58 re PR fortran/58652 (ICE with move_alloc and unlimited polymorphic)
2013-10-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * interface.c (compare_parameter): Accept passing CLASS(*)
        to CLASS(*).

2013-10-16  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58652
        * gfortran.dg/unlimited_polymorphic_12.f90: New.

From-SVN: r203720
2013-10-16 22:46:33 +02:00
Mike Stump 931519141b * .dir-locals.el: Add.
From-SVN: r203715
2013-10-16 18:25:31 +00:00
Bill Schmidt 90d3bd5106 vector.md (vec_unpacks_hi_v4sf): Correct for endianness.
2013-10-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc/config/rs6000/vector.md (vec_unpacks_hi_v4sf): Correct for
	endianness.
	(vec_unpacks_lo_v4sf): Likewise.
	(vec_unpacks_float_hi_v4si): Likewise.
	(vec_unpacks_float_lo_v4si): Likewise.
	(vec_unpacku_float_hi_v4si): Likewise.
	(vec_unpacku_float_lo_v4si): Likewise.

From-SVN: r203714
2013-10-16 17:56:22 +00:00
Bill Schmidt de75c8761e vsx.md (vsx_concat_<mode>): Adjust output for LE.
2013-10-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (vsx_concat_<mode>): Adjust output for LE.
	(vsx_concat_v2sf): Likewise.

From-SVN: r203713
2013-10-16 17:48:03 +00:00
James Greenhalgh 21216998ab [AArch64] Fix output template for Scalar Neon->Neon register move.
gcc/
	* config/aarch64/aarch64.md
	(*mov<mode>_aarch64): Fix output template for DUP (element) Scalar.

From-SVN: r203711
2013-10-16 16:51:22 +00:00
Andrew MacLeod 1ef8889345 re PR tree-optimization/58697 (wrong code (segfaults) at -O3)
PR tree-optimization/58697
	* cfgloop.c (get_estimated_loop_iterations_int): Rename from 
	estimated_loop_iterations_int.
	(max_stmt_executions_int): Call get_max_loop_iterations_int.
	(get_max_loop_iterations_int): New.  HWINT version of 
	get_max_loop_iterations.
	* cfgloop.h: Add prototypes.
	* loop-iv.c (find_simple_exit): call get_estimated_loop_iterations_int.
	* loop-unroll.c (decide_peel_once_rolling): Call 
	get_estimated_loop_iterations_int.
	* tree-ssa-loop-niter.c (estimated_loop_iterations_int): Add back.
	* tree-ssa-loop-niter.h: Tweak prototypes.

From-SVN: r203709
2013-10-16 15:48:47 +00:00
David Malcolm c22df64f91 gengtype: Ignore access-control keywords when parsing fields
* gengtype-parse.c (struct_field_seq): Ignore access-control
	keywords ("public:" etc).

From-SVN: r203708
2013-10-16 15:25:23 +00:00
Marcus Shawcroft f24bb0805d [AArch64] Classify FRAME_POINTER_REGNUM and ARG_POINTER_REGNUM as POINTER_REGS.
From-SVN: r203707
2013-10-16 14:46:13 +00:00
Ian Lance Taylor c187e58fa2 runtime: Fix build on systems without split stack.
From Uros Bizjak.

From-SVN: r203703
2013-10-16 13:37:35 +00:00
Paolo Carlini f93cbffcb4 pt.c (tsubst): Fix typo in last commit.
2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (tsubst): Fix typo in last commit.

From-SVN: r203701
2013-10-16 12:04:50 +00:00
Paolo Carlini 71f42ec557 pt.c (tsubst): Fix typo in last commit.
2013-10-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* pt.c (tsubst): Fix typo in last commit.

From-SVN: r203700
2013-10-16 11:56:01 +00:00
Yvan Roux c281bf268e arm.opt (mlra): New option.
2013-10-16  Yvan Roux  <yvan.roux@linaro.org>

	* config/arm/arm.opt (mlra): New option.
	* config/arm/arm.c (arm_lra_p): New function.
	(TARGET_LRA_P): Define.

From-SVN: r203698
2013-10-16 11:36:18 +00:00
Thomas Schwinge 32a8974d80 openmp-define-1.c: Move dg-require-effective-target fopenmp after dg-do directive.
gcc/testsuite/
	* c-c++-common/cpp/openmp-define-1.c: Move
	dg-require-effective-target fopenmp after dg-do directive.
	* c-c++-common/cpp/openmp-define-2.c: Likewise.
	* gfortran.dg/openmp-define-1.f90: Likewise.
	* gfortran.dg/openmp-define-2.f90: Likewise.
	* gfortran.dg/openmp-define-3.f90: Likewise.

Completion of r203588, fix-up for r203417.

From-SVN: r203697
2013-10-16 12:53:36 +02:00
Paulo Matos 5806f4814c tree-core.h (tree_code_name): Remove.
gcc/
	* tree-core.h (tree_code_name): Remove.
	* tree.h (get_tree_code_name): New prototype.
	* tree.c (tree_code_name): Make static.
	(get_tree_code_name): New function.
	(dump_tree_statistics, tree_check_failed, tree_not_check_failed, 
	tree_class_check_failed, tree_range_check_failed,
	tree_not_class_check_failed, omp_clause_check_failed,
	tree_contains_struct_check_failed, tree_operand_check_failed): Use new
	wrapper get_tree_code_name instead of calling tree_code_name directly.
	* tree-vrp.c (dump_asserts_for): Likewise.
	* tree-dump.c (dequeue_and_dump): Likewise.
	* tree-pretty-print.c (do_niy, dump_generic_node): Likewise.
	* tree-pretty-print.h (pp_unsupported_tree): Likewise.
	* lto-streamer-out.c (lto_write_tree, DFS_write_tree): Likewise.
	* tree-ssa-dom.c (print_expr_hash_elt): Likewise.
	* gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
	dump_ternary_rhs, dump_gimple_assign, dump_gimple_cond,
	dump_gimple_omp_for): Likewise.
	* tree-vect-data-refs.c (vect_create_data_ref_ptr): Likewise.
	* tree-ssa-pre.c (print_pre_expr): Likewise.
	* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Likewise.
	* print-tree.c (print_node_brief, print_node): Likewise.
	* gimple.c (gimple_check_failed): Likewise.
	* lto-streamer.c (lto_tag_name, print_lto_report): Likewise.
	* config/frv/frv.c (frv_init_cumulative_args): Likewise.
	* config/mep/mep.c (mep_validate_vliw): Likewise.
	* config/iq2000/iq2000.c (init_cumulative_args): Likewise.
	* config/rs6000/rs6000.c (init_cumulative_args): Likewise.

gcc/cp/
	* error.c (code_to_string): Use new wrapper get_tree_code_name.
	* cxx-pretty-print.c (pp_cxx_assignment_operator): Likewise.
	* pt.c (tsubst): Likewise.
	* semantics.c (cxx_eval_constant_expression,
	potential_constant_expression_1): Likewise.
	* mangle.c (MANGLE_TRACE_TREE, dump_substitution_candidates,
	add_substitution, find_substitution): Likewise.

From-SVN: r203695
2013-10-16 12:09:17 +02:00
Ganesh Gopalasubramanian 82c9df56ca Enable FMA4 for AMD bdver3 architecture
From-SVN: r203694
2013-10-16 09:51:24 +00:00
Paulo Matos 02c0e3064b tree-prof.exp: Fix comment.
* gcc.dg/tree-prof/tree-prof.exp: Fix comment.

From-SVN: r203693
2013-10-16 11:50:21 +02:00
Hans-Peter Nilsson 0e499e759c For CRIS ports, switch to soft-fp. Improve arit.c and longlong.h.
* config.host (cpu_type) <Setting default>: Add entry for
	crisv32-*-*.
	(tmake_file) <crisv32-*-elf, cris-*-elf, cris-*-linux*>
	<crisv32-*-linux*>: Adjust.
	* longlong.h: Wrap the whole CRIS section in a single
	defined(__CRIS__) conditional.  Add comment about add_ssaaaa
	and sub_ddmmss.
	(COUNT_LEADING_ZEROS_0): Define when count_leading_zeros is
	defined.
	[__CRIS__] (__umulsidi3): Define.
	[__CRIS__] (umul_ppmm): Define in terms of __umulsidi3.
	* config/cris/sfp-machine.h: New file.
	* config/cris/umulsidi3.S: New file.
	* config/cris/t-elfmulti (LIB2ADD_ST): Add umulsidi3.S.
	* config/cris/arit.c (SIGNMULT): New macro.
	(__Div, __Mod): Use SIGNMULT instead of naked multiplication.
	* config/cris/mulsi3.S: Tweak to avoid redundant register-copying;
	saving 3 out of originally 33 cycles from the fastest
	path, 3 out of 54 from the medium path and one from the longest
	path.  Improve comments.

From-SVN: r203640
2013-10-16 01:43:14 +00:00
Hans-Peter Nilsson b82d0df95b * config/cris/t-elfmulti (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
(MULTILIB_MATCHES): Add multilib for -march=v8.

From-SVN: r203639
2013-10-16 01:38:27 +00:00
GCC Administrator 147b2c1fad Daily bump.
From-SVN: r203638
2013-10-16 00:16:45 +00:00
Tobias Burnus 83fd6c5b8c intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
gcc/fortran/
2013-10-16  Tobias Burnus  <burnus@net-b.de>

        * intrinsic.texi (OpenMP Modules): Update to OpenMPv4.
        Document omp_proc_bind_kind.

libgomp/
2013-10-16  Tobias Burnus  <burnus@net-b.de>

        * libgomp.texi: (Runtime Library Routines): Update references
        * for
        OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
        omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
        omp_get_team_num, omp_is_initial_device, omp_set_default_device.
        (Environment Variables): Update references for OpenMP 4.0. Add
        OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
        Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
        order.

From-SVN: r203635
2013-10-16 00:08:46 +02:00
Sriraman Tallam bf7b5747bb re PR target/57756 (Function target attribute is retaining state of previously seen function)
PR target/57756

The root-cause of this PR is that global_options is not restored to
default before calling ix86_valid_target_attribute_tree and hence
target attributes are incorrectly processed sometimes.

This patch refactors code in i386.c in functions in the call-chain of 
ix86_valid_target_attribute_tree to use any gcc_options struct passed
as a parameter. It replaces existing code which always uses the
global_options struct.

2013-10-15 Sriraman Tallam  <tmsriram@google.com>

	PR target/57756
	* optc-save-gen.awk: Add extra parameter to the save and restore
	target calls.
	* opth-gen.awk: Generate new TARGET_* macros  to accept a parameter.
	* tree.c (build_optimization_node): New parameter.  Add extra parameter
	to call to cl_optimization_save.
	(build_target_option_node): New parameter. Add extra parameter
	to call to cl_target_option_save.
	* tree.h (build_optimization_node): New parameter.
	(build_target_option_node): New parameter.
	* c-family/c-common.c (handle_optimize_attribute): Fix calls to
	build_optimization_node and build_target_option_node.
	* c-family/c-pragma.c (handle_pragma_optimize): Ditto.
	(handle_pragma_push_options): Ditto.
	* toplev.c (process_options): Ditto.
	* opts.c (init_options_struct): Check for opts_set non-null.
	* target.def (target_option.save): New parameter.
	(target_option.restore): New parameter.
	* tm.texi: Generate.
	* config/i386/i386-c.c (ix86_target_macros_internal): Ditto.
	(ix86_pragma_target_parse): Ditto.
	* config/i386/i386-protos.h (ix86_valid_target_attribute_tree): New
	parameters.
	* config/rs6000/rs6000.c (rs6000_option_override_internal): Fix calls
	to  build_optimization_node and build_target_option_node.
	(rs6000_valid_attribute_p): Ditto.
	(rs6000_pragma_target_parse): Ditto.
	* config/i386/i386.opt (x_ix86_target_flags_explicit): New TargetSave
	data.
	* config/i386/i386.h:
	TARGET_64BIT_P: New Macro
	TARGET_MMX_P: New Macro.
	TARGET_3DNOW_P: New Macro.
	TARGET_3DNOW_A_P: New Macro.
	TARGET_SSE_P: New Macro.
	TARGET_SSE2_P: New Macro.
	TARGET_SSE3_P: New Macro.
	TARGET_SSSE3_P: New Macro.
	TARGET_SSE4_1_P: New Macro.
	TARGET_SSE4_2_P: New Macro.
	TARGET_AVX_P: New Macro.
	TARGET_AVX2_P: New Macro.
	TARGET_AVX512F_P: New Macro.
	TARGET_AVX512PF_P: New Macro.
	TARGET_AVX512ER_P: New Macro.
	TARGET_AVX512CD_P: New Macro.
	TARGET_FMA_P: New Macro.
	TARGET_SSE4A_P: New Macro.
	TARGET_FMA4_P: New Macro.
	TARGET_XOP_P: New Macro.
	TARGET_LWP_P: New Macro.
	TARGET_ABM_P: New Macro.
	TARGET_BMI_P: New Macro.
	TARGET_BMI2_P: New Macro.
	TARGET_LZCNT_P: New Macro.
	TARGET_TBM_P: New Macro.
	TARGET_POPCNT_P: New Macro.
	TARGET_SAHF_P: New Macro.
	TARGET_MOVBE_P: New Macro.
	TARGET_CRC32_P: New Macro.
	TARGET_AES_P: New Macro.
	TARGET_PCLMUL_P: New Macro.
	TARGET_CMPXCHG16B_P: New Macro.
	TARGET_FSGSBASE_P: New Macro.
	TARGET_RDRND_P: New Macro.
	TARGET_F16C_P: New Macro.
	TARGET_RTM_P: New Macro.
	TARGET_HLE_P: New Macro.
	TARGET_RDSEED_P: New Macro.
	TARGET_PRFCHW_P: New Macro.
	TARGET_ADX_P: New Macro.
	TARGET_FXSR_P: New Macro.
	TARGET_XSAVE_P: New Macro.
	TARGET_XSAVEOPT_P: New Macro.
	TARGET_LP64_P: New Macro.
	TARGET_X32_P: New Macro.
	TARGET_FPMATH_DEFAULT_P: New Macro.
	TARGET_FLOAT_RETURNS_IN_80387_P: New Macro.
	* config/i386/i386.c (ix86_option_override_internal): New parameters.
	opts and opts_set.
	Change ix86_tune_string to access opts->x_ix86_tune_string.
	Change ix86_isa_flags to access opts->x_ix86_isa_flags.
	Change ix86_arch_string to access opts->x_ix86_arch_string.
	Change ix86_stringop_alg to access opts->x_ix86_stringop_alg.
	Change ix86_pmode to access opts->x_ix86_pmode.
	Change ix86_abi to access opts->x_ix86_abi.
	Change ix86_cmodel to access opts->x_ix86_cmodel.
	Change ix86_asm_dialect to access opts->x_ix86_asm_dialect.
	Change ix86_isa_flags_explicit to access
	opts->x_ix86_isa_flags_explicit.
	Change ix86_dump_tunes to access opts->x_ix86_dump_tunes.
	Change ix86_regparm to access opts->x_ix86_regparm.
	Change ix86_branch_cost to access opts->x_ix86_branch_cost.
	Change ix86_preferred_stack_boundary_arg to access
	opts->x_ix86_preferred_stack_boundary_arg.
	Change ix86_force_align_arg_pointer to access
	opts->x_ix86_force_align_arg_pointer.
	Change ix86_incoming_stack_boundar_arg to access
	opts->x_ix86_incoming_stack_boundar_arg.
	Change ix86_fpmath to access opts->x_ix86_fpmath.
	Change ix86_veclibabi_type to access opts->x_ix86_veclibabi_type.
	Change ix86_recip_name to access opts->x_ix86_recip_name.
	Change ix86_stack_protector_guard to access
	opts->x_ix86_stack_protector_guard.
	Change ix86_tune_memcpy_strategy to access
	opts->x_ix86_tune_memcpy_strategy.
	Change ix86_tune_memset_strategy to access
	opts->x_ix86_tune_memset_strategy.
	Change global_options to access opts.
	Change global_options_set to access opts_set.
        Change TARGET_64BIT to TARGET_64BIT_P (opts->...)
        Change TARGET_MMX to TARGET_MMX_P (opts->...)
        Change TARGET_3DNOW to TARGET_3DNOW_P (opts->...)
        Change TARGET_3DNOW_A to TARGET_3DNOW_A_P (opts->...)
        Change TARGET_SSE to TARGET_SSE_P (opts->...)
        Change TARGET_SSE2 to TARGET_SSE2_P (opts->...)
        Change TARGET_SSE3 to TARGET_SSE3_P (opts->...)
        Change TARGET_SSSE3 to TARGET_SSSE3_P (opts->...)
        Change TARGET_SSE4_1 to TARGET_SSE4_1_P (opts->...)
        Change TARGET_SSE4_2 to TARGET_SSE4_2_P (opts->...)
        Change TARGET_AVX to TARGET_AVX_P (opts->...)
        Change TARGET_AVX2 to TARGET_AVX2_P (opts->...)
        Change TARGET_AVX512F to TARGET_AVX512F_P (opts->...)
        Change TARGET_AVX512PF to TARGET_AVX512PF_P (opts->...)
        Change TARGET_AVX512ER to TARGET_AVX512ER_P (opts->...)
        Change TARGET_AVX512CD to TARGET_AVX512CD_P (opts->...)
        Change TARGET_FMA to TARGET_FMA_P (opts->...)
        Change TARGET_SSE4A to TARGET_SSE4A_P (opts->...)
        Change TARGET_FMA4 to TARGET_FMA4_P (opts->...)
        Change TARGET_XOP to TARGET_XOP_P (opts->...)
        Change TARGET_LWP to TARGET_LWP_P (opts->...)
        Change TARGET_ABM to TARGET_ABM_P (opts->...)
        Change TARGET_BMI to TARGET_BMI_P (opts->...)
        Change TARGET_BMI2 to TARGET_BMI2_P (opts->...)
        Change TARGET_LZCNT to TARGET_LZCNT_P (opts->...)
        Change TARGET_TBM to TARGET_TBM_P (opts->...)
        Change TARGET_POPCNT to TARGET_POPCNT_P (opts->...)
        Change TARGET_SAHF to TARGET_SAHF_P (opts->...)
        Change TARGET_MOVBE to TARGET_MOVBE_P (opts->...)
        Change TARGET_CRC32 to TARGET_CRC32_P (opts->...)
        Change TARGET_AES to TARGET_AES_P (opts->...)
        Change TARGET_PCLMUL to TARGET_PCLMUL_P (opts->...)
        Change TARGET_CMPXCHG16B to TARGET_CMPXCHG16B_P (opts->...)
        Change TARGET_FSGSBASE to TARGET_FSGSBASE_P (opts->...)
        Change TARGET_RDRND to TARGET_RDRND_P (opts->...)
        Change TARGET_F16C to TARGET_F16C_P (opts->...)
        Change TARGET_RTM to TARGET_RTM_P (opts->...)
        Change TARGET_HLE to TARGET_HLE_P (opts->...)
        Change TARGET_RDSEED to TARGET_RDSEED_P (opts->...)
        Change TARGET_PRFCHW to TARGET_PRFCHW_P (opts->...)
        Change TARGET_ADX to TARGET_ADX_P (opts->...)
        Change TARGET_FXSR to TARGET_FXSR_P (opts->...)
        Change TARGET_XSAVE to TARGET_XSAVE_P (opts->...)
        Change TARGET_XSAVEOPT to TARGET_XSAVEOPT_P (opts->...)
        Change TARGET_LP64 to TARGET_LP64_P (opts->...)
        Change TARGET_X32 to TARGET_X32_P (opts->...)
        Change TARGET_FPMATH_DEFAULT to TARGET_FPMATH_DEFAULT_P (opts->...)
        Change TARGET_FLOAT_RETURNS_IN_80387 to
	 TARGET_FLOAT_RETURNS_IN_80387_P (opts->...)
	(ix86_function_specific_save): New parameter. Use opts-> fields
	to replace global fields.
	(ix86_function_specific_restore): Ditto.
	(ix86_valid_target_attribute_inner_p): New parameters.
	Fix recursive call.
	Fix call to ix86_handle_option and set_option.
	(ix86_valid_target_attribute_tree): New parameters.
	Change global_options to access opts.
	Change global_options_set to access opts_set.
	Fix call to ix86_valid_target_attribute_inner_p.
	Change ix86_tune_string to access opts->x_ix86_tune_string.
	Change ix86_arch_string to access opts->x_ix86_arch_string.
	Change ix86_fpmath to access opts->x_ix86_fpmath
	Fix call to ix86_option_override_internal.
	Fix call to ix86_add_new_builtins.
	Fix calls to build_optimization_node and build_target_option_node.
	(ix86_valid_target_attribute_p): Remove access to global_options.
	Use new gcc_options structure func_options.
	Fix call to ix86_valid_target_attribute_tree.
	Fix call to  build_optimization_node.
	(get_builtin_code_for_version):	Fix call to
	ix86_valid_target_attribute_tree.

	PR target/57756
	* gcc.target/i386/pr57756.c: New test.
	* gcc.target/i386/pr57756_2.c: New test.

From-SVN: r203634
2013-10-15 21:43:21 +00:00
Jeff Law a7d35bd6bd Move Paulo's 9/27/2013 ChangeLog entry to the right file
From-SVN: r203633
2013-10-15 14:50:33 -06:00
David Malcolm 459260ecf8 Add --enable-host-shared configuration option
/
	* configure.ac: Add --enable-host-shared
	* configure: Regenerate.

gcc/
	* Makefile.in (PICFLAG): New.
	(enable_host_shared): New.
	(INTERNAL_CFLAGS): Use PICFLAG.
	(LIBIBERTY): Use pic build of libiberty.a if configured with
	--enable-host-shared.
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* configure: Regenerate.
	* doc/install.texi (--enable-shared): Add note contrasting it
	with...
	(--enable-host-shared): New option.

libbacktrace/
	* configure.ac: Add --enable-host-shared, setting up
	pre-existing PIC_FLAG variable within Makefile.am et al.
	* configure: Regenerate.

libcpp/
	* Makefile.in (PICFLAG): New.
	(ALL_CFLAGS): Add PICFLAG.
	(ALL_CXXFLAGS): Likewise.
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* configure: Regenerate.

libdecnumber/
	* Makefile.in (PICFLAG): New.
	(ALL_CFLAGS): Add PICFLAG.
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* configure: Regenerate.

libiberty/
	* configure.ac: If --enable-host-shared, use -fPIC.
	* configure: Regenerate.

zlib/
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* Makefile.am: Add PICFLAG to libz_a_CFLAGS.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r203632
2013-10-15 20:33:55 +00:00
Diego Novillo 37ea0d87a3 Add missing function in 20_util/exchange/1.cc.
When this test is compiled at -O0, the compiler does not remove the
address comparison. This causes a link failure, since the body of f()
is missing.

	* testsuite/20_util/exchange/1.cc: Add missing function
	bodies.

From-SVN: r203629
2013-10-15 14:51:37 -04:00
Richard Sandiford 1602204161 tree-tailcall.c (find_tail_calls): Don't use tail-call recursion for built-in functions.
gcc/
2013-10-15  Richard Biener  <rguenther@suse.de>

	* tree-tailcall.c (find_tail_calls): Don't use tail-call recursion
	for built-in functions.

gcc/testsuite/
	* gcc.dg/torture/builtin-self.c: New file.

libgcc/
	* sync.c: Remove static aliases and define each function directly
	under its real name.

From-SVN: r203628
2013-10-15 18:24:30 +00:00
Zhenqiang Chen b114bfb455 tree-ssa-reassoc.c: Include rtl.h and tm_p.h.
* tree-ssa-reassoc.c: Include rtl.h and tm_p.h.
	(optimize_range_tests_1): New function,
	extracted from optimize_range_tests.
	(optimize_range_tests_xor): Similarly.
	(optimize_range_tests_diff): New function.
	(optimize_range_tests): Use optimize_range_tests_1.

	* gcc.dg/tree-ssa/reassoc-32.c: New test case.
	* gcc.dg/tree-ssa/reassoc-33.c: New test case.
	* gcc.dg/tree-ssa/reassoc-34.c: New test case.
	* gcc.dg/tree-ssa/reassoc-35.c: New test case.
	* gcc.dg/tree-ssa/reassoc-36.c: New test case.

From-SVN: r203627
2013-10-15 11:48:44 -06:00
Cong Hou 69b8f2f943 tree-vect-loop.c (vect_is_simple_reduction_1): Relax the requirement of the reduction pattern so that one operand of the ...
2013-10-15  Cong Hou  <congh@google.com>

        * tree-vect-loop.c (vect_is_simple_reduction_1): Relax the 
        requirement of the reduction pattern so that one operand of the 
        reduction operation can come from outside of the loop.

2013-10-15  Cong Hou  <congh@google.com>

        * gcc.dg/vect/vect-reduc-pattern-3.c: New test.

From-SVN: r203625
2013-10-15 13:17:43 -04:00
Paolo Carlini 09560e7f4d re PR c++/58707 ([C++11] A greater-than operator in square brackets should not end a template argument list)
/cp
2013-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58707
	* parser.c (cp_parser_postfix_open_square_expression): Set
	parser->greater_than_is_operator_p for the argument.

/testsuite
2013-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58707
	* g++.dg/cpp0x/pr58707.C: New.

From-SVN: r203624
2013-10-15 16:36:11 +00:00
Jeff Law a1b499a310 Move Martin's most recent entry into the right ChangeLog file
From-SVN: r203622
2013-10-15 09:52:37 -06:00
James Greenhalgh 8ff5a4e40b [ARM] [Neon types 10/10] Remove neon-schedgen.ml
gcc/
	* config/arm/neon-schedgen.ml: Remove.
	* config/arm/cortex-a9-neon.md: Remove comment regarding
	neon-schedgen.ml.

From-SVN: r203621
2013-10-15 15:41:37 +00:00
James Greenhalgh 52b69ad240 [ARM] [Neon types 9/10] Remove old neon types
gcc/
	* config/arm/types: Remove old neon types.

From-SVN: r203620
2013-10-15 15:37:23 +00:00
James Greenhalgh e7c6a556a1 [ARM] [Neon types 8/10] Cortex-A7 neon pipeline model
gcc/
	* config/arm/cortex-a7.md
	(cortex_a7_neon_type): New.
	(cortex_a7_neon_mul): Update for new types.
	(cortex_a7_neon_mla): Likewise.
	(cortex_a7_neon): Likewise.

From-SVN: r203619
2013-10-15 15:36:15 +00:00
James Greenhalgh 795dd8d566 [ARM] [Neon types 7/10] Cortex-A15 neon pipeline changes
* config/arm/cortex-a15-neon.md: Update pipeline model.

From-SVN: r203618
2013-10-15 15:35:05 +00:00
James Greenhalgh bc5e57e3a3 [ARM] [Neon types 6/10] Cortex-A9 neon pipeline changes
gcc/
	* config/arm/cortex-a8-neon.md (cortex_a9_neon_type): New.
	* config/arm/cortex-a8-neon.md: Update all pipeline units for
	new types.

From-SVN: r203617
2013-10-15 15:33:31 +00:00
James Greenhalgh 9deda8cb4f [ARM] [Neon types 5/10] Update Cortex-A8 pipeline model
gcc/
	* config/arm/cortex-a8-neon.md (cortex_a8_neon_type): New.
	* config/arm/cortex-a8-neon.md: Update all pipeline units.

From-SVN: r203616
2013-10-15 15:31:38 +00:00
James Greenhalgh 0f686aa981 [AArch64] [Neon types 4/10] Add type attributes to all simd insns
gcc/

	* config/aarch64/iterators.md (Vetype): Add SF and DF modes.
	(fp): New.
	* config/aarch64/aarch64-simd.md (neon_type): Remove.
	* config/aarch64/aarch64-simd.md: Add "type" attribute to all
	patterns.

From-SVN: r203614
2013-10-15 15:30:00 +00:00
James Greenhalgh f7379e5eb9 [ARM] [Neon types 3/10] Update Current type attributes to new Neon Types.
gcc/
	* config/arm/iterators.md (V_elem_ch): New.
	(q): Likewise.
	(VQH_type): Likewise.
	* config/arm/arm.md (is_neon_type): New.
	(conds): Use is_neon_type.
	(anddi3_insn): Update type attribute.
	(xordi3_insn): Likewise.
	(one_cmpldi2): Likewise.
	* gcc/config/arm/vfp.md (movhf_vfp_neon): Update type attribute.
	* gcc/config/arm/neon.md (neon_mov): Update type attributes for
	all patterns.

From-SVN: r203613
2013-10-15 15:28:04 +00:00
James Greenhalgh a9e66678ca [AArch64] [Neon types 2/10] Update Current type attributes to new Neon Types.
gcc/
	* config/aarch64/aarch64.md (movtf_aarch64): Update type attribute.
	(load_pair): Update type attribute.
	(store_pair): Update type attribute.
	* config/aarch64/iterators.md (q): New.

From-SVN: r203612
2013-10-15 15:26:15 +00:00
James Greenhalgh 20445ed6ad [ARM] [Neon Types 1/10] Add new types to describe Neon insns.
gcc/
	* config/arm/types.md: Add new types for Neon insns.

From-SVN: r203611
2013-10-15 15:24:29 +00:00
Tim Shen 96937d47ac re PR libstdc++/58737 (leak in std::regex_match)
2013-10-15  Tim Shen  <timshen91@gmail.com>

	PR libstdc++/58737
	* include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
	leak by adding it.
	* include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.

From-SVN: r203610
2013-10-15 15:01:44 +00:00
Alexander Ivchenko afb4ac68f0 sse.md (unspec): Add UNSPEC_RCP14...
* config/i386/sse.md (unspec): Add UNSPEC_RCP14, UNSPEC_RSQRT14,
	UNSPEC_FIXUPIMM, UNSPEC_SCALEF, UNSPEC_GETEXP, UNSPEC_GETMANT,
	UNSPEC_EXP2, UNSPEC_RCP28, UNSPEC_RSQRT28.
	(rcp14<mode>): New.
	(srcp14<mode>): Ditto.
	(rsqrt14<mode>): Ditto.
	(rsqrt14<mode>): Ditto.
	(avx512f_vmscalef<mode>): Ditto.
	(avx512f_scalef<mode>): Ditto.
	(avx512f_getexp<mode>): Ditto.
	(avx512f_sgetexp<mode>): Ditto.
	(avx512f_fixupimm<mode>): Ditto.
	(avx512f_sfixupimm<mode>): Ditto.
	(avx512f_rndscale<mode>): Ditto.
	(*avx512er_exp2<mode>): Ditto.
	(*avx512er_rcp28<mode>): Ditto.
	(avx512er_rsqrt28<mode>): Ditto.
	(avx512f_getmant<mode>): Ditto.
	(avx512f_getmant<mode>): Ditto.
	(avx512f_rndscale<mode>): Fix formatting.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203609
2013-10-15 14:33:34 +00:00
Martin Jambor 4cb1359729 ipa-utils.h (ipa_edge_within_scc): Declare.
2013-10-15  Martin Jambor  <mjambor@suse.cz>

	* ipa-utils.h (ipa_edge_within_scc): Declare.
	* ipa-cp.c (edge_within_scc): Moved...
	* ipa-utils.c (ipa_edge_within_scc): ...here.  Updated all callers.

From-SVN: r203607
2013-10-15 16:15:07 +02:00
Alexander Ivchenko 2e2206faab predicates.md (const_8_to_15_operand): New.
* config/i386/predicates.md (const_8_to_15_operand): New.
        (const_16_to_31_operand): Ditto.
        * config/i386/sse.md (V8FI): New.
        (V16FI): Ditto.
        (reduc_splus_v8df): Ditto.
        (reduc_splus_v16sf): Ditto.
        (avx512f_vextract<shuffletype>32x4_1): Ditto.
        (vec_extract_hi_<mode>): Ditto.
        (avx512f_vinsert<shuffletype>32x4_1): Ditto.
        (vec_set_lo_<mode>): Ditto.
        (vec_set_hi_<mode>): Ditto.
        (avx512f_shuf_<shuffletype>64x2_1): Ditto.
        (avx512f_shuf_<shuffletype>32x4_1): Ditto.
        (avx512f_pshufd_1): Ditto.
        (avx512f_broadcast<mode>): Ditto.
        (avx512f_broadcast<mode>): Ditto.
        (define_split): Split vec_extract_lo into move.
        (ssequartermode): Ditto.
        (ssedoublemode): Extened with wider modes.
        (vec_extract_lo_<mode>): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203606
2013-10-15 13:54:52 +00:00
Alexander Ivchenko 0fe65b75fe predicates.md (register_or_constm1_operand): New.
* config/i386/predicates.md (register_or_constm1_operand): New.
        * config/i386/sse.md (unspec): Add UNSPEC_UNSIGNED_PCMP, UNSPEC_TESTM,
        UNSPEC_TESTNM, UNSPEC_VTERNLOG, UNSPEC_ALIGN, UNSPEC_CONFLICT,
        UNSPEC_MASKED_EQ, UNSPEC_MASKED_GT, UNSPEC_GATHER_PREFETCH,
        UNSPEC_SCATTER_PREFETCH
        (VI48_512): New.
        (avx512f_ucmp<mode>3): Ditto.
        (avx512f_vternlog<mode>): Ditto.
        (avx512f_align<mode>): Ditto.
        (<shift_insn><mode>3): Ditto.
        (avx512f_<rotate>v<mode>): Ditto.
        (avx512f_<rotate><mode>): Ditto.
        (avx512f_eq<mode>3): Ditto.
        (avx512f_eq<mode>3_1): Ditto.
        (avx512f_gt<mode>3): Ditto.
        (avx512f_testm<mode>3): Ditto.
        (avx512f_testnm<mode>3): Ditto.
        (avx512pf_gatherpf<mode>): Ditto.
        (*avx512pf_gatherpf<mode>_mask): Ditto.
        (*avx512pf_gatherpf<mode>): Ditto.
        (avx512pf_scatterpf<mode>): Ditto.
        (*avx512pf_scatterpf<mode>_mask): Ditto.
        (*avx512pf_scatterpf<mode>): Ditto.
        (avx512f_vec_dup_gpr<mode>): Ditto.
        (clz<mode>2): Ditto.
        (conflict<mode>): Ditto.
        (REDUC_SMINMAX_MODE): Extened with wider modes.
        (reduc_<code>_<mode>): Ditto.
        (vlshr<mode>3): Ditto.
        (vashl<mode>3): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203605
2013-10-15 13:51:56 +00:00
Alexander Ivchenko ab931c7111 sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2, UNSPEC_SCATTER.
* config/i386/sse.md (unspec): Added UNSPEC_VPERMI2, UNSPEC_VPERMT2,
        UNSPEC_SCATTER.
        (VI48F_512): New.
        (avx512fmaskmode): Ditto.
        (bcstscalarsuff): Ditto.
        (avx512f_blendm<mode>): Ditto.
        (cmp_imm_predicate): Ditto.
        (avx512f_cmp<mode>3): Ditto.
        (avx512f_vec_dup<mode>): Ditto.
        (avx512f_vec_dup_mem<mode>): Ditto.
        (avx512f_vpermi2var<mode>3): Ditto.
        (avx512f_vpermt2var<mode>3): Ditto.
        (vec_init<mode>): Ditto.
        (avx512f_gathersi<mode>): Ditto.
        (*avx512f_gathersi<mode>): Ditto.
        (*avx512f_gathersi<mode>_2): Ditto.
        (avx512f_gatherdi<mode>): Ditto.
        (*avx512f_gatherdi<mode>): Ditto.
        (*avx512f_gatherdi<mode>_2): Ditto.
        (avx512f_scattersi<mode>): Ditto.
        (*avx512f_scattersi<mode>): Ditto.
        (avx512f_scatterdi<mode>): Ditto.
        (*avx512f_scatterdi<mode>): Ditto.
        (sseintprefix): Extened with wider modes.
        (VEC_GATHER_IDXSI): Ditto.
        (VEC_GATHER_IDXDI): Ditto.
        (VEC_GATHER_SRCDI): Ditto.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com>

From-SVN: r203604
2013-10-15 13:49:55 +00:00
Matthew Gretton-Dann c9acb877bb Add A profile only multilib make file fragment.
2013-10-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/t-aprofile: New file.
	* config.gcc: Handle --with-multilib-list option.


Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>

From-SVN: r203603
2013-10-15 13:23:44 +00:00