platform/upstream/linaro-gcc.git
8 years agoStop reload1.c warning from breaking bootstrap
rsandifo [Thu, 10 Sep 2015 19:17:24 +0000 (19:17 +0000)]
Stop reload1.c warning from breaking bootstrap

Some host-target combinations get bogus warnings about orig_dup
being used uninitialized.  I tried to coerce the current uninit
pass to handle this case, but the patch I ended up with only worked
by accident because of the strange way in which the pass handles
limit cases.  (If we have more than MAX_NUM_CHAINS chains, it silently
drops the excess chains and continues regardless, so it's quite easy
to come up with cases where the predicates for either the definition
or the use consider an arbitrary subset of the actual conditions.)

For now this patch turns -Wmaybe-uninitialized into a warning for
the affacted function.  It will be a warning even if someone turns
off warnings on the command line, but I don't think that's important.

Bootstrapped and regression-tested on x86_64-linux-gnu.  Also tested
with a cross-compiler to sparc-linux-gnu (which also triggered the
warning for me).

gcc/
* reload1.c (elimination_costs_in_insn): Locally turn
-Wmaybe-uninitialized into a warning.

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

8 years ago compiler: Report errors from very large types.
ian [Thu, 10 Sep 2015 18:24:28 +0000 (18:24 +0000)]
compiler: Report errors from very large types.

    The gcc backend throws an internal error when trying to get the size
    of a type which is larger than the amount of address space on the
    machine.  This patch catches this error and reports it in a user
    friendly way.

    Fixes golang/go#11554.

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

* go-gcc.cc (Gcc_backend::type_size): Return -1 for
unrepresentable size.

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

8 years agoshrink-wrap: Header hygiene
segher [Thu, 10 Sep 2015 17:25:35 +0000 (17:25 +0000)]
shrink-wrap: Header hygiene

2015-09-10  Segher Boessenkool  <segher@kernel.crashing.org>

* shrink-wrap.c (requires_stack_frame_p): Make static.
(prepare_shrink_wrap): Likewise.
(dup_block_and_redirect): Likewise.
* shrink-wrap.h: Remove declarations of those functions.

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

8 years ago2015-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
kargl [Thu, 10 Sep 2015 17:13:11 +0000 (17:13 +0000)]
2015-09-09  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/67526
* gfortran.dg/pr67526.f90: New test.

2015-09-09  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/67526
* expr.c (gfc_check_init_expr): Do not dereference a NULL pointer.

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

8 years ago/cp
paolo [Thu, 10 Sep 2015 15:36:54 +0000 (15:36 +0000)]
/cp
2015-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67318
* parser.c (cp_parser_parameter_declaration): Consume the ellipsis
and set template_parameter_pack_p also when the type is null.

/testsuite
2015-09-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67318
* g++.dg/cpp0x/variadic166.C: New.

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

8 years agoWarn when comparing nonnull arguments to NULL in a function.
mark [Thu, 10 Sep 2015 15:29:44 +0000 (15:29 +0000)]
Warn when comparing nonnull arguments to NULL in a function.

If an argument is marked as nonnull then passing in a NULL argument
will produce bad results even if the code checks against NULL. GCC
might optimize such checks away so warn the user when the function
contains such comparisons.

nn.c: In function ‘foo’:
nn.c:6:27: warning: nonnull argument ‘bar’ compared to NULL [-Wnonnull]
 void foo(void *bar) { if (!bar) abort(); }
                           ^
gcc/ChangeLog

* doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.

gcc/c/ChangeLog

       * c-typeck.c (build_binary_op): Check and warn when nonnull arg
       parm against NULL.

gcc/cp/ChangeLog

       * typeck.c (cp_build_binary_op): Check and warn when nonnull arg
       parm against NULL.

gcc/testsuite/ChangeLog

       * c-c++-common/nonnull-1.c: New test.

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

8 years ago2015-09-10 Paul Thomas <pault@gcc.gnu.org>
pault [Thu, 10 Sep 2015 15:22:20 +0000 (15:22 +0000)]
2015-09-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/66993
* module.c (read_module): If a symtree exists and the symbol has
been associated in a submodule from a parent (sub)module, attach
the symbol to a 'unique symtree' and the new symbol to the
existing symtree.

2015-09-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/66993
* gfortran.dg/submodule_11.f08: New test.

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

8 years agogcc/
olegendo [Thu, 10 Sep 2015 14:53:48 +0000 (14:53 +0000)]
gcc/
PR target/67506
* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
missing simplify_gen_subreg.

gcc/testsuite/
PR target/67506
* gcc.c-torture/compile/pr67506.c: New test.

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

8 years agoS/390: Don't use vgm for v1ti and v1tf.
krebbel [Thu, 10 Sep 2015 14:04:28 +0000 (14:04 +0000)]
S/390: Don't use vgm for v1ti and v1tf.

gcc/ChangeLog:

2015-09-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
the vector element is bigger than 64 bit.

gcc/testsuite/ChangeLog:

2015-09-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* gcc.target/s390/vector/vec-genbytemask-1.c: Add check for V1TI
initialization with a byte mask.  No change expected here.
* gcc.target/s390/vector/vec-genmask-1.c: Fix whitespace.
* gcc.target/s390/vector/vec-genmask-2.c: Add check for V1TI
initialization with contigious bitmask.  Literal pool is expectd
to be used here.

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

8 years agoS/390: Fix mode iterators vmal, vmah, and vmalh.
krebbel [Thu, 10 Sep 2015 14:02:34 +0000 (14:02 +0000)]
S/390: Fix mode iterators vmal, vmah, and vmalh.

gcc/ChangeLog:

2015-09-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.

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

8 years agoS/390: Add V1TImode to constant pool modes.
krebbel [Thu, 10 Sep 2015 14:01:03 +0000 (14:01 +0000)]
S/390: Add V1TImode to constant pool modes.

gcc/ChangeLog:

2015-09-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/s390.c: Add V1TImode to constant pool modes.

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

8 years ago[ARM] PR 67439: Allow matching of *arm32_movhf when -mrestrict-it is on
ktkachov [Thu, 10 Sep 2015 10:43:43 +0000 (10:43 +0000)]
[ARM] PR 67439: Allow matching of *arm32_movhf when -mrestrict-it is on

PR target/67439
* config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
predicate.  Set predicable_short_it attr to "no".

* gcc.target/arm/pr67439_1.c: New test.

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

8 years ago[Patch/expand] Cost instruction sequences when doing left wide shift
jiwang [Thu, 10 Sep 2015 10:37:17 +0000 (10:37 +0000)]
[Patch/expand] Cost instruction sequences when doing left wide shift

Patch background details:

    https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01147.html

gcc/
  PR rtl-optimization/67421
  * expr.c (expand_expr_real_2): Cost instrcution sequences when doing left wide
  shift tranformation.

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

8 years ago2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
amylaar [Thu, 10 Sep 2015 09:46:03 +0000 (09:46 +0000)]
2015-09-10  Claudiu Zissulescu  <claziss@synopsys.com>

        * common/config/arc/arc-common.c: Remove references to A5.
        * config/arc/arc-opts.h: Likewise.
        * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
        * config/arc/arc.opt, config/arc/constraints.md: Likewise.
        * config/arc/t-arc-newlib: Likewise.

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

8 years ago2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
amylaar [Thu, 10 Sep 2015 09:19:52 +0000 (09:19 +0000)]
2015-09-10  Claudiu Zissulescu <claziss@synopsys.com>

        * config/arc/arc.md (length): Fix attribute length for conditional
        executed instructions with long immediate.

(posted as: https://gcc.gnu.org/ml/gcc/2015-03/msg00268.html)

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

8 years ago[AArch64] Skip tiny and large code model on gcc.target/aarch64/pic-small.c
jiwang [Thu, 10 Sep 2015 09:15:14 +0000 (09:15 +0000)]
[AArch64] Skip tiny and large code model on gcc.target/aarch64/pic-small.c

gcc/testsuite/
  * gcc.target/aarch64/pic-small.c (dg-skip-if): Skip tiny and large code model.

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

8 years ago[AArch64] Use logics_imm type for 2nd alternative of *and<mode>3nr_compare0
ktkachov [Thu, 10 Sep 2015 09:10:06 +0000 (09:10 +0000)]
[AArch64] Use logics_imm type for 2nd alternative of *and<mode>3nr_compare0

* config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
type for second alternative.

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

8 years agoFix typo in doc/install.texi
trippels [Thu, 10 Sep 2015 07:57:13 +0000 (07:57 +0000)]
Fix typo in doc/install.texi

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

8 years agodoc/install.texi: Mention contrib/download_prerequisites
trippels [Thu, 10 Sep 2015 07:55:36 +0000 (07:55 +0000)]
doc/install.texi: Mention contrib/download_prerequisites

Mention ./contrib/download_prerequisites on the "Downloading GCC" page.

* doc/invoke.texi (Downloading GCC): Mention
contrib/download_prerequisites script.

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

8 years ago PR c++/67523
jakub [Thu, 10 Sep 2015 07:35:56 +0000 (07:35 +0000)]
PR c++/67523
* gimplify.c (gimplify_omp_for): If inner stmt is not found
for combined loop, assert seen_error () and return GS_ERROR.

* g++.dg/gomp/pr67523.C: New test.

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

8 years ago PR c++/67522
jakub [Thu, 10 Sep 2015 07:34:42 +0000 (07:34 +0000)]
PR c++/67522
* semantics.c (handle_omp_array_sections_1): Only run
type_dependent_expression_p on VAR_DECL/PARM_DECLs.
(finish_omp_clauses) <case OMP_CLAUSE_LINEAR>: Likewise.
Don't adjust OMP_CLAUSE_LINEAR_STEP if OMP_CLAUSE_DECL
is not a VAR_DECL/PARM_DECL.

* g++.dg/gomp/pr67522.C: New test.

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

8 years ago PR middle-end/67521
jakub [Thu, 10 Sep 2015 07:32:54 +0000 (07:32 +0000)]
PR middle-end/67521
* gimplify.c (gimplify_omp_for): Don't call omp_add_variable
if decl is already in outer->variables.

* c-c++-common/gomp/pr67521.c: New test.

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

8 years ago PR middle-end/67517
jakub [Thu, 10 Sep 2015 07:32:13 +0000 (07:32 +0000)]
PR middle-end/67517
* gimplify.c (gimplify_scan_omp_clauses): Instead of
asserting that decl is not specified in octx->variables,
break out of the loop if it is.

* c-c++-common/gomp/pr67517.c: New test.

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

8 years ago PR c++/67514
jakub [Thu, 10 Sep 2015 07:31:14 +0000 (07:31 +0000)]
PR c++/67514
* gimplify.c (gimplify_omp_for): For loop SIMD construct, if
iterator is not explicitly determined, but is defined inside
of the combined workshare region, handle it like if it has
DECL_EXPR in OMP_FOR_PRE_BODY.

* g++.dg/gomp/pr67514.C: New test.

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

8 years ago PR c++/67511
jakub [Thu, 10 Sep 2015 07:30:29 +0000 (07:30 +0000)]
PR c++/67511
* semantics.c (handle_omp_for_class_iterator): Don't wrap
error_mark_node into a NOP_EXPR to void_type_node.

* g++.dg/gomp/pr67511.C: New test.

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

8 years ago PR c/67502
jakub [Thu, 10 Sep 2015 07:28:27 +0000 (07:28 +0000)]
PR c/67502
* c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
into OMP_FOR_PRE_BODY rather than before the loop.

* c-c++-common/gomp/pr67502.c: New test.

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

8 years ago compiler: Don't allow shifts with non-integers.
ian [Thu, 10 Sep 2015 03:46:03 +0000 (03:46 +0000)]
compiler: Don't allow shifts with non-integers.

    Fixes golang/go#11616.

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

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

8 years agoDaily bump.
gccadmin [Thu, 10 Sep 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago * config/nvptx/nvptx.md (call_operation): Move bound out of loop.
nathan [Wed, 9 Sep 2015 17:18:15 +0000 (17:18 +0000)]
* config/nvptx/nvptx.md (call_operation): Move bound out of loop.
(*cmp<mode>): Add assembler spacing.
(setcc_int<mode>, set_cc_float<mode>): Likewise.
* config/nvptx/nvptx.c (nvptx_option_override): Override debug
level.
(write_func_decl_from_insn): Refactor argument loops & comma emission.
(nvptx_expand_call): Likewise.
(nvptx_output_call_insn): Likewise.
(nvptx_reorg_subreg): Add spacing.

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

8 years agoEnable lightweight checks with _GLIBCXX_ASSERTIONS.
redi [Wed, 9 Sep 2015 17:12:47 +0000 (17:12 +0000)]
Enable lightweight checks with _GLIBCXX_ASSERTIONS.

* doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
* doc/html/manual/using_macros.html: Regenerate.
* include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
_GLIBCXX_DEBUG is defined. Disable std::string extern templates when
(_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
_GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
* include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
__glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
* include/backward/auto_ptr.h (auto_ptr::operator*,
auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
__glibcxx_assert.
* include/bits/basic_string.h (basic_string::operator[],
basic_string::front, basic_string::back, basic_string::pop_back):
Likewise.
* include/bits/random.h
(uniform_int_distribution::param_type::param_type,
uniform_real_distribution::param_type::param_type,
normal_distribution::param_type::param_type,
gamma_distribution::param_type::param_type,
bernoulli_distribution::param_type::param_type,
binomial_distribution::param_type::param_type,
geometric_distribution::param_type::param_type,
negative_binomial_distribution::param_type::param_type,
poisson_distribution::param_type::param_type,
exponential_distribution::param_type::param_type): Likewise.
* include/bits/regex.h (match_results::operator[],
match_results::prefix, match_results::suffix): Likewise.
* include/bits/regex.tcc (format, regex_iterator::operator++):
Likewise.
* include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
* include/bits/regex_compiler.tcc (_Compiler::_Compiler,
_Compiler::_M_insert_character_class_matcher): Likewise.
* include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc (_Scanner::_M_advance,
_Scanner::_M_scan_normal): Likewise.
* include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
__shared_ptr::operator*): Likewise.
* include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
* include/bits/unique_ptr.h (unique_ptr::operator*,
unique_ptr::operator[]): Likewise.
* include/experimental/fs_path.h (path::path(string_type, _Type),
path::iterator::operator++, path::iterator::operator--,
path::iterator::operator*): Likewise.
* include/experimental/string_view (basic_string_view::operator[],
basic_string_view::front, basic_string_view::back,
basic_string_view::remove_prefix): Likewise.
* include/ext/random (beta_distribution::param_type::param_type,
normal_mv_distribution::param_type::param_type,
rice_distribution::param_type::param_type,
pareto_distribution::param_type::param_type,
k_distribution::param_type::param_type,
arcsine_distribution::param_type::param_type,
hoyt_distribution::param_type::param_type,
triangular_distribution::param_type::param_type,
von_mises_distribution::param_type::param_type,
hypergeometric_distribution::param_type::param_type,
logistic_distribution::param_type::param_type): Likewise.
* include/ext/vstring.h (__versa_string::operator[]): Likewise.
* include/std/complex (polar): Likewise.
* include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
(timed_mutex::~timed_mutex, timed_mutex::unlock,
(recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
Likewise.
* include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
(__shared_mutex_pthread::__shared_mutex_pthread,
__shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
(__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
__shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
__shared_mutex_pthread::try_lock_shared): Likewise.
(__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
__shared_mutex_cv::unlock_shared): Likewise.
(shared_timed_mutex::try_lock_until,
shared_timed_mutex::try_lock_shared_until): Likewise.
* include/std/valarray (valarray::valarray(const _Tp*, size_t),
valarray::operator=, valarray::sum, valarray::min, valarray::max,
_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
Likewise.

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

8 years ago PR middle-end/67512
mpolacek [Wed, 9 Sep 2015 17:09:32 +0000 (17:09 +0000)]
PR middle-end/67512
* tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
for comparisons.

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

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

8 years ago2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 9 Sep 2015 16:48:13 +0000 (16:48 +0000)]
2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53184
* doc/invoke.texi ([Wsubobject-linkage]): Document.

/c-family
2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53184
* c.opt ([Wsubobject-linkage]): Add.

/cp
2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53184
* decl2.c (constrain_class_visibility): Use Wsubobject-linkage.

/testsuite
2015-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53184
* g++.dg/warn/Wsubobject-linkage-1.C: New.
* g++.dg/warn/Wsubobject-linkage-2.C: Likewise.
* g++.dg/warn/Wsubobject-linkage-3.C: Likewise.
* g++.dg/warn/Wsubobject-linkage-4.C: Likewise.

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

8 years agoFix sanitizer/67258 by cherry picking upstream patch
trippels [Wed, 9 Sep 2015 16:34:59 +0000 (16:34 +0000)]
Fix sanitizer/67258 by cherry picking upstream patch

PR sanitizer/67258
* ubsan/ubsan_type_hash.cc: Cherry pick upstream r244101.

Upstraem patch:
commit 1d2477faafda9ad2cc19927b3c31efd22747f013
Author: Alexey Samsonov <vonosmas@gmail.com>
Date:   Wed Aug 5 19:35:46 2015 +0000

    [UBSan] Fix UBSan-vptr false positive.

    Offset from vptr to the start of most-derived object can actually
    be positive in some virtual base class vtables.

    Patch by Stephan Bergmann!

    git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@244101 91177308-0d34-0410-b5e6-96231b3b80d8

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

8 years agoAdd copyright in gcc/params-list.h
vries [Wed, 9 Sep 2015 14:44:01 +0000 (14:44 +0000)]
Add copyright in gcc/params-list.h

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

* params-list.h: Add missing copyright notice.

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

8 years ago * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
nathan [Wed, 9 Sep 2015 14:07:01 +0000 (14:07 +0000)]
* config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
sel_truesi, not andsi.

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

8 years ago[ARM][3/3] Expand mod by power of 2
ktkachov [Wed, 9 Sep 2015 08:41:41 +0000 (08:41 +0000)]
[ARM][3/3] Expand mod by power of 2

* config/arm/arm.md (*subsi3_compare0): Rename to...
(subsi3_compare0): ... This.
(modsi3): New define_expand.
* config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
when operand is power of 2.

* gcc.target/aarch64/mod_2.x: New file.
* gcc.target/aarch64/mod_256.x: Likewise.
* gcc.target/arm/mod_2.c: New test.
* gcc.target/arm/mod_256.c: Likewise.
* gcc.target/aarch64/mod_2.c: Likewise.
* gcc.target/aarch64/mod_256.c: Likewise.

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

8 years ago[AArch64][1/3] Expand signed mod by power of 2 using CSNEG
ktkachov [Wed, 9 Sep 2015 08:39:13 +0000 (08:39 +0000)]
[AArch64][1/3] Expand signed mod by power of 2 using CSNEG

* config/aarch64/aarch64.md (mod<mode>3): New define_expand.
(*neg<mode>2_compare0): Rename to...
(neg<mode>2_compare0): ... This.
* config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
Move check for speed inside the if-then-elses.  Reflect
CSNEG sequence in MOD by power of 2 case.

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

8 years ago PR c++/67504
jakub [Wed, 9 Sep 2015 07:25:53 +0000 (07:25 +0000)]
PR c++/67504
* parser.c (cp_parser_omp_clause_collapse): Test tree_fits_shwi_p
before INTEGRAL_TYPE_P test.

* g++.dg/gomp/pr67504.C: New test.

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

8 years ago PR c/67501
jakub [Wed, 9 Sep 2015 07:24:48 +0000 (07:24 +0000)]
PR c/67501
* c-parser.c (c_parser_oacc_all_clauses,
c_parser_omp_all_clauses): Remove invalid clause from
list of clauses even if parser->error is set.

* c-c++-common/gomp/pr67501.c: New test.

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

8 years ago PR c/67500
jakub [Wed, 9 Sep 2015 07:24:03 +0000 (07:24 +0000)]
PR c/67500
* c-parser.c (c_parser_omp_clause_aligned,
c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
test for errors.
* c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
error_mark_node.

* gcc.dg/gomp/pr67500.c: New test.

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

8 years ago PR c/67495
jakub [Wed, 9 Sep 2015 07:23:11 +0000 (07:23 +0000)]
PR c/67495
* c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
instead of c_parser_unary_expression.  If the result is !lvalue_p,
wrap the result of c_fully_fold into NON_LVALUE_EXPR.

* gcc.dg/gomp/pr67495.c: New test.

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

8 years agoFix PowerPC ICE due to secondary_reload ignoring reload replacements
amodra [Wed, 9 Sep 2015 05:56:26 +0000 (05:56 +0000)]
Fix PowerPC ICE due to secondary_reload ignoring reload replacements

The reason for this PR is that insns emitted by secondary reload
patterns are being generated without taking into account other reloads
that may have occurred.  We run into this problem when an insn has a
pseudo that doesn't get a hard reg, and the pseudo is used in a way
that requires a secondary reload.  In this case the secondary reload
is needed due to gcc generating a 64-bit gpr load from memory insn
with an address offset not a multiple of 4.

PR target/67378
* config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
reload replacement for PRE_MODIFY address reg.

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

8 years agofix PR53852: stop ISL after a given number of operations
spop [Wed, 9 Sep 2015 04:20:47 +0000 (04:20 +0000)]
fix PR53852: stop ISL after a given number of operations

2015-09-02  Sebastian Pop  <s.pop@samsung.com>

            * config.in: Regenerate.
            * configure: Regenerate.
            * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
            * graphite-optimize-isl.c (optimize_isl): Stop computation when
            PARAM_MAX_ISL_OPERATIONS is reached.
            * params.def (PARAM_MAX_ISL_OPERATIONS): Add.

            * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
            result equal to isl_stat_ok as the status now can be isl_error_quota.
            (subtract_commutative_associative_deps): Same.
            (compute_deps): Same.

testsuite/
            * gcc.dg/graphite/uns-interchange-12.c: Adjust pattern to pass with
            both isl-0.12 and isl-0.15.
            * gcc.dg/graphite/uns-interchange-14.c: Same.
            * gcc.dg/graphite/uns-interchange-15.c: Same.
            * gcc.dg/graphite/uns-interchange-mvt.c: Same.

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

8 years agoDaily bump.
gccadmin [Wed, 9 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago * backtrace.c: #include <sys/types.h>.
hp [Tue, 8 Sep 2015 23:58:09 +0000 (23:58 +0000)]
* backtrace.c: #include <sys/types.h>.

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

8 years agoRemove limit_scops
spop [Tue, 8 Sep 2015 22:18:11 +0000 (22:18 +0000)]
Remove limit_scops

This patch removes graphite-scop-detection.c:limit_scops function and fix
related issues arising because of that. The functionality limit_scop was added
as an intermediate step to discard the loops which graphite could not
handle. Removing limit_scop required handling of different cases of loops and
surrounding code.  The scop is now larger so most test cases required 'number of
scops detected' to be fixed. By increasing the size of scop we can now optimize
loops which are 'siblings' of each other. This could enable loop fusion on a
number of loops. Since in the graphite framework we mostly want to opimize
loop-nests/adjacent-loops, we now discard scops with less than 2 loops. We
also discard scops without any data references.

Essentially:
 - Remove limite_scops.
 - Only select scops when there are at least two loops (loop nest or, side by side).
 - Discard loops without data-refs.
 - Fix test cases.

Passes bootstrap and reg-test.

gcc/ChangeLog:

2015-09-02  Aditya Kumar  <hiraditya@msn.com>
            Sebastian Pop  <s.pop@samsung.com>

        * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
        Return the parameter if it was saved in corresponding
        parameter_rename_map of the region.
        (copy_def): Copy def from sese region to the newly created region.
        (copy_internal_parameters): Copy all the internal parameters defined
        within a region to the newly created region.
        (graphite_regenerate_ast_isl): Copy parameters to the new region before
        translating isl to gimple.
        * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
          the loop-nest does not have any data-references.
        (build_graphite_scops): Create a scop only when there is at least one
        loop inside it.
        (contains_only_close_phi_nodes): Deleted.
        (print_graphite_scop_statistics): Deleted
        (print_graphite_statistics): Deleted
        (limit_scops): Deleted.
        (build_scops): Removed call to limit_scops.
        * sese.c (new_sese): Construct.
        (free_sese): Destruct.
        (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
        added.
        (set_rename): Pass sese region so that parameters inside the region can
        be added to its parameter_rename_map.
        (rename_uses): Pass sese region.
        (graphite_copy_stmts_from_block): Do not copy parameters that have been
        generated in the header of the scop. For each SSA_NAME in the
        parameter_rename_map rename its usage.
        (invariant_in_sese_p_rec): Return false if tree t is defined outside
        sese region.
        (scalar_evolution_in_region): If the tree t is invariant just return t.
        * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
          struct sese to keep track of all the parameters which need renaming.
        * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
          any data-refs.
        * tree-data-ref.h: Declaration of loop_nest_has_data_refs.

gcc/testsuite/ChangeLog:

2015-09-02  Aditya Kumar  <hiraditya@msn.com>
            Sebastian Pop  <s.pop@samsung.com>

        * gcc.dg/graphite/block-0.c: Modifed test case to match current output.
        * gcc.dg/graphite/block-1.c: Same.
        * gcc.dg/graphite/block-5.c: Same.
        * gcc.dg/graphite/block-6.c: Same.
        * gcc.dg/graphite/interchange-1.c: Same.
        * gcc.dg/graphite/interchange-10.c: Same.
        * gcc.dg/graphite/interchange-11.c: Same.
        * gcc.dg/graphite/interchange-13.c: Same.
        * gcc.dg/graphite/interchange-14.c: Same.
        * gcc.dg/graphite/interchange-3.c: Same.
        * gcc.dg/graphite/interchange-4.c: Same.
        * gcc.dg/graphite/interchange-7.c: Same.
        * gcc.dg/graphite/interchange-8.c: Same.
        * gcc.dg/graphite/interchange-9.c: Same.
        * gcc.dg/graphite/isl-codegen-loop-dumping.c: Same.
        * gcc.dg/graphite/pr35356-1.c (foo): Same.
        * gcc.dg/graphite/pr37485.c: Same.
        * gcc.dg/graphite/scop-0.c (int toto): Same.
        * gcc.dg/graphite/scop-1.c: Same.
        * gcc.dg/graphite/scop-10.c: Same.
        * gcc.dg/graphite/scop-11.c: Same.
        * gcc.dg/graphite/scop-12.c: Same.
        * gcc.dg/graphite/scop-13.c: Same.
        * gcc.dg/graphite/scop-16.c: Same.
        * gcc.dg/graphite/scop-17.c: Same.
        * gcc.dg/graphite/scop-18.c: Same.
        * gcc.dg/graphite/scop-2.c: Same.
        * gcc.dg/graphite/scop-21.c (int test): Same.
        * gcc.dg/graphite/scop-22.c (void foo): Same.
        * gcc.dg/graphite/scop-4.c: Same.
        * gcc.dg/graphite/scop-5.c: Same.
        * gcc.dg/graphite/scop-6.c: Same.
        * gcc.dg/graphite/scop-7.c: Same.
        * gcc.dg/graphite/scop-8.c: Same.
        * gcc.dg/graphite/scop-9.c: Same.
        * gcc.dg/graphite/scop-mvt.c (void mvt): Introduced dependency so that
          data-refs remain inside the inner loop.
        * gcc.dg/graphite/uns-block-1.c: Modifed test case to match o/p.
        * gcc.dg/graphite/uns-interchange-14.c: Same.
        * gcc.dg/graphite/uns-interchange-9.c: Same.
        * gfortran.dg/graphite/interchange-3.f90

libgomp/ChangeLog:

2015-09-04  Aditya Kumar  <hiraditya@msn.com>
            Sebastian Pop  <s.pop@samsung.com>

        * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
          match o/p.
        * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
        * testsuite/libgomp.graphite/force-parallel-4.c: Same.
        * testsuite/libgomp.graphite/force-parallel-5.c: Same.
        * testsuite/libgomp.graphite/force-parallel-7.c: Same.
        * testsuite/libgomp.graphite/force-parallel-8.c: Same.

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

8 years agoPrevent unnecessary recompilation for trivial params.def changes
vries [Tue, 8 Sep 2015 21:20:51 +0000 (21:20 +0000)]
Prevent unnecessary recompilation for trivial params.def changes

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

* Makefile.in (generated_files): Add params.list.
(params.list, s-params.list): Add rule.
* params.h (enum compiler_param): Include params-list.h.  Move define
DEFPARAM, include params.def and undef DEFPARAM ...
* params-list.h: ... here.  New file.

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

8 years agoTrivial typo fix in pretty-print.h
dmalcolm [Tue, 8 Sep 2015 19:59:42 +0000 (19:59 +0000)]
Trivial typo fix in pretty-print.h

gcc/ChangeLog:
* pretty-print.h (printer_fn): Fix typo in comment.

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

8 years agoRe: [PATCH] Minor cleanup of const_and_copies stack
law [Tue, 8 Sep 2015 19:54:23 +0000 (19:54 +0000)]
Re: [PATCH] Minor cleanup of const_and_copies stack
        * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.

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

8 years agocorrect ChangeLog dates+address
alalaw01 [Tue, 8 Sep 2015 19:44:36 +0000 (19:44 +0000)]
correct ChangeLog dates+address

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

8 years agoARM/AArch64 Testsuite] Add float16 lane_f16_indices tests
alalaw01 [Tue, 8 Sep 2015 19:43:39 +0000 (19:43 +0000)]
ARM/AArch64 Testsuite] Add float16 lane_f16_indices tests

PR target/63870
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c: New.

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

8 years ago[ARM] Update sourcebuild.texi with testsuite/effective-target hooks
alalaw01 [Tue, 8 Sep 2015 19:38:22 +0000 (19:38 +0000)]
[ARM] Update sourcebuild.texi with testsuite/effective-target hooks

* doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
(arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
(arm_neon_fp16_hw): New.

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

8 years ago[ARM/AArch64 Testsuite]Add test of vcvt{,_high}_i{f32_f16,f16_f32}
alalaw01 [Tue, 8 Sep 2015 19:36:41 +0000 (19:36 +0000)]
[ARM/AArch64 Testsuite]Add test of vcvt{,_high}_i{f32_f16,f16_f32}

* gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c: New.
* lib/target-supports.exp
(check_effective_target_arm_neon_fp16_hw): New.

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

8 years ago[ARM/AArch64 Testsuite] Add float16 tests to advsimd-intrinsics testsuite
alalaw01 [Tue, 8 Sep 2015 19:34:21 +0000 (19:34 +0000)]
[ARM/AArch64 Testsuite] Add float16 tests to advsimd-intrinsics testsuite

* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp:
Set additional_flags for neon-fp16 if supported, else fallback to neon.

* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
(hfloat16_t): New.
(result, expected, clean_results, DECL_VARIABLE_64BITS_VARIANTS,
DECL_VARIABLE_128BITS_VARIANTS): Add float16x4_t and float16x8_t cases
if supported.
(CHECK_RESULTS): Redefine using CHECK_RESULTS_NAMED.
(CHECK_RESULTS_NAMED): Move body to CHECK_RESULTS_NAMED_NO_FP16;
redefine in terms of CHECK_RESULTS_NAMED_NO_FP16 with float16 variants
when those are supported.
(CHECK_RESULTS_NAMED_NO_FP16, CHECK_RESULTS_NO_FP16): New.
(vdup_n_f16): New.

* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h (buffer,
buffer_pad, buffer_dup, buffer_dup_pad): Add float16x4 and float16x8_t
cases if supported.

* gcc.target/aarch64/advsimd-intrinsics/vbsl.c (exec_vbsl):
Use CHECK_RESULTS_NO_FP16 in place of CHECK_RESULTS.
* gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c (exec_vdup_vmov):
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c (exec_vdup_lane):
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vext.c (exec_vext): Likewise.

* gcc.target/aarch64/advsimd-intrinsics/vcombine.c (expected):
Add float16x8_t case.
(main, exec_vcombine): test float16x4_t -> float16x8_t, if supported.
* gcc.target/aarch64/advsimd-intrinsics/vcreate.c (expected,
main, exec_vcreate): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vget_high (expected,
 exec_vget_high): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vget_low.c (expected,
exec_vget_low): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld1.c (expected, exec_vld1):
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld1_dup.c (expected,
exec_vld1_dup): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld1_lane.c (expected,
exec_vld1_lane): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX.c (expected, exec_vldX):
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c (expected,
exec_vldX_dup): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c (expected,
exec_vldX_lane): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vset_lane.c (expected,
exec_vset_lane): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst1_lane.c (expected,
 exec_vst1_lane): Likewise.

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

8 years ago PR c++/67041
jason [Tue, 8 Sep 2015 19:33:47 +0000 (19:33 +0000)]
PR c++/67041
* pt.c (tsubst_copy_and_build): Handle variables like functions.

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

8 years ago[fold-const.c] Fix bigendian HFmode in native_interpret_real
alalaw01 [Tue, 8 Sep 2015 19:27:30 +0000 (19:27 +0000)]
[fold-const.c] Fix bigendian HFmode in native_interpret_real

* fold-const.c (native_interpret_real): Fix HFmode for bigendian where
UNITS_PER_WORD >= 4.

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

8 years ago[AArch64] Add vcvt(_high)?_f32_f16 intrinsics, with BE RTL fix
alalaw01 [Tue, 8 Sep 2015 19:24:35 +0000 (19:24 +0000)]
[AArch64] Add vcvt(_high)?_f32_f16 intrinsics, with BE RTL fix

gcc/:

* config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
aarch64_simd_vec_unpacks_hi_<mode>): New insn.
(vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
(vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
(aarch64_float_extend_lo_v2df): Rename to...
(aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.

* config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
(float_extend_lo): Add v4sf.

* config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
* config/aarch64/iterators.md (VQ_HSF): New iterator.
(VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
(Vwide): New mode_attr.

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

8 years ago[AArch64] Improve code generation for float16 vector code
alalaw01 [Tue, 8 Sep 2015 19:18:29 +0000 (19:18 +0000)]
[AArch64] Improve code generation for float16 vector code

gcc/:

* config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
V4HF and V8HF variants to iterator.

* config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.

* config/aarch64/iterators.md (VDQF_F16): New.
(VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.

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

8 years ago[AArch64] vreinterpret(q?), vget_(low|high), vld1(q?)_dup
alalaw01 [Tue, 8 Sep 2015 19:13:29 +0000 (19:13 +0000)]
[AArch64] vreinterpret(q?), vget_(low|high), vld1(q?)_dup

gcc/:

* config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
vld1q_dup_f16): New.

gcc/testsuite/:

* gcc.target/aarch64/vget_high_1.c: Add float16x8->float16x4 case.
* gcc.target/aarch64/vget_low_1.c: Likewise.

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

8 years ago[AArch64] Implement vcvt_{,high_}f16_f32
alalaw01 [Tue, 8 Sep 2015 19:08:34 +0000 (19:08 +0000)]
[AArch64] Implement vcvt_{,high_}f16_f32

* config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
Reparameterize to...
(aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
(aarch64_float_truncate_hi_v4sf): Reparameterize to...
(aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.

* config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
v8hf variant.
(float_truncate_lo_): Use BUILTIN_VDF iterator.

* config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.

* config/aarch64/iterators.md (VDF, Vdtype): New.
(VWIDE, Vmwtype): Add cases for V4HF and V2SF.

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

8 years ago[AArch64] vld{2,3,4}{,_lane,_dup}, vcombine, vcreate
alalaw01 [Tue, 8 Sep 2015 19:03:53 +0000 (19:03 +0000)]
[AArch64] vld{2,3,4}{,_lane,_dup}, vcombine, vcreate

gcc/:

* config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
* config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
(aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
Add __builtin_aarch64_simd_hf.
* config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.

* config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
(VDC, Vdbl): Add V4HF.

gcc/testsuite/:

* gcc.target/aarch64/vldN_1.c: Add float16x4_t and float16x8_t cases.
* gcc.target/aarch64/vldN_dup_1.c: Likewise.
* gcc.target/aarch64/vldN_lane_1.c: Likewise.
(main): update orig_data to avoid float16 NaN on bigendian.

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

8 years ago[AArch64] Add support for float16x{4,8}_t vectors/builtins
alalaw01 [Tue, 8 Sep 2015 18:57:31 +0000 (18:57 +0000)]
[AArch64] Add support for float16x{4,8}_t vectors/builtins

gcc/:

* config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
V4HFmode and V8HFmode.
(aarch64_split_simd_move): Add case for V8HFmode.
* config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
(aarch64_simd_builtin_std_type): Handle HFmode.
(aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.

* config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
(aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.

* config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
Float16x8_t.

* config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
* config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
New typedefs.
(vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
vst1q_lane_f16): New.
* config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
(VALLDI_F16, VALL_F16): New.
(Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
Add cases for V4HF and V8HF.
(VDBL, VRL2, VRL3, VRL4): Add V4HF case.

gcc/testsuite/:

* g++.dg/abi/mangle-neon-aarch64.C: Add cases for float16x4_t and
float16x8_t.
* gcc.target/aarch64/vset_lane_1.c: Likewise.
* gcc.target/aarch64/vld1-vst1_1.c: Likewise.
* gcc.target/aarch64/vld1_lane.c: Likewise.

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

8 years ago[ARM] Remaining intrinsics
alalaw01 [Tue, 8 Sep 2015 18:48:47 +0000 (18:48 +0000)]
[ARM] Remaining intrinsics

* config/arm/arm-builtins.c (VAR11, VAR12): New.
* config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
vld4_dup): Add v4hf variant.
(vget_high, vget_low): Add v8hf variant.
(vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
v4hf and v8hf variants.

* config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
(VDX): Add V4HF.
(V_DOUBLE): Add case for V4HF.
(VQX): Add V8HF.
(V_HALF): Add case for V8HF.
(VDQX): Add V4HF, V8HF.
(V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.

* config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.

(neon_vcreate, neon_vreinterpretv8qi<mode>,
neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
Change VDX to VD_RE.

(neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.

* config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.

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

8 years ago[ARM] float16x8_t intrinsics in arm_neon.h
alalaw01 [Tue, 8 Sep 2015 18:38:26 +0000 (18:38 +0000)]
[ARM] float16x8_t intrinsics in arm_neon.h

* config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
New.

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

8 years agofix ChangeLog whitespace
alalaw01 [Tue, 8 Sep 2015 18:33:36 +0000 (18:33 +0000)]
fix ChangeLog whitespace

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

8 years ago[ARM] Add V8HFmode and float16x8_t type
alalaw01 [Tue, 8 Sep 2015 18:30:07 +0000 (18:30 +0000)]
[ARM] Add V8HFmode and float16x8_t type

* config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.

* config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.

* config/arm/arm-builtins.c (v8hf_UP): New.
(arm_init_simd_builtin_types): Initialise Float16x8_t.

* config/arm/arm-simd-builtin-types.def (Float16x8_t): New.

* config/arm/arm_neon.h (float16x8_t): New typedef.

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

8 years ago[ARM] float16x4_t intrinsics in arm_neon.h
alalaw01 [Tue, 8 Sep 2015 18:03:32 +0000 (18:03 +0000)]
[ARM] float16x4_t intrinsics in arm_neon.h

* config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
vreinterpret_u16_f16, vreinterpret_u32_f16): New.

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

8 years agofix ChangeLog entry for r227407
cbaylis [Tue, 8 Sep 2015 17:24:12 +0000 (17:24 +0000)]
fix ChangeLog entry for r227407

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

8 years ago PR other/67457
ian [Tue, 8 Sep 2015 16:46:16 +0000 (16:46 +0000)]
PR other/67457
* backtrace.c: #include "internal.h".
(struct backtrace_data): Add can_alloc field.
(unwind): If can_alloc is false, don't try to get file/line
information.
(backtrace_full): Set can_alloc field in bdata.
* alloc.c (backtrace_alloc): Don't call error_callback if it is
NULL.
* mmap.c (backtrace_alloc): Likewise.
* internal.h: Update comments for backtrace_alloc and
backtrace_free.

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

8 years agoMerge liboffloadmic from upstream, version 20150803.
iverbin [Tue, 8 Sep 2015 15:39:59 +0000 (15:39 +0000)]
Merge liboffloadmic from upstream, version 20150803.

liboffloadmic/
* Makefile.am (liboffloadmic_host_la_DEPENDENCIES): Remove libcoi_host
and libmyo-client.  liboffloadmic_host loads them dynamically.
* Makefile.in: Regenerate.
* doc/doxygen/header.tex: Merge from upstream, version 20150803
<https://openmprtl.org/sites/default/files/liboffload_oss_20150803.tgz>.
* runtime/cean_util.cpp: Likewise.
* runtime/cean_util.h: Likewise.
* runtime/coi/coi_client.cpp: Likewise.
* runtime/coi/coi_client.h: Likewise.
* runtime/coi/coi_server.cpp: Likewise.
* runtime/coi/coi_server.h: Likewise.
* runtime/compiler_if_host.cpp: Likewise.
* runtime/compiler_if_host.h: Likewise.
* runtime/compiler_if_target.cpp: Likewise.
* runtime/compiler_if_target.h: Likewise.
* runtime/dv_util.cpp: Likewise.
* runtime/dv_util.h: Likewise.
* runtime/liboffload_error.c: Likewise.
* runtime/liboffload_error_codes.h: Likewise.
* runtime/liboffload_msg.c: Likewise.
* runtime/liboffload_msg.h: Likewise.
* runtime/mic_lib.f90: Likewise.
* runtime/offload.h: Likewise.
* runtime/offload_common.cpp: Likewise.
* runtime/offload_common.h: Likewise.
* runtime/offload_engine.cpp: Likewise.
* runtime/offload_engine.h: Likewise.
* runtime/offload_env.cpp: Likewise.
* runtime/offload_env.h: Likewise.
* runtime/offload_host.cpp: Likewise.
* runtime/offload_host.h: Likewise.
* runtime/offload_iterator.h: Likewise.
* runtime/offload_myo_host.cpp: Likewise.
* runtime/offload_myo_host.h: Likewise.
* runtime/offload_myo_target.cpp: Likewise.
* runtime/offload_myo_target.h: Likewise.
* runtime/offload_omp_host.cpp: Likewise.
* runtime/offload_omp_target.cpp: Likewise.
* runtime/offload_orsl.cpp: Likewise.
* runtime/offload_orsl.h: Likewise.
* runtime/offload_table.cpp: Likewise.
* runtime/offload_table.h: Likewise.
* runtime/offload_target.cpp: Likewise.
* runtime/offload_target.h: Likewise.
* runtime/offload_target_main.cpp: Likewise.
* runtime/offload_timer.h: Likewise.
* runtime/offload_timer_host.cpp: Likewise.
* runtime/offload_timer_target.cpp: Likewise.
* runtime/offload_trace.cpp: Likewise.
* runtime/offload_trace.h: Likewise.
* runtime/offload_util.cpp: Likewise.
* runtime/offload_util.h: Likewise.
* runtime/ofldbegin.cpp: Likewise.
* runtime/ofldend.cpp: Likewise.
* runtime/orsl-lite/include/orsl-lite.h: Likewise.
* runtime/orsl-lite/lib/orsl-lite.c: Likewise.
* runtime/use_mpss2.txt: Likewise.
* include/coi/common/COIEngine_common.h: Merge from upstream, MPSS
version 3.5
<http://registrationcenter.intel.com/irc_nas/7445/mpss-src-3.5.tar>.
* include/coi/common/COIEvent_common.h: Likewise.
* include/coi/common/COIMacros_common.h: Likewise.
* include/coi/common/COIPerf_common.h: Likewise.
* include/coi/common/COIResult_common.h: Likewise.
* include/coi/common/COISysInfo_common.h: Likewise.
* include/coi/common/COITypes_common.h: Likewise.
* include/coi/sink/COIBuffer_sink.h: Likewise.
* include/coi/sink/COIPipeline_sink.h: Likewise.
* include/coi/sink/COIProcess_sink.h: Likewise.
* include/coi/source/COIBuffer_source.h: Likewise.
* include/coi/source/COIEngine_source.h: Likewise.
* include/coi/source/COIEvent_source.h: Likewise.
* include/coi/source/COIPipeline_source.h: Likewise.
* include/coi/source/COIProcess_source.h: Likewise.
* include/myo/myo.h: Likewise.
* include/myo/myoimpl.h: Likewise.
* include/myo/myotypes.h: Likewise.
* plugin/Makefile.am (myo_inc_dir): Remove.
(libgomp_plugin_intelmic_la_CPPFLAGS): Do not define MYO_SUPPORT.
(AM_CPPFLAGS): Likewise for offload_target_main.
* plugin/Makefile.in: Regenerate.
* runtime/emulator/coi_common.h: Update copyright years.
(OFFLOAD_EMUL_KNC_NUM_ENV): Replace with ...
(OFFLOAD_EMUL_NUM_ENV): ... this.
(enum cmd_t): Add CMD_CLOSE_LIBRARY.
* runtime/emulator/coi_device.cpp: Update copyright years.
(COIProcessWaitForShutdown): Add space between string constants.
Return handle to host in CMD_OPEN_LIBRARY.
Support CMD_CLOSE_LIBRARY.
* runtime/emulator/coi_device.h: Update copyright years.
* runtime/emulator/coi_host.cpp: Update copyright years.
(knc_engines_num): Replace with ...
(num_engines): ... this.
(init): Replace OFFLOAD_EMUL_KNC_NUM_ENV with OFFLOAD_EMUL_NUM_ENV.
(COIEngineGetCount): Replace COI_ISA_KNC with COI_ISA_MIC, and
knc_engines_num with num_engines.
(COIEngineGetHandle): Likewise.
(COIProcessCreateFromMemory): Add space between string constants.
(COIProcessCreateFromFile): New function.
(COIProcessLoadLibraryFromMemory): Rename arguments according to
COIProcess_source.h.  Return handle, received from target.
(COIProcessUnloadLibrary): New function.
(COIPipelineClearCPUMask): New function.
(COIPipelineSetCPUMask): New function.
(COIEngineGetInfo): New function.
* runtime/emulator/coi_host.h: Update copyright years.
* runtime/emulator/coi_version_asm.h: Regenerate.
* runtime/emulator/coi_version_linker_script.map: Regenerate.
* runtime/emulator/myo_client.cpp: Update copyright years.
* runtime/emulator/myo_service.cpp: Update copyright years.
(myoArenaRelease): New function.
(myoArenaAcquire): New function.
(myoArenaAlignedFree): New function.
(myoArenaAlignedMalloc): New function.
* runtime/emulator/myo_service.h: Update copyright years.
* runtime/emulator/myo_version_asm.h: Regenerate.
* runtime/emulator/myo_version_linker_script.map: Regenerate.

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

8 years ago/cp
paolo [Tue, 8 Sep 2015 15:02:01 +0000 (15:02 +0000)]
/cp
2015-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67369
* pt.c (tsubst_copy, [case FUNCTION_DECL]): Do not call tsubst
if the first argument isn't a template.

/testsuite
2015-09-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/67369
* g++.dg/cpp1y/lambda-generic-ice4.C: New.

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

8 years ago PR other/67457
ian [Tue, 8 Sep 2015 13:49:19 +0000 (13:49 +0000)]
PR other/67457
* mmap.c (backtrace_alloc): Correct test for mmap failure.

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

8 years agoDaily bump.
gccadmin [Tue, 8 Sep 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

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

8 years agoRelax Debug Mode assertions on operator-> for smart pointers.
redi [Mon, 7 Sep 2015 17:17:23 +0000 (17:17 +0000)]
Relax Debug Mode assertions on operator-> for smart pointers.

* include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change
_GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT.
* include/bits/unique_ptr.h (unique_ptr::operator->): Likewise.
* testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on
empty shared_ptr.

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

8 years ago * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
iverbin [Mon, 7 Sep 2015 15:25:43 +0000 (15:25 +0000)]
* config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
non-alphanumeric characters in the symbol name.

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

8 years agoAvoid #ifdef _GLIBCXX_DEBUG in regex_compiler.h
redi [Mon, 7 Sep 2015 14:45:14 +0000 (14:45 +0000)]
Avoid #ifdef _GLIBCXX_DEBUG in regex_compiler.h

* include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.

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

8 years agoRename shadowed variable in libstdc++ test.
redi [Mon, 7 Sep 2015 11:33:20 +0000 (11:33 +0000)]
Rename shadowed variable in libstdc++ test.

* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
shadowed variable.

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

8 years agoEnable timed mutex unlock tests on darwin.
redi [Mon, 7 Sep 2015 10:40:25 +0000 (10:40 +0000)]
Enable timed mutex unlock tests on darwin.

* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
darwin.
* testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.

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

8 years ago PR inline-asm/67448
mpolacek [Mon, 7 Sep 2015 09:19:13 +0000 (09:19 +0000)]
PR inline-asm/67448
* gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as
a memory input.

* gcc.dg/asm-10.c: New test.

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

8 years ago * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.
mpolacek [Mon, 7 Sep 2015 09:11:17 +0000 (09:11 +0000)]
* system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.

* system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.

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

8 years agoDaily bump.
gccadmin [Mon, 7 Sep 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

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

8 years agogcc:
bonzini [Sun, 6 Sep 2015 14:05:00 +0000 (14:05 +0000)]
gcc:
* config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do
not warn.

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

8 years agoDaily bump.
gccadmin [Sun, 6 Sep 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.

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

8 years agoDaily bump.
gccadmin [Sat, 5 Sep 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.

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

8 years agoPR 53379 Print backtrace on error termination.
jb [Fri, 4 Sep 2015 22:17:11 +0000 (22:17 +0000)]
PR 53379 Print backtrace on error termination.

2015-09-05  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/53379
* libgfortran.h (exit_error): New prototype.
* runtime/error.c (exit_error): New function.
(os_error): Call exit_error instead of exit.
(runtime_error): Likewise.
(runtime_error_at): Likewise.
(internal_error): Likewise.
(generate_error): Likewise.
(notify_std): Likewise.
* runtime/stop.c (error_stop_string): Likewise.
(error_stop_numeric): Likewise.

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

8 years ago * intrinsic.h (gfc_simplify_mvbits): Remove.
fxcoudert [Fri, 4 Sep 2015 19:36:57 +0000 (19:36 +0000)]
* intrinsic.h (gfc_simplify_mvbits): Remove.
* simplify.c (gfc_simplify_mvbits): Remove.
* intrinsic.c (add_subroutines): Remove reference to
gfc_simplify_mvbits.

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

8 years ago2015-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
pault [Fri, 4 Sep 2015 18:37:50 +0000 (18:37 +0000)]
2015-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/67429
* error.c (gfc_clear_pp_buffer): Reset last_location, otherwise
caret lines might be skipped when actually giving a diagnostic.

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

8 years ago PR middle-end/67452
jakub [Fri, 4 Sep 2015 18:32:00 +0000 (18:32 +0000)]
PR middle-end/67452
* tree-ssa-live.c: Include cfgloop.h.
(remove_unused_locals): Clear loop->simduid if simduid is about
to be removed from cfun->local_decls.

* gcc.dg/lto/pr67452_0.c: New test.

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

8 years agogcc/ChangeLog
denisc [Fri, 4 Sep 2015 16:34:11 +0000 (16:34 +0000)]
gcc/ChangeLog

PR target/65210
* config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
attribute as well.

gcc/testsuite/ChangeLog

PR target/65210
* gcc.target/avr/pr65210.c: New test.

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

8 years agofix darwin bootstrap errors due to <mutex>.
redi [Fri, 4 Sep 2015 16:09:05 +0000 (16:09 +0000)]
fix darwin bootstrap errors due to <mutex>.

PR libstdc++/65704
* include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.

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

8 years agoDocument ftrapv/fwrapv interaction
vries [Fri, 4 Sep 2015 15:59:21 +0000 (15:59 +0000)]
Document ftrapv/fwrapv interaction

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

* doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction.

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

8 years ago[PATCH] Minor cleanup of const_and_copies stack
law [Fri, 4 Sep 2015 15:15:59 +0000 (15:15 +0000)]
[PATCH] Minor cleanup of const_and_copies stack

* tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove
unnecessary constructor.  It's now trivial and implemented inside...
* tree-ssa-scopedtables.h (const_and_copies): Implement trivial
constructor.  Add comments to various methods.  Remove unused
private fields.
* tree-ssa-dom.c (pass_dominator::execute): Corresponding changes.
* tree-vrp.c (identify_jump_threads): Likewise.
* tree-ssa-threadedge.c (thread_through_normal_block): Fix minor
indentation issues.
(thread_across_edge): Similarly.
(record_temporary_equivalences_from_stmts_at_dest): Remove unused
arguments in constructor call.

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

8 years agoApppend $prop to et_prop_list only if needed
hjl [Fri, 4 Sep 2015 15:09:22 +0000 (15:09 +0000)]
Apppend $prop to et_prop_list only if needed

PR testsuite/67450
* lib/target-supports.exp (check_cached_effective_target):
Apppend $prop to et_prop_list only if needed.

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

8 years ago PR sanitizer/67279
mpolacek [Fri, 4 Sep 2015 12:37:39 +0000 (12:37 +0000)]
PR sanitizer/67279
* c-typeck.c (build_binary_op): Don't instrument static initializers.

* gcc.dg/ubsan/pr67279.c: New test.

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

8 years agoAdd portable timed_mutex and recursive_timed_mutex.
redi [Fri, 4 Sep 2015 11:23:44 +0000 (11:23 +0000)]
Add portable timed_mutex and recursive_timed_mutex.

PR libstdc++/65704
* include/Makefile.am: Add <bits/mutex.h>.
* include/Makefile.in: Regenerate.
* include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
New file containing types moved from <mutex>.
* include/std/condition_variable: Include <bits/mutex.h> instead of
<mutex>.
* include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
Move to <bits/mutex.h>.
*  testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
dg-require-gthreads-timed.
*  testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/dest/
destructor_locked.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
*  testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
*  testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
*  testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
Likewise.
*  testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
Likewise.
*  testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
*  testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
*  testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
*  testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
*  testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
*  testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
*  testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

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

8 years ago2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
iverbin [Fri, 4 Sep 2015 11:21:39 +0000 (11:21 +0000)]
2015-09-04  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>

gcc/
* config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the
temp path contains a '-'.

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

8 years agoAdd C++11 header <cuchar>.
redi [Fri, 4 Sep 2015 11:13:34 +0000 (11:13 +0000)]
Add C++11 header <cuchar>.

2015-09-04  Edward Smith-Rowland  <3dw4rd@verizon.net>
    Jonathan Wakely  <jwakely@redhat.com>

* acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define.
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Check for <uchar.h>.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/c/cuchar: New.
* include/c_compatibility/uchar.h: New.
* include/c_global/cuchar: New.
* include/c_std/cuchar: New.
* include/precompiled/stdc++.h: Include <cuchar>.
* testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>.
* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
Include <uchar.h>.

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

8 years agoMake all <cxxx> headers include <bits/c++config.h>
redi [Fri, 4 Sep 2015 09:16:29 +0000 (09:16 +0000)]
Make all <cxxx> headers include <bits/c++config.h>

PR libstdc++/65473
* include/c/cassert: Include <bits/c++config.h>.
* include/c/cerrno: Likewise.
* include/c/cfloat: Likewise.
* include/c/ciso646: Likewise.
* include/c/climits: Likewise.
* include/c_global/cassert: Likewise.
* include/c_global/cerrno: Likewise.
* include/c_global/cfloat: Likewise.
* include/c_global/ciso646: Likewise.
* include/c_global/climits: Likewise.
* include/c_std/cassert: Likewise.
* include/c_std/cerrno: Likewise.
* include/c_std/cfloat: Likewise.
* include/c_std/ciso646: Likewise.
* include/c_std/climits: Likewise.

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

8 years agogcc/testsuite/
kyukhin [Fri, 4 Sep 2015 08:56:28 +0000 (08:56 +0000)]
gcc/testsuite/
* gcc.target/i386/avx512f-scatter-1.c: New.
* gcc.target/i386/avx512f-scatter-2.c: Ditto.
* gcc.target/i386/avx512f-scatter-3.c: Ditto.

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

8 years agogcc/
kyukhin [Fri, 4 Sep 2015 08:54:14 +0000 (08:54 +0000)]
gcc/
* config/i386/i386-builtin-types.def
(VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
(VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
(VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
(VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
* config/i386/i386.c
(ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
IX86_BUILTIN_SCATTERALTDIV16SI.
(ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
__builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
__builtin_ia32_scatteraltdiv8si.
(ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
IX86_BUILTIN_SCATTERALTDIV16SI.
(ix86_vectorize_builtin_scatter): New.
(TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
ix86_vectorize_builtin_scatter.

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