1. 30 Sep, 2015 15 commits
    • More DEF_FUNCTION_TYPE_VAR_6/DEF_FUNCTION_TYPE_VAR_11 cleanup · fa83660d
      	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
      Thomas Schwinge committed
    • spu-protos.h (spu_expand_atomic_op): Add prototype. · 99400eed
      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
      Ulrich Weigand committed
    • i386.c (scalar_chain::analyze_register_chain): Ignore debug insns. · 21b82064
      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
      Ilya Enkovich committed
    • alpha, ia64: Remove empty directories. · eea10f8c
      2015-09-30  Matthias Klose  <doko@ubuntu.com>
      
              * config/cpu/alpha, config/cpu/ia64: Remove empty directories.
      
      From-SVN: r228291
      Matthias Klose committed
    • builtins.c: Add comment that no new simplifications shouldd be added here. · 25ab3b0a
      2015-09-30  Richard Biener  <rguenther@suse.de>
      
      	* builtins.c: Add comment that no new simplifications shouldd
      	be added here.
      
      From-SVN: r228290
      Richard Biener committed
    • 2015-09-30 Matthias Klose <doko@ubuntu.com> · 20a44562
              * 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
      Matthias Klose committed
    • re PR c/67730 (No warning when returning NULL in void function) · de8ddd5f
      	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
      Marek Polacek committed
    • re PR tree-optimization/67690 (wrong code with -O2 on x86_64/Linux) · 6ea2f74c
      	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
      Marek Polacek committed
    • Use gcc/coretypes.h:enum offload_abi in mkoffloads · ae15100c
      	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
      Thomas Schwinge committed
    • Add checkpoint to libgomp dg-shouldfail tests · 4e2a5450
      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
      Thomas Schwinge committed
    • configure.ac: Remove extraneous ;;. · b57d6e12
      2015-09-30  Matthias Klose  <doko@ubuntu.com>
      
              * configure.ac: Remove extraneous ;;.
              * configure: Regenerate.
      
      From-SVN: r228281
      Matthias Klose committed
    • [testsuite] Fix order of dg-do and dg-require-effective-target directives · 54cd497b
      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
      Christophe Lyon committed
    • * ChangeLog: Fix whitespace. · 76d5b80a
      From-SVN: r228279
      Uros Bizjak committed
    • Daily bump. · 6ddd7fcd
      From-SVN: r228276
      GCC Administrator committed
    • pr65771.c: Use tls_runtime instead of tls. · c4885385
      2015-09-29  Jonathan Roelofs  <jonathan@codesourcery.com>
      
      	* gcc.dg/debug/pr65771.c: Use tls_runtime instead of tls.
      
      From-SVN: r228273
      Jonathan Roelofs committed
  2. 29 Sep, 2015 25 commits
    • Limit the MEMSET (setmemsi pattern) and MEMCPY (movmemsi pattern) instructions to 0-511 bytes. · d3adfe5d
      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
      James Bowman committed
    • compiler: Accept untyped integral values as string/array indices. · 3734a256
          
          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
      Ian Lance Taylor committed
    • Make compute_deps, extend_schedule static · 01bdcc80
      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
      Aditya Kumar committed
    • use MIN fusion for ISL-14 · b4d0dacd
      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
      Sebastian Pop committed
    • builtins.c (expand_builtin_acc_on_device): Delete. · 164453bb
      	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
      Nathan Sidwell committed
    • Fix typos in comments in i386.c · 89a13632
      	* config/i386/i386.c (ix86_function_arg): Fix typo in comments.
      	(ix86_nsaved_sseregs): Likewise.
      
      From-SVN: r228266
      H.J. Lu committed
    • plugin-nvptx.c (ARRAYSIZE): Delete. · a12a0437
      	* plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
      	(cuda_errlist): Delete.
      	(cuda_error): Reimplement.
      
      From-SVN: r228265
      Nathan Sidwell committed
    • [PATCH] Fix building microblaze targets with trunk · 2a43063e
      [PATCH] Fix building microblaze targets with trunk
      	* config/microblaze/microblaze.c (microblaze_version_to_int): Remove
      	computation of unused value.
      
      From-SVN: r228263
      Jeff Law committed
    • 2015-09-29 Steven G. Kargl <kargl@gcc.gnu.org> · bbfe9e02
      	gfortran.dg/ieee/ieee_4.f90: xfail on i386-*-freebsd*
      	gfortran.dg/round_4.f90: ditto.
      
      From-SVN: r228262
      Steven G. Kargl committed
    • [PATCH] Fix warnings building pdp11 port · ef295bce
      	* 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
      Jeff Law committed
    • [PATCH] Fix building interix targets · 7bf92e50
      	* config/i386/t-interix (winnt-stubs.o): Fix compilation rule.
      
      From-SVN: r228258
      Jeff Law committed
    • [PATCH] Fix undefined behaviour in SH port · e3ed8bb7
      	* 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
      Jeff Law committed
    • remove dead code of commutative_reductions · da68b8f4
      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
      Sebastian Pop committed
    • [PATCH] Fix undefined behaviour in rx port · a53378d2
      [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
      Jeff Law committed
    • add separate insn sched class for vector LDP & STP · 5c4b7f1c
      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
      Evandro Menezes committed
    • [PATCH] Fix undefined behaviour in rl78 port · 187a0dd6
      [PATCH] Fix undefined behaviour in rl78 port
              * config/rl78/rl78-expand.md (movqi): Fix undefined left shift
              behaviour.
      
      From-SVN: r228252
      Jeff Law committed
    • [PATCH] Fix undefined behaviour in msp430 port · 3ea7f8e5
             * 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
      Jeff Law committed
    • Leave errno unchanged by successful std::stoi etc · 6d601106
      	* include/ext/string_conversions.h (__stoa): Save and restore errno.
      	* testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
      	New.
      
      From-SVN: r228249
      Jonathan Wakely committed
    • libgomp-plugin-intelmic.cpp (OFFLOAD_ACTIVE_WAIT_ENV): New define. · 44799f87
      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
      Ilya Verbin committed
    • PR libstdc++/67583 Fix invalid sputn calls in tests · b5988229
      	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
      Jonathan Wakely committed
    • re PR fortran/67170 (PRE can't hoist out a readonly argument) · e7cbc096
      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
      Richard Biener committed
    • re PR tree-optimization/67741 (Invalid built-in usage should not cause… · eada851c
      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
      Richard Biener committed
    • Reduce space and time overhead of std::thread · ce535a96
      	PR libstdc++/65393
      	* config/abi/pre/gnu.ver: Export new symbols.
      	* include/std/thread (thread::_State, thread::_State_impl): New types.
      	(thread::_M_start_thread): Add overload taking unique_ptr<_State>.
      	(thread::_M_make_routine): Remove.
      	(thread::_S_make_state): Add.
      	(thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
      	[_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
      	* src/c++11/thread.cc (execute_native_thread_routine): Rename to
      	execute_native_thread_routine_compat and re-define to use _State.
      	(thread::_State::~_State()): Define.
      	(thread::_M_make_thread): Define new overload.
      	(thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
      	overloads conditionally.
      
      From-SVN: r228242
      Jonathan Wakely committed
    • tg-tests.h (foo_1): Also check if f and ld are non-zero for __builtin_signbit tests. · c357b903
      	* gcc.dg/tg-tests.h (foo_1) [UNSAFE]: Also check if f and ld are
      	non-zero for __builtin_signbit tests.
      
      From-SVN: r228240
      Uros Bizjak committed
    • re PR target/65105 ([i386] XMM registers are not used for 64bit computations on 32bit target) · 006ba504
      gcc/
      
      	PR target/65105
      	* config/i386/i386.c: Include dbgcnt.h.
      	(has_non_address_hard_reg): New.
      	(convertible_comparison_p): New.
      	(scalar_to_vector_candidate_p): New.
      	(remove_non_convertible_regs): New.
      	(scalar_chain): New.
      	(scalar_chain::scalar_chain): New.
      	(scalar_chain::~scalar_chain): New.
      	(scalar_chain::add_to_queue): New.
      	(scalar_chain::mark_dual_mode_def): New.
      	(scalar_chain::analyze_register_chain): New.
      	(scalar_chain::add_insn): New.
      	(scalar_chain::build): New.
      	(scalar_chain::compute_convert_gain): New.
      	(scalar_chain::replace_with_subreg): New.
      	(scalar_chain::replace_with_subreg_in_insn): New.
      	(scalar_chain::emit_conversion_insns): New.
      	(scalar_chain::make_vector_copies): New.
      	(scalar_chain::convert_reg): New.
      	(scalar_chain::convert_op): New.
      	(scalar_chain::convert_insn): New.
      	(scalar_chain::convert): New.
      	(convert_scalars_to_vector): New.
      	(pass_data_stv): New.
      	(pass_stv): New.
      	(make_pass_stv): New.
      	(ix86_option_override): Created and register stv pass.
      	(flag_opts): Add -mstv.
      	(ix86_option_override_internal): Likewise.
      	* config/i386/i386.md (SWIM1248x): New.
      	(*movdi_internal): Add xmm to mem alternative for TARGET_STV.
      	(and<mode>3): Use SWIM1248x iterator instead of SWIM.
      	(*anddi3_doubleword): New.
      	(*zext<mode>_doubleword): New.
      	(*zextsi_doubleword): New.
      	(<code><mode>3): Use SWIM1248x iterator instead of SWIM.
      	(*<code>di3_doubleword): New.
      	* config/i386/i386.opt (mstv): New.
      	* dbgcnt.def (stv_conversion): New.
      
      gcc/testsuite/
      
      	PR target/65105
      	* gcc.target/i386/pr65105-1.c: New.
      	* gcc.target/i386/pr65105-2.c: New.
      	* gcc.target/i386/pr65105-3.c: New.
      	* gcc.target/i386/pr65105-4.C: New.
      	* gcc.dg/lower-subreg-1.c: Add -mno-stv options for ia32.
      
      From-SVN: r228231
      Ilya Enkovich committed