Commit Graph

141074 Commits

Author SHA1 Message Date
Tom de Vries
26e5d47d44 Make dumping of function attributes resemble source syntax
2015-10-01  Tom de Vries  <tom@codesourcery.com>

	* tree-cfg.c (dump_function_to_file): Dump function attributes using
	__attribute__(()) string.  Move dumping of function attributes to before
	function name.

From-SVN: r228315
2015-10-01 05:42:50 +00:00
GCC Administrator
aeecd3d212 Daily bump.
From-SVN: r228314
2015-10-01 00:16:12 +00:00
Lynn Boger
402565b61f re PR go/66870 (split stack issues on ppc64le and ppc64)
PR target/66870
	* config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
	* configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
	based on gold linker version.
	* gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
	HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
	* configure, config.in: Regenerate.
go:
	* gospec.c (lang_specific_driver): Set appropriate split stack
	options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.

From-SVN: r228311
2015-09-30 23:06:11 +00:00
Alan Modra
7dc396e20f [RS6000] Make -msingle-pic-base remove the ELFv2 global entry code
For other ABIs, -msingle-pic-base makes gcc omit loading of the PIC
register in function prologues.  This patch makes the option affect
ELFv2 too.

	* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
	r2_setup_needed when TARGET_SINGLE_PIC_BASE.
	(rs6000_output_mi_thunk): Likewise.

From-SVN: r228309
2015-10-01 07:49:18 +09:30
Nathan Sidwell
cc3cd79bc2 mkoffload.c (process): Change offload data format.
gcc/
	* config/nvptx/mkoffload.c (process): Change offload data format.

	libgomp/
	* plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
	(struct targ_ptx_obj): New.
	(nvptx_tdata): Move earlier, change data format.
	(link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
	objects.
	(GOMP_OFFLOAD_load_image): Adjust.

Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com>

From-SVN: r228308
2015-09-30 21:35:47 +00:00
Alan Modra
c57173b69a [RS6000] Correct powerpc sysv stack argument accounting
ppc32 starts using the stack for integer arg passing when we run out
of integer arg passing registers.  Similarly, we start using the stack
for floating point args when we run out of floating point registers.
The decision on where an integer arg goes does not depend on number of
floating point args, nor does the decision on where a floating point
arg goes depend on number of integer args.  Alignment of stack args
also simply depends on number of stack args.

This patch untangles the horrible mess we had, with intarg_count being
wrongly used to count both integer args and stack words.

	* src/powerpc/ffi_sysv.c (ffi_prep_cif_sysv_core): Count fprs,
	gprs, and stack words separately.
	(ffi_prep_args_SYSV): Similarly.

From-SVN: r228307
2015-10-01 06:59:00 +09:30
Jeff Law
d64f8dd280 [PATCH] Improve DOM's optimization of control statements
* tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
	with constant conditions.
	* tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
	(remove_ctrl_stmt_and_useless_edges): No longer static.
	* tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
	(remove_ctrl_stmt_and_useless_edges): Likewise.

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

From-SVN: r228306
2015-09-30 14:28:14 -06:00
François Dumont
9702ee6a6f messages_members.cc (Catalog_info, Catalogs): Move...
2015-09-30  François Dumont  <fdumont@gcc.gnu.org>
	    Jonathan Wakely  <jwakely@redhat.com>

	* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
	Move...
	* config/locale/gnu/c++locale_internal.h: ...here in std namespace.
	* config/locale/gnu/c_locale.cc: Move implementation of latter here.
	* src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
	* src/c++98/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Adjust.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r228305
2015-09-30 20:04:43 +00:00
Nathan Sidwell
94829f87ca nvptx.c (nvptx_goacc_validate_dims): New.
* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
	(TARGET_GOACC_VALIDATE_DIMS): Override.
	* target.def (TARGET_GOACC): New target hook prefix.
	(validate_dims): New hook.
	* targhooks.h (default_goacc_validate_dims): New.
	* omp-low.c (oacc_validate_dims): New.
	(execute_oacc_device_lower): New.
	(default_goacc_validate_dims): New.
	(pass_data_oacc_device_lower): New.
	(pass_oacc_device_lower): New pass.
	(make_pass_oacc_device_lower): New.
	* tree-pass.h (make_pass_oacc_device_lower): Declare.
	* passes.def (pass_oacc_device_lower): Add it.
	* doc/tm.texi: Rebuilt.
	* doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
	* doc/invoke.texi (oaccdevlow): Document tree dump flag.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r228304
2015-09-30 19:16:29 +00:00
Bernd Edlinger
9a9fe2b4d2 re PR rtl-optimization/67037 (Wrong code at -O1 and above on ARM)
2015-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR rtl-optimization/67037
        * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.

testsuite:
2015-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR rtl-optimization/67037
        * gcc.c-torture/execute/pr67037.c: New test.

From-SVN: r228303
2015-09-30 18:51:31 +00:00
Bernd Schmidt
dc0ccbb3a3 [PATCH] Update SSA_NAME manager to use two lists
* gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
	* passes.c: Include tree-ssanames.h.
	(execute_function_todo): Flush the pending free SSA_NAMEs after
	eliminating unreachable basic blocks.
	* tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
	(init_ssanames): Initialize FREE_SSANAMES_QUEUE.
	(fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
	(flush_ssanames_freelist): New function.
	(release_ssaname_fn): Put released names on the queue.
	(pass_release_ssa_names::execute): Call flush_ssanames_freelist.
	* tree-ssanames.h (flush_ssanames_freelist): Declare.

From-SVN: r228302
2015-09-30 11:43:26 -06:00
Thomas Schwinge
0fe78d19df Pass on the verbose flag "-v" to/in the mkoffloads
gcc/
	* config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
	(generate_target_descr_file, generate_target_offloadend_file)
	(generate_host_descr_file, prepare_target_image, main): Pass it
	on.
	* config/nvptx/mkoffload.c (main): Parse "-v" flag.
	(compile_native, main): Pass it on.
	* lto-wrapper.c (compile_offload_image): Likewise.

From-SVN: r228301
2015-09-30 18:42:32 +02:00
Thomas Schwinge
8c30df3ed1 Refactor intelmic-mkoffload.c argv building to use obstacks
That is, restore and adapt the code as originally proposed.

	gcc/
	* config/i386/intelmic-mkoffload.c (generate_host_descr_file)
	(prepare_target_image, main): Refactor argv building to use
	obstacks.

Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>

From-SVN: r228300
2015-09-30 18:42:22 +02:00
Thomas Schwinge
fa83660d56 More DEF_FUNCTION_TYPE_VAR_6/DEF_FUNCTION_TYPE_VAR_11 cleanup
gcc/ada/
	* gcc-interface/utils.c (DEF_FUNCTION_TYPE_VAR_11): Don't define.
	gcc/jit/
	* jit-builtins.h: Undefine DEF_FUNCTION_TYPE_VAR_6 after use.

Co-Authored-By: Ulrich Drepper <drepper@gmail.com>

From-SVN: r228298
2015-09-30 17:14:29 +02:00
Ulrich Weigand
99400eed8d spu-protos.h (spu_expand_atomic_op): Add prototype.
gcc/
	* config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
	* config/spu/spu.c (spu_expand_atomic_op): New function.
	* config/spu/spu.md (AINT): New mode iterator.
	(ATOMIC): New code iterator.
	(atomic_name, atomic_pred): New code predicates.
	("atomic_load<mode>", "atomic_store<mode>"): New expanders.
	("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
	(""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
	"atomic_<atomic_name>_fetch<mode>"): Likewise.

gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_sync_int_128):
	Return 1 on spu-*-* targets.
	(check_effective_target_sync_int_128_runtime): Likewise.
	(check_effective_target_sync_long_long): Likewise.
	(check_effective_target_sync_long_long_runtime): Likewise.
	(check_effective_target_sync_int_long): Likewise.
	(check_effective_target_sync_char_short): Likewise.

From-SVN: r228297
2015-09-30 14:58:49 +00:00
Ilya Enkovich
21b820644d i386.c (scalar_chain::analyze_register_chain): Ignore debug insns.
gcc/

	* config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
	debug insns.
	(scalar_chain::convert_reg): Likewise.

gcc/testsuite/

	* gcc.target/i386/pr67761.c: New test.

From-SVN: r228292
2015-09-30 13:08:01 +00:00
Matthias Klose
eea10f8c50 alpha, ia64: Remove empty directories.
2015-09-30  Matthias Klose  <doko@ubuntu.com>

        * config/cpu/alpha, config/cpu/ia64: Remove empty directories.

From-SVN: r228291
2015-09-30 12:55:05 +00:00
Richard Biener
25ab3b0a30 builtins.c: Add comment that no new simplifications shouldd be added here.
2015-09-30  Richard Biener  <rguenther@suse.de>

	* builtins.c: Add comment that no new simplifications shouldd
	be added here.

From-SVN: r228290
2015-09-30 12:52:37 +00:00
Matthias Klose
20a44562a6 2015-09-30 Matthias Klose <doko@ubuntu.com>
* jit-builtins.h Define DEF_FUNCTION_TYPE_VAR_6,
        remove DEF_FUNCTION_TYPE_VAR_11.
        * jit-builtins.c (builtins_manager::make_type): Define and handle
        DEF_FUNCTION_TYPE_VAR_6, remove DEF_FUNCTION_TYPE_VAR_11.

From-SVN: r228289
2015-09-30 12:42:44 +00:00
Marek Polacek
de8ddd5fb1 re PR c/67730 (No warning when returning NULL in void function)
PR c/67730
	* c-typeck.c (c_finish_return): Use the expansion point location for
	certain "return with value" warnings.

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

From-SVN: r228286
2015-09-30 11:26:44 +00:00
Marek Polacek
6ea2f74cf9 re PR tree-optimization/67690 (wrong code with -O2 on x86_64/Linux)
PR tree-optimization/67690
	* tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
	reset_flow_sensitive_info_in_bb.
	* tree-ssa-tail-merge.c (replace_block_by): Likewise.
	* tree-ssanames.c: Include "gimple-iterator.h".
	(reset_flow_sensitive_info_in_bb): New function.
	* tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.

	* gcc.dg/torture/pr67690.c: New test.

From-SVN: r228284
2015-09-30 09:24:02 +00:00
Thomas Schwinge
ae15100c91 Use gcc/coretypes.h:enum offload_abi in mkoffloads
gcc/
	* config/i386/intelmic-mkoffload.c (target_ilp32): Remove
	variable, replacing it with...
	(offload_abi): ... this new variable.  Adjust all users.
	* config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise.

From-SVN: r228283
2015-09-30 10:58:04 +02:00
Thomas Schwinge
4e2a5450e9 Add checkpoint to libgomp dg-shouldfail tests
That is, verify that we're actually reaching the expected checkpoint before
terminating.

	libgomp/
	* testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
	* testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
	* testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
	* testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
	* testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
	* testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
	* testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
	* testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
	* testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
	* testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.

From-SVN: r228282
2015-09-30 10:44:49 +02:00
Matthias Klose
b57d6e1278 configure.ac: Remove extraneous ;;.
2015-09-30  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Remove extraneous ;;.
        * configure: Regenerate.

From-SVN: r228281
2015-09-30 08:43:09 +00:00
Christophe Lyon
54cd497b0d [testsuite] Fix order of dg-do and dg-require-effective-target directives
2015-09-30  Christophe Lyon  <christophe.lyon@linaro.org>

	* g++.dg/cpp0x/stdint.C: Move dg-require-effective-target after
	dg-do.
	* g++.dg/gomp/tls-wrap4.C: Likewise.
	* gcc.dg/atomic-op-optimize.c: Likewise.
	* gcc.dg/pr54087.c: Likewise.
	* gcc.dg/tls/section-2.c: Likewise.
	* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c:
	Likewise.
	* gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Likewise.
	* gcc.dg/vect/trapv-vect-reduc-4.c: Likewise.
	* gcc.target/arm/divzero.c: Likewise.
	* gcc.target/arm/sibcall-2.c: Likewise.
	* gcc.target/arm/thumb1-Os-mult.c: Likewise.
	* gcc.target/arm/thumb1-load-64bit-constant-1.c: Likewise.
	* gcc.target/arm/thumb1-load-64bit-constant-2.c: Likewise.
	* gcc.target/arm/thumb1-load-64bit-constant-3.c: Likewise.
	* gcc.target/arm/volatile-bitfields-1.c: Likewise.
	* gcc.target/arm/volatile-bitfields-2.c: Likewise.
	* gcc.target/arm/volatile-bitfields-3.c: Likewise.
	* gcc.target/arm/volatile-bitfields-4.c: Likewise.
	* gfortran.dg/default_format_2.f90: Likewise.
	* gfortran.dg/default_format_denormal_2.f90: Likewise.

From-SVN: r228280
2015-09-30 10:14:03 +02:00
Uros Bizjak
76d5b80aba * ChangeLog: Fix whitespace.
From-SVN: r228279
2015-09-30 08:52:45 +02:00
GCC Administrator
6ddd7fcd54 Daily bump.
From-SVN: r228276
2015-09-30 00:16:12 +00:00
Jonathan Roelofs
c4885385c0 pr65771.c: Use tls_runtime instead of tls.
2015-09-29  Jonathan Roelofs  <jonathan@codesourcery.com>

	* gcc.dg/debug/pr65771.c: Use tls_runtime instead of tls.

From-SVN: r228273
2015-09-29 20:02:35 -04:00
James Bowman
d3adfe5dbe Limit the MEMSET (setmemsi pattern) and MEMCPY (movmemsi pattern) instructions to 0-511 bytes.
Limit the MEMSET (setmemsi pattern) and MEMCPY (movmemsi pattern)
instructions to 0-511 bytes. There is a hardware limitation on large
MEMSET, MEMCPY operations that the library versions of memset() and
memcpy() deal with.

2015-09-29  James Bowman  <james.bowman@ftdichip.com>

	* config/ft32/predicates.md (ft32_imm_operand): New predicate.
	* config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand
	predicate, disallow register for operand 2.

From-SVN: r228271
2015-09-29 23:34:34 +00:00
Ian Lance Taylor
3734a25644 compiler: Accept untyped integral values as string/array indices.
When determining the type of an index for a string/array indexing
    expression, the gofrontend would disallow floating-point and complex
    values even if they were integral and throw an internal error.  This
    patch changes gofrontend to use an integral type context when
    determining the types of a string/array index.
    
    Fixes golang/go#11545.
    
    Reviewed-on: https://go-review.googlesource.com/13796

From-SVN: r228270
2015-09-29 22:27:53 +00:00
Aditya Kumar
01bdcc80e2 Make compute_deps, extend_schedule static
No functional changes intended. Passes make check and bootstrap.
gcc/ChangeLog:

2015-09-29  Aditya Kumar  <hiraditya@msn.com>

        * graphite-dependences.c (scop_get_dependences): Moved in down
	in order to be visible to its caller.
        * graphite-poly.h: Removed compute_deps, and extend_schedule.

From-SVN: r228269
2015-09-29 22:20:14 +00:00
Sebastian Pop
b4d0dacd62 use MIN fusion for ISL-14
This patch fixes PR66754 by reverting an earlier unintended change.
We now generate a much simpler AST for interchange-1.c:

ISL AST generated by ISL:
{
  for (int c1 = 0; c1 <= 1334; c1 += 1) {
    S_7(c1);
    for (int c3 = 0; c3 <= 1334; c3 += 1)
      S_4(c1, c3);
    S_5(c1);
  }
  for (int c1 = 0; c1 <= 1334; c1 += 1)
    S_10(c1);
  S_8();
}

Bootstrap and check pass on x86_64-linux with isl-0.14.1

          PR tree-optimization/67754
          * graphite-optimize-isl.c (optimize_isl): Call
          isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14.

Co-Authored-By: Aditya Kumar <aditya.k7@samsung.com>

From-SVN: r228268
2015-09-29 22:15:08 +00:00
Nathan Sidwell
164453bba4 builtins.c (expand_builtin_acc_on_device): Delete.
gcc/
	* builtins.c (expand_builtin_acc_on_device): Delete.
	(expand_builtin): Don't call it.
	(fold_builtin_1): Fold acc_on_device.

	libgomp/
	* oacc-init.c (acc_on_device): Force optimization level.

From-SVN: r228267
2015-09-29 20:03:33 +00:00
H.J. Lu
89a13632e6 Fix typos in comments in i386.c
* config/i386/i386.c (ix86_function_arg): Fix typo in comments.
	(ix86_nsaved_sseregs): Likewise.

From-SVN: r228266
2015-09-29 12:48:39 -07:00
Nathan Sidwell
a12a043782 plugin-nvptx.c (ARRAYSIZE): Delete.
* plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
	(cuda_errlist): Delete.
	(cuda_error): Reimplement.

From-SVN: r228265
2015-09-29 19:45:47 +00:00
Jeff Law
2a43063e82 [PATCH] Fix building microblaze targets with trunk
[PATCH] Fix building microblaze targets with trunk
	* config/microblaze/microblaze.c (microblaze_version_to_int): Remove
	computation of unused value.

From-SVN: r228263
2015-09-29 12:31:55 -06:00
Steven G. Kargl
bbfe9e0237 2015-09-29 Steven G. Kargl <kargl@gcc.gnu.org>
gfortran.dg/ieee/ieee_4.f90: xfail on i386-*-freebsd*
	gfortran.dg/round_4.f90: ditto.

From-SVN: r228262
2015-09-29 18:08:54 +00:00
Jeff Law
ef295bcefe [PATCH] Fix warnings building pdp11 port
* config/pdp11/pdp11.c (pdp11_branch_cost): New function.
	* config/pdp11/pdp11.h (BRANCH_COST): Call function rather than
	inline macro expansion.

From-SVN: r228259
2015-09-29 10:56:04 -06:00
Jeff Law
7bf92e50de [PATCH] Fix building interix targets
* config/i386/t-interix (winnt-stubs.o): Fix compilation rule.

From-SVN: r228258
2015-09-29 10:48:55 -06:00
Jeff Law
e3ed8bb710 [PATCH] Fix undefined behaviour in SH port
* config/sh/sh.c (gen_shl_and): Fix undefined left shift
	behaviour.
	(gen_shl_sext): Likewise.
	* config/sh/sh.md (divsi3): Likewise.
	(imm->ext_dest_operand splitter): Likewise.

From-SVN: r228257
2015-09-29 10:41:38 -06:00
Sebastian Pop
da68b8f4d2 remove dead code of commutative_reductions
This code is not used anymore after we removed the previous loop optimizer (not
based on the ISL scheduler.)  We will add back the detection of commutative
reductions after we improve the code generation of scalar dependences (by not
going out of SSA for scalar dependences just to expose them to the data
dependence graph.)

Patch passed bootstrap and check on x86_64-linux with ISL-0.15.

2015-09-29  Sebastian Pop  <s.pop@samsung.com>
            Aditya Kumar  <aditya.k7@samsung.com>

            * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
            (nb_data_writes_in_bb): Remove.
            (split_pbb): Remove.
            (split_reduction_stmt): Remove.
            (is_reduction_operation_p): Remove.
            (phi_contains_arg): Remove.
            (follow_ssa_with_commutative_ops): Remove.
            (detect_commutative_reduction_arg): Remove.
            (detect_commutative_reduction_assign): Remove.
            (follow_inital_value_to_phi): Remove.
            (edge_initial_value_for_loop_phi): Remove.
            (initial_value_for_loop_phi): Remove.
            (used_outside_reduction): Remove.
            (detect_commutative_reduction): Remove.
            (translate_scalar_reduction_to_array_for_stmt): Remove.
            (remove_phi): Remove.
            (dr_indices_valid_in_loop): Remove.
            (close_phi_written_to_memory): Remove.
            (translate_scalar_reduction_to_array): Remove.
            (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
            (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
            (rewrite_commutative_reductions_out_of_ssa): Remove.
            (build_poly_scop): Remove call to rewrite_commutative_reductions_out_of_ssa.

Co-Authored-By: Aditya Kumar <aditya.k7@samsung.com>

From-SVN: r228255
2015-09-29 16:33:45 +00:00
Jeff Law
a53378d25f [PATCH] Fix undefined behaviour in rx port
[PATCH] Fix undefined behaviour in rx port
        * config/rx/constraints.md (Int08): Fix undefined left shift
        behaviour.
        (Sint08, Sint16, Sint24): Likewise.
        * config/rx/rx.c (rx_get_stack_layout): Likewise.

From-SVN: r228254
2015-09-29 10:32:45 -06:00
Evandro Menezes
5c4b7f1c1c add separate insn sched class for vector LDP & STP
2015-09-29  Evandro Menezes  <e.menezes@samsung.com>

	* config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q):
	Add new insn types for vector load and store pairs.
	* config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn
	types "neon_ldp{,_q}".
	* config/arm/cortex-a57.md (neon_load_c): Add insn types
	"neon_ldp{,_q}".
	(neon_store_complex): Add insn types "neon_stp{,_q}".
	* config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types
	"neon_{ldp,stp}_q".

From-SVN: r228253
2015-09-29 16:30:45 +00:00
Jeff Law
187a0dd603 [PATCH] Fix undefined behaviour in rl78 port
[PATCH] Fix undefined behaviour in rl78 port
        * config/rl78/rl78-expand.md (movqi): Fix undefined left shift
        behaviour.

From-SVN: r228252
2015-09-29 10:28:51 -06:00
Jeff Law
3ea7f8e524 [PATCH] Fix undefined behaviour in msp430 port
* config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined
        left shift behaviour.
        * config/msp430/constraints.md ('L' constraint): Similarly.
        ('Ys' constraint): Similarly.

From-SVN: r228251
2015-09-29 10:25:21 -06:00
Jonathan Wakely
6d60110654 Leave errno unchanged by successful std::stoi etc
* include/ext/string_conversions.h (__stoa): Save and restore errno.
	* testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
	New.

From-SVN: r228249
2015-09-29 16:15:39 +01:00
Ilya Verbin
44799f87c3 libgomp-plugin-intelmic.cpp (OFFLOAD_ACTIVE_WAIT_ENV): New define.
liboffloadmic/
	* plugin/libgomp-plugin-intelmic.cpp (OFFLOAD_ACTIVE_WAIT_ENV): New
	define.
	(init): Set OFFLOAD_ACTIVE_WAIT env var to 0, if it is not set.
	* runtime/emulator/coi_common.h (PIPE_HOST_PATH): Replace with ...
	(PIPE_HOST2TGT_NAME): ... this.
	(PIPE_TARGET_PATH): Replace with ...
	(PIPE_TGT2HOST_NAME): ... this.
	(MALLOCN): New define.
	(READN): Likewise.
	(WRITEN): Likewise.
	(enum cmd_t): Replace CMD_RUN_FUNCTION with CMD_PIPELINE_RUN_FUNCTION.
	Add CMD_PIPELINE_CREATE, CMD_PIPELINE_DESTROY.
	* runtime/emulator/coi_device.cpp (engine_dir): New static variable.
	(pipeline_thread_routine): New static function.
	(COIProcessWaitForShutdown): Use global engine_dir instead of mic_dir.
	Rename pipe_host and pipe_target to pipe_host2tgt and pipe_tgt2host.
	If cmd is CMD_PIPELINE_CREATE, create a new thread for the pipeline.
	Remove cmd == CMD_RUN_FUNCTION case.
	* runtime/emulator/coi_device.h (COIERRORN): New define.
	* runtime/emulator/coi_host.cpp: Include set, map, queue.
	Replace typedefs with enums and structs.
	(struct Function): Remove name, add num_buffers, bufs_size,
	bufs_data_target, misc_data_len, misc_data, return_value_len,
	return_value, completion_event.
	(struct Callback): New.
	(struct Process): Remove pipeline.  Add pipe_host2tgt and pipe_tgt2host.
	(struct Pipeline): Remove pipe_host and pipe_target.  Add thread,
	destroy, is_destroyed, pipe_host2tgt_path, pipe_tgt2host_path,
	pipe_host2tgt, pipe_tgt2host, queue, process.
	(max_pipeline_num): New static variable.
	(pipelines): Likewise.
	(max_event_num): Likewise.
	(non_signalled_events): Likewise.
	(errored_events): Likewise.
	(callbacks): Likewise.
	(cleanup): Do not check tmp_dirs before free.
	(start_critical_section): New static function.
	(finish_critical_section): Likewise.
	(pipeline_is_destroyed): Likewise.
	(maybe_invoke_callback): Likewise.
	(signal_event): Likewise.
	(get_event_result): Likewise.
	(COIBufferCopy): Rename arguments according to headers.  Add asserts.
	Use process' main pipes, instead of pipeline's pipes.  Signal completion
	event.
	(COIBufferCreate): Rename arguments according to headers.  Add asserts.
	Use process' main pipes, instead of pipeline's pipes.
	(COIBufferCreateFromMemory): Rename arguments according to headers.
	Add asserts.
	(COIBufferDestroy): Rename arguments according to headers.  Add asserts.
	Use process' main pipes, instead of pipeline's pipes.
	(COIBufferGetSinkAddress): Rename arguments according to headers.
	Add asserts.
	(COIBufferMap): Rename arguments according to headers.  Add asserts.
	Signal completion event.
	(COIBufferRead): Likewise.
	(COIBufferSetState): Likewise.
	(COIBufferUnmap): Likewise.
	(COIBufferWrite): Likewise.
	(COIEngineGetCount): Add assert.
	(COIEngineGetHandle): Rename arguments according to headers.
	Add assert.
	(COIEventWait): Rename arguments according to headers.  Add asserts.
	Implement waiting for events with zero or infinite timeout.
	(COIEventRegisterCallback): New function.
	(pipeline_thread_routine): New static function.
	(COIPipelineCreate): Create a new thread for the pipeline.
	(COIPipelineDestroy): Exit pipeline thread.
	(COIPipelineRunFunction): Add the function into pipeline's queue,
	instead running it here.  Wait for it's completion in case of
	synchronous execution.
	(COIProcessCreateFromMemory): Rename arguments according to headers.
	Add asserts.  Create process' main pipes, instead of pipeline's pipes.
	(COIProcessDestroy): Rename arguments according to headers.
	Add asserts.  Destroy all undestroyed pipelines.
	(COIProcessGetFunctionHandles): Rename arguments according to headers.
	Add asserts.  Use process' main pipes, instead of pipeline's pipes.
	Remove useless function names.
	(COIProcessLoadLibraryFromMemory): Add asserts.  Use process' main
	pipes, instead of pipeline's pipes.
	(COIProcessUnloadLibrary): Likewise.
	(COIEngineGetInfo): Add assert.
	* runtime/emulator/coi_host.h (COIERRORN): New define.

From-SVN: r228248
2015-09-29 14:11:16 +00:00
Jonathan Wakely
b59882293f PR libstdc++/67583 Fix invalid sputn calls in tests
PR libstdc++/67583
	* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call
	with mismatched arguments.
	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.

From-SVN: r228245
2015-09-29 14:31:51 +01:00
Richard Biener
e7cbc0960e re PR fortran/67170 (PRE can't hoist out a readonly argument)
2015-09-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/67170
	* tree-ssa-alias.h (get_continuation_for_phi): Adjust
	the translate function pointer parameter to get the
	bool whether to disambiguate only by reference.
	(walk_non_aliased_vuses): Likewise.
	* tree-ssa-alias.c (maybe_skip_until): Adjust.
	(get_continuation_for_phi_1): Likewise.
	(get_continuation_for_phi): Likewise.
	(walk_non_aliased_vuses): Likewise.
	* tree-ssa-sccvn.c (const_parms): New bitmap.
	(vn_reference_lookup_3): Adjust for interface change.
	Disambiguate parameters pointing to readonly memory.
	(free_scc_vn): Free const_parms.
	(run_scc_vn): Initialize const_parms from a fn spec attribute.

	* gfortran.dg/pr67170.f90: New testcase.

From-SVN: r228244
2015-09-29 13:04:18 +00:00
Richard Biener
eada851cc9 re PR tree-optimization/67741 (Invalid built-in usage should not cause segmentation fault in compiler)
2015-09-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/67741
	* tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize
	builtin calls with correct signature.

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

From-SVN: r228243
2015-09-29 13:02:42 +00:00