platform/upstream/linaro-gcc.git
8 years agoimprove construction of the original schedule
spop [Wed, 11 Nov 2015 20:43:51 +0000 (20:43 +0000)]
improve construction of the original schedule

The patch builds the original schedule based on the now optimized scattering
dimension instead of building one based on the loop index only.

The implementation is simpler and catches more cases where the original schedule
and the transformed schedule are the same, such as the one below:

for (i = 0; i < 1000; i++)
{
  Temp = F[i];
  for (j = 0; j < 1000; j++)
 {
    D[j] = E[j]  * Temp;
    A[i][j] = A[i][j]  + B[i][j] * C[i][j] - D[j] ;
  }
  D[i] = E[i] * F[i];
}

  * graphite-sese-to-poly.c (build_scop_original_schedule): Call
  isl_union_map_add_map on every pbb->schedule.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230191 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoadd testsuite automatic dg-options and dg-do action for isl-ast-gen-* and fuse-*...
spop [Wed, 11 Nov 2015 20:43:45 +0000 (20:43 +0000)]
add testsuite automatic dg-options and dg-do action for isl-ast-gen-* and fuse-* files

        * gcc.dg/graphite/fuse-1.c: Adjust pattern.  Remove dg-do.
        * gcc.dg/graphite/fuse-2.c: Same.
        * gcc.dg/graphite/graphite.exp (opt_files): Add fuse-*.c and
        isl-ast-gen-*.c files.
        * gcc.dg/graphite/isl-ast-gen-blocks-1.c: Remove dg-do and dg-options.
        * gcc.dg/graphite/isl-ast-gen-blocks-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-blocks-3.c: Same.
        * gcc.dg/graphite/isl-ast-gen-blocks-4.c: Same.
        * gcc.dg/graphite/isl-ast-gen-if-1.c: Same.
        * gcc.dg/graphite/isl-ast-gen-if-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-1.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-2.c: Same.
        * gcc.dg/graphite/isl-ast-gen-single-loop-3.c: Same.
        * gcc.dg/graphite/isl-ast-gen-user-1.c: Same.
        * gcc.dg/graphite/isl-codegen-loop-dumping.c: Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230190 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMake create_parallel_loop return void
vries [Wed, 11 Nov 2015 20:22:22 +0000 (20:22 +0000)]
Make create_parallel_loop return void

2015-11-11  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (create_parallel_loop): Return void.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230189 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoInsert new exit block only when needed in transform_to_exit_first_loop_alt
vries [Wed, 11 Nov 2015 20:22:12 +0000 (20:22 +0000)]
Insert new exit block only when needed in transform_to_exit_first_loop_alt

2015-11-11  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit
block only when needed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230188 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * libsupc++/new_handler.cc: Fix for explicit constructor change.
redi [Wed, 11 Nov 2015 17:29:39 +0000 (17:29 +0000)]
* libsupc++/new_handler.cc: Fix for explicit constructor change.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230184 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoLoop in std::this_thread sleep functions
redi [Wed, 11 Nov 2015 17:08:51 +0000 (17:08 +0000)]
Loop in std::this_thread sleep functions

PR libstdc++/60421
* include/std/thread (this_thread::sleep_for): Retry on EINTR.
(this_thread::sleep_until): Retry if time not reached.
* src/c++11/thread.cc (__sleep_for): Retry on EINTR.
* testsuite/30_threads/this_thread/60421.cc: Test interruption and
non-steady clocks.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230183 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/alpha/alpha-protos.h (print_operand): Remove.
uros [Wed, 11 Nov 2015 16:17:47 +0000 (16:17 +0000)]
* config/alpha/alpha-protos.h (print_operand): Remove.
(print_operand_address): Remove.
* config/alpha/alpha.h (PRINT_OPERAND): Remove.
(PRINT_OPERAND_ADDRESS): Remove.
(PRINT_OPERAND_PUNCT_VALID_P): Remove.
* config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define.
(TARGET_PRINT_OPERAND_ADDRESS): New hook define.
(TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
(print_operand_address): Rename to...
(alpha_print_operand_address): ...this and make static.
(print_operand): Rename to...
(alpha_print_operand): ...this and make static.
(alpha_print_operand_punct_valid_p): New static function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230181 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoCorrect the Changelog date of the previous commit.
ville [Wed, 11 Nov 2015 14:56:17 +0000 (14:56 +0000)]
Correct the Changelog date of the previous commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230177 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-10 Ville Voutilainen <ville.voutilainen@gmail.com>
ville [Wed, 11 Nov 2015 14:47:19 +0000 (14:47 +0000)]
2015-11-10  Ville Voutilainen  <ville.voutilainen@gmail.com>

LWG 2510, make the default constructors of library tag types
explicit.
* include/bits/mutex.h (defer_lock_t, try_lock_t,
adopt_lock_t): Add an explicit default constructor.
* include/bits/stl_pair.h (piecewise_construct_t): Likewise.
* include/bits/uses_allocator.h (allocator_arg_t): Likewise.
* libsupc++/new (nothrow_t): Likewise.
* testsuite/17_intro/tag_type_explicit_ctor.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230175 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/68107
mpolacek [Wed, 11 Nov 2015 14:47:03 +0000 (14:47 +0000)]
PR c/68107
PR c++/68266
* c-common.c (valid_array_size_p): New function.
* c-common.h (valid_array_size_p): Declare.

* c-decl.c (grokdeclarator): Call valid_array_size_p.  Remove code
checking the size of an array.

* decl.c (grokdeclarator): Call valid_array_size_p.  Remove code
checking the size of an array.

* c-c++-common/pr68107.c: New test.
* g++.dg/init/new38.C (large_array_char): Adjust dg-error.
(large_array_char_template): Likewise.
* g++.dg/init/new44.C: Adjust dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230174 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-11 Richard Biener <rguenther@suse.de>
rguenth [Wed, 11 Nov 2015 14:40:36 +0000 (14:40 +0000)]
2015-11-11  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment):
Declare.
(vect_analyze_data_refs_alignment): Make loop vect specific.
(vect_verify_datarefs_alignment): Likewise.
* tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences):
Add missing continue.
(vect_compute_data_ref_alignment): Export.
(vect_compute_data_refs_alignment): Merge into...
(vect_analyze_data_refs_alignment): ... this.
(verify_data_ref_alignment): Split out from ...
(vect_verify_datarefs_alignment): ... here.
(vect_slp_analyze_and_verify_node_alignment): New function.
(vect_slp_analyze_and_verify_instance_alignment): Likewise.
* tree-vect-slp.c (vect_supported_load_permutation_p): Remove
misplaced checks on alignment.
(vect_slp_analyze_bb_1): Add fatal output parameter.  Do
alignment analysis after SLP discovery and do it per instance.
(vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not
bother to re-try using different vector sizes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230173 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/cp/ChangeLog
dominiq [Wed, 11 Nov 2015 14:30:16 +0000 (14:30 +0000)]
gcc/cp/ChangeLog
2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>

PR bootstrap/68271
* parser.h (cp_token): Update pragma_kind to 8.

gcc/c-family/ChangeLog
2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>

PR bootstrap/68271
* c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230172 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-11 Andrew MacLeod <amacleod@redhat.com>
amacleod [Wed, 11 Nov 2015 14:28:46 +0000 (14:28 +0000)]
2015-11-11  Andrew MacLeod  <amacleod@redhat.com>

* count-headers: Initial file.
* gcc-order-headers: Initial file.
* graph-header-logs: Initial file.
* graph-include-web: Initial file.
* headerutils.py: Initial file.
* included-by: Initial file.
* README: Initial file.
* reduce-headers: Initial file.
* replace-header: Initial file.
* show-headers: Initial file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230171 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/67265
ebotcazou [Wed, 11 Nov 2015 14:24:39 +0000 (14:24 +0000)]
PR target/67265
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230170 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago gcc/
nathan [Wed, 11 Nov 2015 14:24:09 +0000 (14:24 +0000)]
gcc/
* gcc/gimplify.c (enum  omp_region_type): Add ORT_ACC,
ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS.  Adjust ORT_NONE.
(gimple_add_tmp_var): Add ORT_ACC checks.
(gimplify_var_or_parm_decl): Likewise.
(omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a
mask.
(omp_add_variable): Look in outer contexts for openacc and allow
reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA
checks.
(omp_notice_variable, omp_is_private, omp_check_private): Add
ORT_ACC checks.
(gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE.
Permit private openacc reductions.
(gimplify_oacc_cache): Specify ORT_ACC.
(gimplify_omp_workshare): Adjust OpenACC region types.
(gimplify_omp_target_update): Likewise.
* gcc/omp-low.c (scan_sharing_clauses): Remove Openacc
firstprivate sorry.
(lower-rec_input_clauses): Don't handle openacc firstprivate
references here.
(lower_omp_target): Emit initializers for openacc firstprivate vars.

gcc/testsuite/
* gfortran.dg/goacc/private-3.f95: Remove xfail.
* gfortran.dg/goacc/combined_loop.f90: Remove xfail.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Remove xfail.
* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Remove xfail.
* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230169 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/67265
ebotcazou [Wed, 11 Nov 2015 14:22:43 +0000 (14:22 +0000)]
PR target/67265
* ira.c (ira_setup_eliminable_regset): Do not necessarily create the
frame pointer for stack checking if non-call exceptions aren't used.
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230168 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agors6000: Extend 20050603-3.c testcase to 64-bit
segher [Wed, 11 Nov 2015 14:21:25 +0000 (14:21 +0000)]
rs6000: Extend 20050603-3.c testcase to 64-bit

The testcase used to fail on 64-bit, but it was disabled there.
This patch makes it run there, and beefs up the checking of the
generated code a bit.

gcc/testsuite/
* gcc.target/powerpc/20050603-3.c: Don't restrict to ilp32.  Do more
tests for the expected generated code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230167 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoada
amacleod [Wed, 11 Nov 2015 14:18:08 +0000 (14:18 +0000)]
ada

* gcc-interface/decl.c: Remove unused header files.
* gcc-interface/misc.c: Likewise.
* gcc-interface/targtyps.c: Likewise.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
c

* c-array-notation.c: Remove unused header files.
* c-aux-info.c: Likewise.
* c-convert.c: Likewise.
* c-decl.c: Likewise.
* c-errors.c: Likewise.
* c-lang.c: Likewise.
* c-objc-common.c: Likewise.
* c-parser.c: Likewise.
* c-typeck.c: Likewise.
* gccspec.c: Likewise.

c-family

* array-notation-common.c: Remove unused header files.
* c-ada-spec.c: Likewise.
* c-cilkplus.c: Likewise.
* c-common.c: Likewise.
* c-cppbuiltin.c: Likewise.
* c-dump.c: Likewise.
* c-format.c: Likewise.
* c-gimplify.c: Likewise.
* c-indentation.c: Likewise.
* c-lex.c: Likewise.
* c-omp.c: Likewise.
* c-opts.c: Likewise.
* c-pch.c: Likewise.
* c-ppoutput.c: Likewise.
* c-pragma.c: Likewise.
* c-pretty-print.c: Likewise.
* c-semantics.c: Likewise.
* c-ubsan.c: Likewise.
* cilk.c: Likewise.
* stub-objc.c: Likewise.

cp

* call.c: Remove unused header files.
* class.c: Likewise.
* constexpr.c: Likewise.
* cp-array-notation.c: Likewise.
* cp-cilkplus.c: Likewise.
* cp-gimplify.c: Likewise.
* cp-lang.c: Likewise.
* cp-objcp-common.c: Likewise.
* cp-ubsan.c: Likewise.
* cvt.c: Likewise.
* cxx-pretty-print.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* dump.c: Likewise.
* error.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* friend.c: Likewise.
* g++spec.c: Likewise.
* init.c: Likewise.
* lambda.c: Likewise.
* lex.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* name-lookup.c: Likewise.
* optimize.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* ptree.c: Likewise.
* repo.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
* semantics.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.
* vtable-class-hierarchy.c: Likewise.

Fortran

* array.c: Remove unused header files.
* convert.c: Likewise.
* cpp.c: Likewise.
* decl.c: Likewise.
* f95-lang.c: Likewise.
* frontend-passes.c: Likewise.
* iresolve.c: Likewise.
* match.c: Likewise.
* module.c: Likewise.
* options.c: Likewise.
* parse.c: Likewise.
* target-memory.c: Likewise.
* trans-array.c: Likewise.
* trans-common.c: Likewise.
* trans-const.c: Likewise.
* trans-decl.c: Likewise.
* trans-expr.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-io.c: Likewise.
* trans-openmp.c: Likewise.
* trans-stmt.c: Likewise.
* trans-types.c: Likewise.
* trans.c: Likewise.

go

* go-backend.c: Remove unused header files.
* go-gcc.cc: Likewise.
* go-lang.c: Likewise.
* gospec.c: Likewise.

Java

* boehm.c: Remove unused header files.
* builtins.c: Likewise.
* class.c: Likewise.
* constants.c: Likewise.
* decl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* java-gimplify.c: Likewise.
* jcf-dump.c: Likewise.
* jcf-io.c: Likewise.
* jcf-parse.c: Likewise.
* jvgenmain.c: Likewise.
* lang.c: Likewise.
* mangle.c: Likewise.
* mangle_name.c: Likewise.
* resource.c: Likewise.
* typeck.c: Likewise.
* verify-glue.c: Likewise.
* verify-impl.c: Likewise.
* zextract.c: Likewise.

jit

* dummy-frontend.c: Remove unused header files.
* jit-builtins.c: Likewise.
* jit-playback.c: Likewise.
* jit-recording.c: Likewise.
* jit-spec.c: Likewise.
* libgccjit.c: Likewise.

lto

* lto-lang.c: Remove unused header files.
* lto-object.c: Likewise.
* lto-partition.c: Likewise.
* lto-symtab.c: Likewise.
* lto.c: Likewise.

objc

* objc-act.c: Remove unused header files.
* objc-encoding.c: Likewise.
* objc-gnu-runtime-abi-01.c: Likewise.
* objc-lang.c: Likewise.
* objc-map.c: Likewise.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
* objc-runtime-shared-support.c: Likewise.

objcp

* objcp-decl.c: Remove unused header files.
* objcp-lang.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230166 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agosimplify-rtx: Simplify trunc of and of shiftrt
segher [Wed, 11 Nov 2015 14:09:30 +0000 (14:09 +0000)]
simplify-rtx: Simplify trunc of and of shiftrt

If we have

(truncate:M1 (and:M2 (lshiftrt:M2 (x:M2) C) C2))

we can write it instead as

(and:M1 (lshiftrt:M1 (truncate:M1 (x:M2)) C) C2)

(if that is valid, of course), which has smaller modes for the
binary ops, and the truncate can often simplify further (if "x"
is a register, for example).

* gcc/simplify-rtx.c (simplify_truncation): Simplify TRUNCATE
of AND of [LA]SHIFTRT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230164 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix PR rtl-optimization/68287
marxin [Wed, 11 Nov 2015 14:04:47 +0000 (14:04 +0000)]
Fix PR rtl-optimization/68287

PR rtl-optimization/68287
* lra-lives.c (lra_create_live_ranges_1): Reserve the right
number of elements.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230163 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUndo delay slot filling and use compact branches in selected cases.
dardiss [Wed, 11 Nov 2015 13:40:08 +0000 (13:40 +0000)]
Undo delay slot filling and use compact branches in selected cases.

gcc/
* config/mips/mips.c (mips_breakable_sequence_p): New function.
(mips_break_sequence): New function.
(mips_reorg_process_insns) Use them. Use compact branches in selected
          situations.

gcc/testsuite/
        * gcc.target/mips/split-ds-sequence.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230160 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix whitespace+typo from "Share code from fold_array_ctor_reference with fold."
alalaw01 [Wed, 11 Nov 2015 13:31:46 +0000 (13:31 +0000)]
Fix whitespace+typo from "Share code from fold_array_ctor_reference with fold."

* fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230159 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] PR67305, tighten neon_vector_mem_operand on eliminable registers
jiwang [Wed, 11 Nov 2015 12:30:46 +0000 (12:30 +0000)]
[ARM] PR67305, tighten neon_vector_mem_operand on eliminable registers

2015-11-11  Jiong Wang  <jiong.wang@arm.com>
    Jim Wilson  <wilson@gcc.gnu.org>

PR target/67305
* config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict
be true and eliminable registers mentioned.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230158 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-11 Claudiu Zissulescu <claziss@synopsys.com>
claziss [Wed, 11 Nov 2015 12:28:37 +0000 (12:28 +0000)]
2015-11-11  Claudiu Zissulescu  <claziss@synopsys.com>

* common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2
options.
* config/arc/arc-opts.h: Add ARCv2 CPUs.
* config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype.
* config/arc/arc.c (arc_secondary_reload): Handle subreg (reg)
situation, and store instructions with large offsets.
(arc_secondary_reload_conv): New function.
(arc_init): Add ARCv2 options.
(arc_conditional_register_usage): Select the proper register usage
for ARCv2 processors.
(arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1
architecture.
(arc_compute_function_type): Likewise.
(arc_print_operand): Handle new ARCv2 punctuation characters.
(arc_return_in_memory): ARCv2 ABI returns in registers up to 16
bytes.
(workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New
function.
(arc_reorg, arc_hazard): Use it.
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and
__EM__.
(ASM_SPEC): Add ARCv2 options.
(TARGET_NORM): ARC HS has norm instructions by default.
(TARGET_OPTFPE): Use optimized floating point emulation for ARC
HS.
(TARGET_AT_DBR_CONDEXEC): Only for ARC600 family.
(TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI):
Define.
(SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY):
Likewise.
(TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise.
(TARGET_LP_WR_INTERLOCK): Likewise.
* config/arc/arc.md
(commutative_binary_mult_comparison_result_used, movsicc_insn)
(mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart)
(umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart)
(umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i):
Use it for ARCv2.
(mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm)
(umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2)
(prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu)
(arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store)
(extzvsi): New pattern.
* config/arc/arc.opt: New ARCv2 options.
* config/arc/arcEM.md: New file.
* config/arc/arcHS.md: Likewise.
* config/arc/constraints.md (C3p): New constraint, accepts 1 and 2
values.
(Cm2): A signed 9-bit integer constant constraint.
(C62): An unsigned 6-bit integer constant constraint.
(C16): A signed 16-bit integer constant constraint.
* config/arc/predicates.md (mult_operator): Add ARCv2 processort.
(short_const_int_operand): New predicate.
* config/arc/t-arc-newlib: Add ARCv2 multilib options.
* doc/invoke.texi: Add documentation for -mcpu=<archs/arcem>
-mcode-density and -mdiv-rem.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230156 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix typo.
kyukhin [Wed, 11 Nov 2015 11:47:00 +0000 (11:47 +0000)]
Fix typo.

gcc/
* config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230155 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix target arch attribute for Skylake.
kyukhin [Wed, 11 Nov 2015 11:40:50 +0000 (11:40 +0000)]
Fix target arch attribute for Skylake.

gcc/
* config/i386/i386.c: Handle "skylake" and
"skylake-avx512".

gcc/testsuite/
* g++.dg/ext/mv16.C: New functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230153 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix various memory leaks
marxin [Wed, 11 Nov 2015 11:21:44 +0000 (11:21 +0000)]
Fix various memory leaks

* gimple-ssa-strength-reduction.c (create_phi_basis):
Use auto_vec.
* passes.c (release_dump_file_name): New function.
(pass_init_dump_file): Used from this function.
(pass_fini_dump_file): Likewise.
* tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump.
* var-tracking.c (vt_initialize): Use pool_allocator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230152 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-11 Claudiu Zissulescu <claziss@synopsys.com>
claziss [Wed, 11 Nov 2015 11:04:32 +0000 (11:04 +0000)]
2015-11-11  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/dp-hack.h: Add support for ARCHS.
* config/arc/ieee-754/divdf3.S: Likewise.
* config/arc/ieee-754/divsf3-stdmul.S: Likewise.
* config/arc/ieee-754/muldf3.S: Likewise.
* config/arc/ieee-754/mulsf3.S: Likewise
* config/arc/lib1funcs.S: Likewise
* config/arc/gmon/dcache_linesz.S: Don't read the build register
for ARCv2 cores.
* config/arc/gmon/profil.S (__profil, __profil_irq): Don't profile
for ARCv2 cores.
* config/arc/ieee-754/arc-ieee-754.h (MPYHU, MPYH): Define.
* config/arc/t-arc700-uClibc: Remove hard selection for ARC 700
cores.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230151 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[Patch] PR tree-optimization/68234 Improve range info for loop Phi node
jiwang [Wed, 11 Nov 2015 10:51:31 +0000 (10:51 +0000)]
[Patch] PR tree-optimization/68234 Improve range info for loop Phi node

2015-11-11  Richard Biener  <rguenth@gcc.gnu.org>
    Jiong Wang      <jiong.wang@arm.com>
gcc/
  PR tree-optimization/68234
  * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI
  node which estimiated to be VR_VARYING initially.

gcc/testsuite/
  * gcc.dg/tree-ssa/pr68234.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230150 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoTighten up checks when tying chains.
rts [Wed, 11 Nov 2015 10:36:00 +0000 (10:36 +0000)]
Tighten up checks when tying chains.

gcc/
* regname.c (scan_rtx_reg): Check the matching number of consecutive
registers when tying chains.
(build_def_use): Move terminated_this_insn earlier in the function.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230149 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Wed, 11 Nov 2015 10:30:25 +0000 (10:30 +0000)]
2015-11-11  Dominique d'Humieres <dominiq@lps.ens.fr>

PR fortran/67826
* openmp.c (gfc_omp_udr_find): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230148 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR libstdc++/64651
redi [Wed, 11 Nov 2015 10:08:23 +0000 (10:08 +0000)]
PR libstdc++/64651
* libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration
to __exception_ptr namespace.
* testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL.
Remove unnecessary test variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230147 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc: configure: fix test == bashisms
vapier [Wed, 11 Nov 2015 08:06:03 +0000 (08:06 +0000)]
gcc: configure: fix test == bashisms

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230146 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago* config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and
dje [Wed, 11 Nov 2015 04:01:30 +0000 (04:01 +0000)]
* config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and
machine asserts.  Update defines for 64 bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230145 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] PR63870 Remove error for invalid lane numbers
cbaylis [Wed, 11 Nov 2015 01:11:20 +0000 (01:11 +0000)]
[ARM] PR63870 Remove error for invalid lane numbers

2015-11-11  Charles Baylis  <charles.baylis@linaro.org>

PR target/63870
* config/arm/neon.md (neon_vld1_lane<mode>): Remove error for invalid
lane number.
(neon_vst1_lane<mode>): Likewise.
(neon_vld2_lane<mode>): Likewise.
(neon_vst2_lane<mode>): Likewise.
(neon_vld3_lane<mode>): Likewise.
(neon_vst3_lane<mode>): Likewise.
(neon_vld4_lane<mode>): Likewise.
(neon_vst4_lane<mode>): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230144 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] PR63870 Mark lane indices of vldN/vstN with appropriate qualifier
cbaylis [Wed, 11 Nov 2015 01:08:43 +0000 (01:08 +0000)]
[ARM] PR63870 Mark lane indices of vldN/vstN with appropriate qualifier

2015-11-11  Charles Baylis  <charles.baylis@linaro.org>

PR target/63870
* config/arm/arm-builtins.c: (arm_load1_qualifiers) Use
qualifier_struct_load_store_lane_index.
(arm_storestruct_lane_qualifiers) Likewise.
* config/arm/neon.md: (neon_vld1_lane<mode>) Reverse lane numbers for
big-endian.
(neon_vst1_lane<mode>) Likewise.
(neon_vld2_lane<mode>) Likewise.
(neon_vst2_lane<mode>) Likewise.
(neon_vld3_lane<mode>) Likewise.
(neon_vst3_lane<mode>) Likewise.
(neon_vld4_lane<mode>) Likewise.
(neon_vst4_lane<mode>) Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230143 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] PR63870 Add qualifiers for NEON builtins
cbaylis [Wed, 11 Nov 2015 01:05:16 +0000 (01:05 +0000)]
[ARM] PR63870 Add qualifiers for NEON builtins

2015-11-11  Charles Baylis  <charles.baylis@linaro.org>

PR target/63870
* config/arm/arm-builtins.c (enum arm_type_qualifiers): New enumerator
qualifier_struct_load_store_lane_index.
(builtin_arg): New enumerator NEON_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(arm_expand_neon_args): New parameter. Remove ellipsis. Handle NEON
argument qualifiers.
(arm_expand_neon_builtin): Handle new NEON argument qualifier.
* config/arm/arm.h (NEON_ENDIAN_LANE_N): New macro.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230142 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 11 Nov 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230141 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/nvptx/nvptx.opt (moptimize): New flag.
nathan [Tue, 10 Nov 2015 22:29:20 +0000 (22:29 +0000)]
* config/nvptx/nvptx.opt (moptimize): New flag.
* config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize
default.
(nvptx_optimize_inner): New.
(nvptx_process_pars): Call it when optimizing.
* doc/invoke.texi (Nvidia PTX Options): Document -moptimize.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230137 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Tue, 10 Nov 2015 21:52:50 +0000 (21:52 +0000)]
2015-11-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
Remove redundant code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230136 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago libgo: use Solaris sendfile lib, fix Solaris _in6_addr_t fields
ian [Tue, 10 Nov 2015 21:38:30 +0000 (21:38 +0000)]
libgo: use Solaris sendfile lib, fix Solaris _in6_addr_t fields

    Before Solaris 12 the sendfile function is found in -lsendfile, so look
    for it there.

    Solaris 12 adds some more types that use _in6_addr_t, that need to be
    edited in mksysinfo.

    Patch by Rainer Orth.

    Reviewed-on: https://go-review.googlesource.com/16779

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230132 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PATCH] Fix minor fallout from operand_address changes
law [Tue, 10 Nov 2015 21:11:07 +0000 (21:11 +0000)]
[PATCH] Fix minor fallout from operand_address changes
2015-11-10  Jeff Law  <law@redhat.com>

* config/ft32/ft32.c (ft32_print_operand): Supply mode to
call to output_address.
* config/moxie/moxie.c (moxie_print_operand_address): Similarly.
Add unnamed machine_mode argument.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230130 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 10 Nov 2015 20:50:39 +0000 (20:50 +0000)]
2015-11-10  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that
default to 64-bit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230123 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR go/68255
ian [Tue, 10 Nov 2015 20:31:11 +0000 (20:31 +0000)]
PR go/68255
    cmd/go: always use --whole-archive for gccgo packages

    This is a backport of https://golang.org/cl/16775.

    This is, in effect, what the gc toolchain does.  It fixes cases where Go
    code refers to a C global variable; without this, if the global variable
    was the only thing visible in the C code, the generated cgo file might
    not get pulled in from the archive, leaving the Go variable
    uninitialized.

    This was reported against gccgo as https://gcc.gnu.org/PR68255 .

    Reviewed-on: https://go-review.googlesource.com/16778

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230120 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/i386.md (*movabs<mode>_1): Add explicit
uros [Tue, 10 Nov 2015 19:26:08 +0000 (19:26 +0000)]
* config/i386/i386.md (*movabs<mode>_1): Add explicit
size directives for -masm=intel.
(*movabs<mode>_2): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230119 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/i386.c (ix86_print_operand): Remove dead code that
uros [Tue, 10 Nov 2015 17:48:31 +0000 (17:48 +0000)]
* config/i386/i386.c (ix86_print_operand): Remove dead code that
tried to avoid (%rip) for call operands.

* config/i386/i386.c (ix86_print_operand_address_as): Add no_rip
argument.  Do not use RIP relative addressing when no_rip is set.
(ix86_print_operand): Update call to ix86_print_operand_address_as.
(ix86_print_operand_address): Ditto.
* config/i386/i386.md (*movabs<mode>_1): Use %P modifier for
absolute movabs operand 0.  Add square braces for -masm=intel.
(*movabs<mode>_2): Ditto for operand 1.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230117 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM] Fix costing of vmul+vcvt combine pattern
ktkachov [Tue, 10 Nov 2015 17:29:46 +0000 (17:29 +0000)]
[ARM] Fix costing of vmul+vcvt combine pattern

* config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle
combine_vcvtf2i pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230116 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[ARM][cleanup] Remove uses of CONST_DOUBLE_HIGH/LOW
ktkachov [Tue, 10 Nov 2015 17:27:42 +0000 (17:27 +0000)]
[ARM][cleanup] Remove uses of CONST_DOUBLE_HIGH/LOW

* config/arm/arm.c (neon_valid_immediate): Remove integer
CONST_DOUBLE handling.  It should never occur.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230115 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] Move iterators from atomics.md to iterators.md
mwahab [Tue, 10 Nov 2015 15:59:37 +0000 (15:59 +0000)]
[AArch64] Move iterators from atomics.md to iterators.md

* config/aarch64/atomics.md (unspecv): Move to iterators.md.
(ATOMIC_LDOP): Likewise.
(atomic_ldop): Likewise.
* config/aarch64/iterators.md (unspecv): Moved from atomics.md.
(ATOMIC_LDOP): Likewise.
(atomic_ldop): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230114 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix return type of heterogeneous find for sets
redi [Tue, 10 Nov 2015 15:12:24 +0000 (15:12 +0000)]
Fix return type of heterogeneous find for sets

PR libstdc++/68190
* include/bits/stl_multiset.h (multiset::find): Fix return types.
* include/bits/stl_set.h (set::find): Likewise.
* testsuite/23_containers/map/operations/2.cc: Test find return types.
* testsuite/23_containers/multimap/operations/2.cc: Likewise.
* testsuite/23_containers/multiset/operations/2.cc: Likewise.
* testsuite/23_containers/set/operations/2.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230113 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUpdate C++17 library implementation status
redi [Tue, 10 Nov 2015 14:05:01 +0000 (14:05 +0000)]
Update C++17 library implementation status

* doc/xml/manual/status_cxx2017.xml: Update.
* doc/html/*: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230108 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
nathan [Tue, 10 Nov 2015 13:51:09 +0000 (13:51 +0000)]
* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
inadvertent commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230107 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoEnhance pool allocator
marxin [Tue, 10 Nov 2015 12:27:33 +0000 (12:27 +0000)]
Enhance pool allocator

* alloc-pool.h (allocate_raw): New function.
(operator new (size_t, object_allocator<T> &a)): Use the
function instead of object_allocator::allocate).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230105 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Tue, 10 Nov 2015 12:19:42 +0000 (12:19 +0000)]
gcc/

* config/i386/sse.md (HALFMASKMODE): New attribute.
(DOUBLEMASKMODE): New attribute.
(vec_pack_trunc_qi): New.
(vec_pack_trunc_<mode>): New.
(vec_unpacks_lo_hi): New.
(vec_unpacks_lo_si): New.
(vec_unpacks_lo_di): New.
(vec_unpacks_hi_hi): New.
(vec_unpacks_hi_<mode>): New.

gcc/testsuite/

* gcc.target/i386/mask-pack.c: New test.
* gcc.target/i386/mask-unpack.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230104 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Tue, 10 Nov 2015 12:17:30 +0000 (12:17 +0000)]
gcc/

* optabs.c (expand_binop_directly): Allow scalar mode for
vec_pack_trunc_optab.
* tree-vect-loop.c (vect_determine_vectorization_factor): Skip
boolean vector producers from pattern sequence when computing VF.
* tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add
vect_recog_mask_conversion_pattern.
(search_type_for_mask): Choose the smallest
type if different size types are mixed.
(build_mask_conversion): New.
(vect_recog_mask_conversion_pattern): New.
(vect_pattern_recog_1): Allow scalar mode for boolean vectype.
* tree-vect-stmts.c (vectorizable_mask_load_store): Support masked
load with pattern.
(vectorizable_conversion): Support boolean vectors.
(free_stmt_vec_info): Allow patterns for statements with no lhs.
* tree-vectorizer.h (NUM_PATTERNS): Increase to 14.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230103 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Tue, 10 Nov 2015 12:15:42 +0000 (12:15 +0000)]
gcc/

2015-11-10  Ilya Enkovich  <enkovich.gnu@gmail.com>

* config/i386/i386-protos.h (ix86_expand_sse_movcc): New.
* config/i386/i386.c (ix86_expand_sse_movcc): Make public.
Cast mask to FP mode if required.
* config/i386/sse.md (vcond_mask_<mode><avx512fmaskmodelower>): New.
(vcond_mask_<mode><avx512fmaskmodelower>): New.
(vcond_mask_<mode><sseintvecmodelower>): New.
(vcond_mask_<mode><sseintvecmodelower>): New.
(vcond_mask_v2div2di): New.
(vcond_mask_<mode><sseintvecmodelower>): New.
(vcond_mask_<mode><sseintvecmodelower>): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230102 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Tue, 10 Nov 2015 12:14:19 +0000 (12:14 +0000)]
gcc/

2015-11-10  Ilya Enkovich  <enkovich.gnu@gmail.com>

* optabs-query.h (get_vcond_mask_icode): New.
* optabs-tree.c (expand_vec_cond_expr_p): Use
get_vcond_mask_icode for VEC_COND_EXPR with mask.
* optabs.c (expand_vec_cond_mask_expr): New.
(expand_vec_cond_expr): Use get_vcond_mask_icode
when possible.
* optabs.def (vcond_mask_optab): New.
* tree-vect-patterns.c (vect_recog_bool_pattern): Don't
generate redundant comparison for COND_EXPR.
* tree-vect-stmts.c (vect_is_simple_cond): Allow SSA_NAME
as a condition.
(vectorizable_condition): Likewise.
* tree-vect-slp.c (vect_get_and_check_slp_defs): Allow
cond_exp with no embedded comparison.
(vect_build_slp_tree_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230101 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
ienkovich [Tue, 10 Nov 2015 12:08:02 +0000 (12:08 +0000)]
2015-11-10  Ilya Enkovich  <enkovich.gnu@gmail.com>

* config/i386/sse.md (maskload<mode>): Rename to ...
(maskload<mode><sseintvecmodelower>): ... this.
(maskstore<mode>): Rename to ...
(maskstore<mode><sseintvecmodelower>): ... this.
(maskload<mode><avx512fmaskmodelower>): New.
(maskstore<mode><avx512fmaskmodelower>): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230100 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Tue, 10 Nov 2015 12:06:05 +0000 (12:06 +0000)]
gcc/

* internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes.
(expand_MASK_STORE): Adjust to maskstore optab changes.
* optabs-query.c (can_vec_mask_load_store_p): Add MASK_MODE arg.
 Adjust to maskload, maskstore optab changes.
* optabs-query.h (can_vec_mask_load_store_p): Add MASK_MODE arg.
* optabs.def (maskload_optab): Transform into convert optab.
(maskstore_optab): Likewise.
* tree-if-conv.c (ifcvt_can_use_mask_load_store): Adjust to
can_vec_mask_load_store_p signature change.
(predicate_mem_writes): Use boolean mask.
* tree-vect-stmts.c (vectorizable_mask_load_store): Adjust to
can_vec_mask_load_store_p signature change.  Allow invariant masks.
(vectorizable_operation): Ignore type precision for boolean vectors.

gcc/testsuite/

* gcc.target/i386/avx2-vec-mask-bit-not.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230099 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Tue, 10 Nov 2015 11:57:34 +0000 (11:57 +0000)]
gcc/

* expr.c (do_store_flag): Use expand_vec_cmp_expr for mask results.
(const_vector_mask_from_tree): New.
(const_vector_from_tree): Use const_vector_mask_from_tree
for boolean vectors.
* optabs-query.h (get_vec_cmp_icode): New.
* optabs-tree.c (expand_vec_cmp_expr_p): New.
* optabs-tree.h (expand_vec_cmp_expr_p): New.
* optabs.c (vector_compare_rtx): Add OPNO arg.
(expand_vec_cond_expr): Adjust to vector_compare_rtx change.
(expand_vec_cmp_expr): New.
* optabs.def (vec_cmp_optab): New.
(vec_cmpu_optab): New.
* optabs.h (expand_vec_cmp_expr): New.
* tree-vect-generic.c (expand_vector_comparison): Add vector
comparison optabs check.
* tree-vect-loop.c (vect_determine_vectorization_factor):  Ignore mask
operations for VF.  Add mask type computation.
* tree-vect-stmts.c (get_mask_type_for_scalar_type): New.
(vectorizable_comparison): New.
(vect_analyze_stmt): Add vectorizable_comparison.
(vect_transform_stmt): Likewise.
(vect_init_vector): Support boolean vector invariants.
(vect_get_vec_def_for_operand): Add VECTYPE arg.
(vectorizable_condition): Directly provide vectype for invariants
used in comparison.
* tree-vectorizer.h (get_mask_type_for_scalar_type): New.
(enum vect_var_kind): Add vect_mask_var.
(enum stmt_vec_info_type): Add comparison_vec_info_type.
(vectorizable_comparison): New.
(vect_get_vec_def_for_operand): Add VECTYPE arg.
* tree-vect-data-refs.c (vect_get_new_vect_var): Support vect_mask_var.
(vect_create_destination_var): Likewise.
* tree-vect-patterns.c (check_bool_pattern): Check fails
if we can vectorize comparison directly.
(search_type_for_mask): New.
(vect_recog_bool_pattern): Support cases when bool pattern
check fails.
* tree-vect-slp.c (vect_build_slp_tree_1): Allow
comparison statements.
(vect_get_constant_vectors): Support boolean vector
constants.
* config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New.
(ix86_expand_int_vec_cmp): New.
(ix86_expand_fp_vec_cmp): New.
* config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for
op_true and op_false.
(ix86_int_cmp_code_to_pcmp_immediate): New.
(ix86_fp_cmp_code_to_pcmp_immediate): New.
(ix86_cmp_code_to_pcmp_immediate): New.
(ix86_expand_mask_vec_cmp): New.
(ix86_expand_fp_vec_cmp): New.
(ix86_expand_int_sse_cmp): New.
(ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp.
(ix86_expand_int_vec_cmp): New.
(ix86_get_mask_mode): New.
(TARGET_VECTORIZE_GET_MASK_MODE): New.
* config/i386/sse.md (avx512fmaskmodelower): New.
(vec_cmp<mode><avx512fmaskmodelower>): New.
(vec_cmp<mode><sseintvecmodelower>): New.
(vec_cmpv2div2di): New.
(vec_cmpu<mode><avx512fmaskmodelower>): New.
(vec_cmpu<mode><sseintvecmodelower>): New.
(vec_cmpuv2div2di): New.

gcc/testsuite/

* gcc.dg/vect/slp-cond-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230098 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * include/bits/functional_hash.h: Fix grammar in comment.
redi [Tue, 10 Nov 2015 11:12:33 +0000 (11:12 +0000)]
* include/bits/functional_hash.h: Fix grammar in comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230097 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-10 Richard Biener <rguenther@suse.de>
rguenth [Tue, 10 Nov 2015 10:14:02 +0000 (10:14 +0000)]
2015-11-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68240
* tree-ssa-sccvn.c (cond_stmts_equal_p): Handle commutative compares
properly.
(visit_phi): For PHIs with just a single executable edge
take its value directly.
(expressions_equal_p): Handle VN_TOP properly.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230095 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-10 Richard Biener <rguenther@suse.de>
rguenth [Tue, 10 Nov 2015 10:12:13 +0000 (10:12 +0000)]
2015-11-10  Richard Biener  <rguenther@suse.de>

* tree-vect-data-refs.c (vect_slp_analyze_node_dependences):
Handle memory using/clobbering stmts without a STMT_VINFO_DATA_REF
conservatively.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230094 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-10 Richard Biener <rguenther@suse.de>
rguenth [Tue, 10 Nov 2015 09:43:54 +0000 (09:43 +0000)]
2015-11-10  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56118
* tree-vect-slp.c (vect_bb_vectorization_profitable_p): Make equal
cost favor vectorized version.

* gcc.target/i386/pr56118.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230091 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][2/3] Implement negcc, notcc optabs
ktkachov [Tue, 10 Nov 2015 09:37:51 +0000 (09:37 +0000)]
[AArch64][2/3] Implement negcc, notcc optabs

* config/aarch64/aarch64.md (<neg_not_op><mode>cc): New define_expand.
* config/aarch64/iterators.md (NEG_NOT): New code iterator.
(neg_not_op): New code attribute.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230090 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[optabs][ifcvt][1/3] Define negcc, notcc optabs
ktkachov [Tue, 10 Nov 2015 09:35:11 +0000 (09:35 +0000)]
[optabs][ifcvt][1/3] Define negcc, notcc optabs

* ifcvt.c (noce_try_inverse_constants): New function.
(noce_process_if_block): Call it.
* optabs.h (emit_conditional_neg_or_complement): Declare prototype.
* optabs.def (negcc_optab, notcc_optab): Declare.
* optabs.c (emit_conditional_neg_or_complement): New function.
* doc/tm.texi (Standard Names): Document negcc, notcc names.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230089 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[haifa-sched] PR rtl-optimization/68236: Exit early from autoprefetcher lookahead...
ktkachov [Tue, 10 Nov 2015 09:22:58 +0000 (09:22 +0000)]
[haifa-sched] PR rtl-optimization/68236: Exit early from autoprefetcher lookahead if not in haifa sched

PR rtl-optimization/68236
* haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0
if insn_queue doesn't exist.
(haifa_sched_finish): Reset insn_queue to NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230088 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoTie chains for move instructions.
rts [Tue, 10 Nov 2015 09:12:52 +0000 (09:12 +0000)]
Tie chains for move instructions.

gcc/
* regrename.c (create_new_chain): Initialize renamed and tied_chain.
(build_def_use): Initialize terminated_this_insn.
(find_best_rename_reg): Pick and check register from the tied chain.
(regrename_do_replace): Mark head as renamed.
(struct du_head *terminated_this_insn). New static variable.
(scan_rtx_reg): Tie chains in move insns.  Set terminated_this_insn.
* regrename.h (struct du_head): Add tied_chain, renamed members.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230087 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gfortran.dg/pr68251.f90: New test.
ebotcazou [Tue, 10 Nov 2015 09:01:58 +0000 (09:01 +0000)]
* gfortran.dg/pr68251.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230086 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoWorkaround PR68256 on AArch64
ramana [Tue, 10 Nov 2015 08:35:21 +0000 (08:35 +0000)]
Workaround PR68256 on AArch64

> This is causing a bootstrap comparison failure in gcc/go/gogo.o.

I've had a look at this and the trigger is the
aarch64_use_constant_blocks_p change which appears to be causing a
bootstrap comparison failure because of differences to offsets when
built with debug and without debug. I don't think the problem is
specifically in the backend but this needs some careful
investigation. For now, in the interest of go bootstraps continuing on
trunk - I'm proposing a patch that partially rolls back the change in
aarch64_use_constant_blocks_p and am still looking into the issue but
it will take me some more time to get to the bottom of the issue.

Bootstrapped on aarch64-none-linux-gnu including (c,c++ and go) -
testing finished ok.

2015-11-10  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR bootstrap/68256
* config/aarch64/aarch64.c (aarch64_use_constant_blocks_p):
Return false.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230085 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago gcc/cp/
cesar [Tue, 10 Nov 2015 05:23:04 +0000 (05:23 +0000)]
gcc/cp/
* parser.c (cp_finalize_oacc_routine): New boolean first argument.
(cp_ensure_no_oacc_routine): Update call to cp_finalize_oacc_routine.
(cp_parser_simple_declaration): Maintain a boolean first to keep track
of each new declarator.  Propagate it to cp_parser_init_declarator.
(cp_parser_init_declarator): New boolean first argument.  Propagate it
to cp_parser_save_member_function_body and cp_finalize_oacc_routine.
(cp_parser_member_declaration): Likewise.
(cp_parser_single_declaration): Update call to
cp_parser_init_declarator.
(cp_parser_save_member_function_body): New boolean first_decl argument.
Propagate it to cp_finalize_oacc_routine.
(cp_parser_finish_oacc_routine): New boolean first argument.  Use it to
determine if multiple declarators follow a routine construct.
(cp_parser_oacc_routine): Update call to cp_parser_finish_oacc_routine.

gcc/testsuite/
* c-c++-common/goacc/routine-5.c: Enable c++ tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230082 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c++/67913 - new expression with negative size not diagnosed
msebor [Tue, 10 Nov 2015 02:23:34 +0000 (02:23 +0000)]
PR c++/67913 - new expression with negative size not diagnosed
PR c++/67927 - array new expression with excessive number of elements
               not diagnosed

gcc/cp/
* call.c (build_operator_new_call): Do not assume size_check
is non-null, analogously to the top half of the function.
* init.c (build_new_1): Detect and diagnose array sizes in
excess of the maximum of roughly SIZE_MAX / 2.
Insert a runtime check only for arrays with a non-constant size.
(build_new): Detect and diagnose negative array sizes.

gcc/testsuite/
* init/new45.C: New test to verify that operator new is invoked
with or without overhead for a cookie.
* init/new44.C: New test for placement new expressions for arrays
with excessive number of elements.
* init/new43.C: New test for placement new expressions for arrays
with negative number of elements.
* other/new-size-type.C: Expect array new expression with
an excessive number of elements to be rejected.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230081 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago gcc/testsuite/
nathan [Tue, 10 Nov 2015 01:01:15 +0000 (01:01 +0000)]
gcc/testsuite/
* c-c++-common/goacc/routine-1.c: New.
* c-c++-common/goacc/routine-2.c: New.
* c-c++-common/goacc/routine-3.c: New.
* c-c++-common/goacc/routine-4.c: New.
* c-c++-common/goacc/routine-5.c: New.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230080 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/57845
ebotcazou [Tue, 10 Nov 2015 00:45:03 +0000 (00:45 +0000)]
PR target/57845
* config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do
not promote the mode for aggregate types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230074 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare.
nathan [Tue, 10 Nov 2015 00:27:26 +0000 (00:27 +0000)]
* omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare.
* omp-low.c (build_oacc_routine_dims): New.

c/
* c-parser.c (c_parser_declaration_or_fndef): Add OpenACC
routine arg.
(c_parser_declaration_or_fndef): Call c_finish_oacc_routine.
(c_parser_pragma): Parse 'acc routine'.
(OACC_ROUTINE_CLAUSE_MARK): Define.
(c_parser_oacc_routine, (c_finish_oacc_routine): New.

c-family/
* c-pragma.c (oacc_pragmas): Add "routine".
* c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.

cp/
* parser.h (struct cp_parser): Add oacc_routine field.
* parser.c (cp_ensure_no_oacc_routine): New.
(cp_parser_new): Initialize oacc_routine field.
(cp_parser_linkage_specification): Call cp_ensure_no_oacc_routine.
(cp_parser_namespace_definition,
cp_parser_class_specifier_1): Likewise.
(cp_parser_init_declarator): Call cp_finalize_oacc_routine.
(cp_parser_function_definition,
cp_parser_save_member_function_body): Likewise.
(OACC_ROUTINE_CLAUSE_MASK): New.
(cp_parser_finish_oacc_routine, cp_parser_oacc_routine,
cp_finalize_oacc_routine): New.
(cp_parser_pragma): Adjust omp_declare_simd checking.  Call
cp_ensure_no_oacc_routine.
(cp_parser_pragma): Add OpenACC routine handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230072 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 10 Nov 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230069 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[gcc]
meissner [Tue, 10 Nov 2015 00:04:03 +0000 (00:04 +0000)]
[gcc]
2015-11-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/constraints.md (wF constraint): New constraints
for power9/toc fusion.
(wG constraint): Likewise.

* config/rs6000/predicates.md (u6bit_cint_operand): New
predicate, recognize 0..63.
(upper16_cint_operand): New predicate for power9 and toc fusion.
(fpr_reg_operand): Likewise.
(toc_fusion_or_p9_reg_operand): Likewise.
(toc_fusion_mem_raw): Likewise.
(toc_fusion_mem_wrapped): Likewise.
(fusion_gpr_addis): If power9 fusion, allow fusion for a larger
address range.
(fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load
instead.
(fusion_addis_mem_combo_load): Add support for power9 fusion of
floating point loads, floating point stores, and gpr stores.
(fusion_addis_mem_combo_store): Likewise.
(fusion_offsettable_mem_operand): Likewise.

* config/rs6000/rs6000-protos.h (emit_fusion_addis): Add
declarations.
(emit_fusion_load_store): Likewise.
(fusion_p9_p): Likewise.
(expand_fusion_p9_load): Likewise.
(expand_fusion_p9_store): Likewise.
(emit_fusion_p9_load): Likewise.
(emit_fusion_p9_store): Likewise.
(fusion_wrap_memory_address): Likewise.

* config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new
elements for power9 fusion.
(rs6000_debug_print_mode): Rework debug information to print more
information about fusion.
(rs6000_init_hard_regno_mode_ok): Setup for power9 fusion
support.
(rs6000_legitimate_address_p): Recognize toc fusion as a valid
offsettable memory address.
(rs6000_rtx_costs): Update costs for new ISA 3.0 instructions.
(emit_fusion_gpr_load): Move most of the code from
emit_fusion_gpr_load into emit_fusion-addis that handles both
power8 and power9 fusion.
(emit_fusion_addis): Likewise.
(emit_fusion_load_store): Likewise.
(fusion_wrap_memory_address): Add support for TOC fusion.
(fusion_split_address): Likewise.
(fusion_p9_p): Add support for power9 fusion.
(expand_fusion_p9_load): Likewise.
(expand_fusion_p9_store): Likewise.
(emit_fusion_p9_load): Likewise.
(emit_fusion_p9_store): Likewise.

* config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for
new instructions in ISA 3.0.
(TARGET_CTZ): Likewise.
(TARGET_TOC_FUSION_INT): Macros for power9 fusion support.
(TARGET_TOC_FUSION_FP): Likewise.

* config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc
fusion unspecs.
(UNSPEC_FUSION_ADDIS): Likewise.
(QHSI mode iterator): New iterator for power9 fusion.
(GPR_FUSION): Likewise.
(FPR_FUSION): Likewise.
(mod<mode>3): Add support for ISA 3.0
modulus instructions.
(umod<mode>3): Likewise.
(divmod peephole): Likewise.
(udivmod peephole): Likewise.
(ctz<mode>2): Add support for ISA 3.0 count trailing zeros scalar
instructions.
(ctz<mode>2_h): Likewise.
(ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction.
(ashdi3_extswsli_dot): Likewise.
(ashdi3_extswsli_dot2): Likewise.
(power9 fusion splitter): New power9/toc fusion support.
(toc_fusionload_<mode>): Likewise.
(toc_fusionload_di): Likewise.
(fusion_gpr_load_<mode>): Update predicate function.
(power9 fusion peephole2s): New power9/toc fusion support.
(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Likewise.
(fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
(fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
(fusion_p9_<mode>_constant): Likewise.

[gcc/testsuite]
2015-11-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

* lib/target-supports.exp (check_p8vector_hw_available): Split
long line.
(check_vsx_hw_available): Likewise.
(check_p9vector_hw_available): Add new checks for ISA 3.0 hardware
support and for PowerPC float128 support.
(check_p9modulo_hw_available): Likewise.
(check_ppc_float128_sw_available): Likewise.
(check_ppc_float128_hw_available): Likewise.
(check_effective_target_powerpc_p9vector_ok): Likewise.
(check_effective_target_powerpc_p9modulo_ok): Likewise.
(check_effective_target_powerpc_float128_sw_ok): Likewise.
(check_effective_target_powerpc_float128_hw_ok): Likewise.
(is-effective-target): Add new PowerPc targets.
(is-effective-target-keyword): Likewise.
(check_vect_support_and_set_flags): If we have ISA 3.0 vector
instructions, use it.

* gcc.target/powerpc/mod-1.c: New test for ISA 3.0 instructions.
* gcc.target/powerpc/mod-2.c: Likewise.
* gcc.target/powerpc/ctz-1.c: Likewise.
* gcc.target/powerpc/ctz-2.c: Likewise.
* gcc.target/powerpc/extswsli-1.c: Likewise.
* gcc.target/powerpc/extswsli-2.c: Likewise.
* gcc.target/powerpc/extswsli-3.c: Likewise.

* gcc.target/powerpc/fusion.c (fusion_vector): Move to fusion2.c
and allow the test on PowerPC LE.
* gcc.target/powerpc/fusion2.c (fusion_vector): Likewise.
* gcc.target/powerpc/fusion3.c: New file, test power9 fusion.

* gcc.target/powerpc/float128-call.c: Use powerpc_float128_sw_ok
check instead of powerpc_vsx_ok.
* gcc.target/powerpc/float128-mix.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230066 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-09 Steve Ellcey <sellcey@imgtec.com>
sje [Mon, 9 Nov 2015 23:56:33 +0000 (23:56 +0000)]
2015-11-09  Steve Ellcey  <sellcey@imgtec.com>

* optabs.c (prepare_libcall_arg): New function.
(expand_fixed_convert): Add call to prepare_libcall_arg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230065 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * gcc.dg/sso/*.c: Robustify dg-output directives.
ebotcazou [Mon, 9 Nov 2015 23:32:48 +0000 (23:32 +0000)]
* gcc.dg/sso/*.c: Robustify dg-output directives.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230063 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[sched] Dump dependency graph to a dot file
law [Mon, 9 Nov 2015 23:29:36 +0000 (23:29 +0000)]
[sched] Dump dependency graph to a dot file

* sched-int.h (dump_rgn_dependencies_dot): Declare
* sched-rgn.c (dump_rgn_dependencies_dot): New function
* print-rtl.h (print_insn): Add prototype

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230062 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoChange behavior of -fsched-verbose option
law [Mon, 9 Nov 2015 23:26:15 +0000 (23:26 +0000)]
Change behavior of -fsched-verbose option

* haifa-sched.c (setup_sched_dump): Don't redirect output to stderr.
* common.opt (-fsched-verbose): Set default value to 1.
* invoke.texi (-fsched-verbose): Update the option's description.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230061 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/visium/visium.h (PRINT_OPERAND): Delete.
ebotcazou [Mon, 9 Nov 2015 22:53:31 +0000 (22:53 +0000)]
* config/visium/visium.h (PRINT_OPERAND): Delete.
(PRINT_OPERAND_PUNCT_VALID_P): Likewise.
(PRINT_OPERAND_ADDRESS): Likewise.
* config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
to...
(visium_print_operand_punct_valid_p): ...this.  New function.
(TARGET_PRINT_OPERAND): Define to...
(print_operand): Rename to...
(visium_print_operand): ...this.
(TARGET_PRINT_OPERAND_ADDRESS): Define to...
(visium_output_address): Rename to...
(visium_print_operand_address): ...this.
(print_operand_address): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230060 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/68259
ebotcazou [Mon, 9 Nov 2015 22:40:44 +0000 (22:40 +0000)]
PR middle-end/68259
* tree.h (reverse_storage_order_for_component_p) <COMPONENT_REF>:
Check that the type of the first operand is an aggregate type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230056 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * omp-low.c: Fix some OpenACC comment typos.
nathan [Mon, 9 Nov 2015 21:56:42 +0000 (21:56 +0000)]
* omp-low.c: Fix some OpenACC comment typos.
(lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call.
* omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM,
BUILT_IN_GOACC_GET_NUM_THREADS): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230054 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-09 François Dumont <fdumont@gcc.gnu.org>
fdumont [Mon, 9 Nov 2015 21:10:18 +0000 (21:10 +0000)]
2015-11-09  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/stl_algo.h
(partial_sort_copy): Instantiate std::iterator_traits only if concept
checks.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise.
(binary_search): Likewise.
* include/bits/stl_heap.h (pop_heap): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230052 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/i386.md (*strmovqi_1): Fix insn enable condition.
uros [Mon, 9 Nov 2015 20:06:57 +0000 (20:06 +0000)]
* config/i386/i386.md (*strmovqi_1): Fix insn enable condition.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230050 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoRe: [PATCH] Minor refactoring in tree-ssanames.c & freelists verifier
law [Mon, 9 Nov 2015 19:56:57 +0000 (19:56 +0000)]
Re: [PATCH] Minor refactoring in tree-ssanames.c & freelists verifier

* tree-ssanames.c (verify_ssaname_freelists): Simplify check for
being in gimple/ssa form.  Remove redundant check for SSA_NAME.
Fix comment typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230049 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * g++.dg/cilk-plus/CK/pr66326.cc: Do not include cilk.h.
uros [Mon, 9 Nov 2015 19:49:44 +0000 (19:49 +0000)]
* g++.dg/cilk-plus/CK/pr66326.cc: Do not include cilk.h.
(main): Use _Cilk_spawn instead of cilk_spawn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230048 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoResolve DejaGnu hard stop
tschwinge [Mon, 9 Nov 2015 17:53:02 +0000 (17:53 +0000)]
Resolve DejaGnu hard stop

gcc/testsuite/
* gcc.target/i386/addr-space-3.c: Fix quoting in dg-final
scan-assembler directive.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230038 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSupport sized delete.
torvald [Mon, 9 Nov 2015 17:30:24 +0000 (17:30 +0000)]
Support sized delete.

This adds transactional clones of the sized version of operator delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230036 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Mon, 9 Nov 2015 16:56:22 +0000 (16:56 +0000)]
2015-11-09  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for
ISA 3.0 (power9).
(-mpower9-vector): Likewise.
(-mpower9-dform): Likewise.
(-mpower9-minmax): Likewise.
(-mtoc-fusion): Likewise.
(-mmodulo): Likewise.
(-mfloat128-hardware): Likewise.

* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option
mask for ISA 3.0 (power9).
(POWERPC_MASKS): Add new ISA 3.0 switches.
(power9 cpu): Add power9 cpu.

* config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for
power9.
(ASM_CPU_SPEC): Likewise.
(EXTRA_SPECS): Likewise.

* config/rs6000/rs6000-opts.h (enum processor_type): Add
PROCESSOR_POWER9.

* config/rs6000/rs6000.c (power9_cost): Initial cost setup for
power9.
(rs6000_debug_reg_global): Add support for power9 fusion.
(rs6000_setup_reg_addr_masks): Cache mode size.
(rs6000_option_override_internal): Until real power9 tuning is
added, use -mtune=power8 for -mcpu=power9.
(rs6000_setup_reg_addr_masks): Do not allow pre-increment,
pre-decrement, or pre-modify on SFmode/DFmode if we allow the use
of Altivec registers.
(rs6000_option_override_internal): Add support for ISA 3.0
switches.
(rs6000_loop_align): Add support for power9 cpu.
(rs6000_file_start): Likewise.
(rs6000_adjust_cost): Likewise.
(rs6000_issue_rate): Likewise.
(insn_must_be_first_in_group): Likewise.
(insn_must_be_last_in_group): Likewise.
(force_new_group): Likewise.
(rs6000_register_move_cost): Likewise.
(rs6000_opt_masks): Likewise.

* config/rs6000/rs6000.md (cpu attribute): Add power9.
* config/rs6000/rs6000-tables.opt: Regenerate.

* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
_ARCH_PWR9 if power9 support is available.

* config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9.
* config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise.

* configure.ac: Determine if the assembler supports the ISA 3.0
instructions.
* config.in (HAVE_AS_POWER9): Likewise.
* configure: Regenerate.

* doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0
switches.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230031 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64][cleanup] Remove uses of CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW
ktkachov [Mon, 9 Nov 2015 15:55:56 +0000 (15:55 +0000)]
[AArch64][cleanup] Remove uses of CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW

* config/aarch64/aarch64.c (aarch64_simd_valid_immediate):
Remove integer CONST_DOUBLE handling.  It should never occur.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230030 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] PR target/68129: Define TARGET_SUPPORTS_WIDE_INT
ktkachov [Mon, 9 Nov 2015 15:53:26 +0000 (15:53 +0000)]
[AArch64] PR target/68129: Define TARGET_SUPPORTS_WIDE_INT

PR target/68129
* config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
* config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE):
Delete VOIDmode case.  Assert that mode is not VOIDmode.
* config/aarch64/predicates.md (const0_operand): Remove const_double
match.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230029 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix memory leaks in IPA.
marxin [Mon, 9 Nov 2015 15:47:01 +0000 (15:47 +0000)]
Fix memory leaks in IPA.

* ipa-inline-analysis.c (estimate_function_body_sizes): Call
body_info release function.
* ipa-prop.c (ipa_release_body_info): New function.
(ipa_analyze_node): Call the function.
(ipa_node_params::~ipa_node_params): Release known_csts.
* ipa-prop.h (ipa_release_body_info): Declare.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230028 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix memory leaks and use a pool_allocator
marxin [Mon, 9 Nov 2015 15:45:59 +0000 (15:45 +0000)]
Fix memory leaks and use a pool_allocator

* gcc.c (record_temp_file): Release name string.
* ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead
of vec.
* lra-lives.c (free_live_range_list): Utilize
lra_live_range_pool for allocation and deallocation.
(create_live_range): Likewise.
(copy_live_range): Likewise.
(lra_merge_live_ranges): Likewise.
(remove_some_program_points_and_update_live_ranges): Likewise.
(lra_create_live_ranges_1): Release point_freq_vec that can
be not freed from previous iteration of the function.
* tree-eh.c (lower_try_finally_switch): Use auto_vec instead of
vec.
* tree-sra.c (sra_deinitialize): Release all vectors in
base_access_vec.
* tree-ssa-dom.c (free_dom_edge_info): Make the function extern.
* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
Release edge_info for a removed edge.
(thread_through_all_blocks): Free region vector.
* tree-ssa.h (free_dom_edge_info): Declare function extern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230027 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR debug/67192] Further fix C loops' back-jump location
krebbel [Mon, 9 Nov 2015 15:35:10 +0000 (15:35 +0000)]
[PR debug/67192] Further fix C loops' back-jump location

gcc/c/ChangeLog:

PR debug/67192
* c-typeck.c (c_finish_loop): For unconditional loops, set the
location of the backward-goto to the start of the loop body.

gcc/testsuite/ChangeLog:

PR debug/67192
* gcc.dg/guality/pr67192.c (f3, f4): New functions.
(main): Invoke them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230024 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[PR debug/67192] Fix C loops' back-jump location
krebbel [Mon, 9 Nov 2015 15:31:32 +0000 (15:31 +0000)]
[PR debug/67192] Fix C loops' back-jump location

gcc/c/ChangeLog:

PR debug/67192
* c-parser.c (c_parser_while_statement): Finish the loop before
parsing ahead for misleading indentation.
(c_parser_for_statement): Likewise.

gcc/testsuite/ChangeLog:

PR debug/67192
* gcc.dg/guality/pr67192.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230023 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
ienkovich [Mon, 9 Nov 2015 15:11:02 +0000 (15:11 +0000)]
gcc/

* optabs.c (expand_vec_cond_expr): Always get sign from type.
* tree.c (wide_int_to_tree): Support negative values for boolean.
(build_nonstandard_boolean_type): Use signed type for booleans.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230022 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-09 Richard Biener <rguenther@suse.de>
rguenth [Mon, 9 Nov 2015 14:47:09 +0000 (14:47 +0000)]
2015-11-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/68248
* tree-vect-generic.c (expand_vector_operations_1): Handle
scalar rhs2.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230021 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2015-11-09 Richard Biener <rguenther@suse.de>
rguenth [Mon, 9 Nov 2015 12:59:17 +0000 (12:59 +0000)]
2015-11-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/56118
* tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare.
* tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export.
* tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New
function.
(vect_slp_analyze_data_ref_dependences): Instead of computing
all dependences of the region DRs just analyze the code motions
SLP vectorization will perform.  Remove SLP instances that
cannot have their store/load motions applied.
(vect_analyze_data_refs): Allow DRs without a vectype
in BB vectorization.

* gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: Adjust.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230020 138bc75d-0d04-0410-961f-82ee72b054a4