platform/upstream/gcc.git
8 years agolto.texi: Remove text that says only Gold has linker plugin support.
Kugan Vivekanandarajah [Tue, 19 Jan 2016 21:49:32 +0000 (21:49 +0000)]
lto.texi: Remove text that says only Gold has linker plugin support.

gcc/ChangeLog:

2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>

* doc/lto.texi: Remove text that says only Gold has linker plugin
support.

From-SVN: r232587

8 years agoAdd C++-conforming wrappers for stdlib.h and math.h
Jonathan Wakely [Tue, 19 Jan 2016 21:43:55 +0000 (21:43 +0000)]
Add C++-conforming wrappers for stdlib.h and math.h

PR libstdc++/14608
PR libstdc++/60401
* include/Makefile.am: Use c_compatibility math.h and stdlib.h for
--enable-cheaders=c_global configs.
* include/Makefile.in: Regenerate.
* include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
test and allow inclusion from C files.
* include/c_compatibility/stdlib.h: Likewise. Support freestanding.
(at_quick_exit, quick_exit): Add using directives.
* include/c_global/cmath: Use #include_next for math.h.
* include/c_global/cstdlib: Use #include_next for stdlib.h.
* testsuite/26_numerics/headers/cmath/14608.cc: New.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Remove xfail for most targets.
* testsuite/26_numerics/headers/cstdlib/60401.cc: New.

From-SVN: r232586

8 years agodwarf2out.c (need_endianity_attribute_p): New inline predicate.
Eric Botcazou [Tue, 19 Jan 2016 21:08:10 +0000 (21:08 +0000)]
dwarf2out.c (need_endianity_attribute_p): New inline predicate.

* dwarf2out.c (need_endianity_attribute_p): New inline predicate.
(base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
the DIE accordingly.
(modified_type_die): Add REVERSE parameter and pass it recursively,
as well as to base_type_die.  Adjust presence check accordingly.
(base_type_for_mode): Adjust call to modified_type_die.
(add_type_attribute): Add REVERSE parameter and pass it to
modified_type_die.
(generic_parameter_die): Adjust call to add_type_attribute.
(add_scalar_info): Likewise.
(add_subscript_info): Likewise.
(gen_array_type_die): Likewise.
(gen_descr_array_type_die): Likewise.
(gen_entry_point_die): Likewise.
(gen_enumeration_type_die): Likewise.
(gen_formal_parameter_die): Likewise.
(gen_subprogram_die): Likewise.
(gen_variable_die ): Likewise.
(gen_const_die): Likewise.
(gen_field_die): Likewise.
(gen_pointer_type_die): Likewise.
(gen_reference_type_die): Likewise.
(gen_ptr_to_mbr_type_die): Likewise.
(gen_inheritance_die): Likewise.
(gen_subroutine_type_die): Likewise.
(gen_typedef_die): Likewise.
(force_type_die): Adjust call to modified_type_die.

From-SVN: r232585

8 years agostandards.texi: Copy-editing for grammar, markup, and sentence flow throughout the...
Sandra Loosemore [Tue, 19 Jan 2016 20:44:11 +0000 (15:44 -0500)]
standards.texi: Copy-editing for grammar, markup, and sentence flow throughout the file.

2016-01-19  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/standards.texi: Copy-editing for grammar, markup, and sentence
flow throughout the file.  Fix broken link to Objective-C 2.0
documentation.
* doc/invoke.texi: More copy-editing; fix numerous typos and spelling
errors.

From-SVN: r232583

8 years agoPR jit/69144: Ensure that libgccjit's tempdir is fully cleaned-up
David Malcolm [Tue, 19 Jan 2016 20:37:19 +0000 (20:37 +0000)]
PR jit/69144: Ensure that libgccjit's tempdir is fully cleaned-up

There were a couple of ways that libgccjit could fail to unlink all
of its tempfiles, leading to /tmp/libgccjit-* tempdirs lingering
after the build:
- dumpfiles requested by gcc_jit_context_enable_dump
- ahead-of-time compilation artifacts which lingered in the tempdir
  after they've been copied up to the output_path.  This was only
  the case for GCC_JIT_OUTPUT_KIND_OBJECT_FILE and
  GCC_JIT_OUTPUT_KIND_EXECUTABLE.

The following patch fixes these by introducing a vec of additional
cleanups to be performed by gcc:jit::tempdir's dtor.

In addition, if a gcc_jit_result * is leaked and
GCC_JIT_BOOL_OPTION_DEBUGINFO is enabled, the tempdir will also
not be cleaned up.  This was the case for tut04-toyvm/toyvm.cc
which the patch fixes by introducing a wrapper around
gcc_jit_result *.  Doing this required some updates to the
corresponding docs.

gcc/jit/ChangeLog:
PR jit/69144
* jit-playback.c (gcc::jit::playback::compile_to_file::postprocess):
Potentially add the temporary artifact to the tempdir's list of
tempfiles needing additional cleanup.
(gcc::jit::playback::context::extract_any_requested_dumps): Likewise
for the dumpfile.
* jit-tempdir.c (gcc::jit::tempdir::~tempdir): Clean up additional
tempfiles.
* jit-tempdir.h (gcc::jit::tempdir::add_temp_file): New method.
(gcc::jit::tempdir::m_tempfiles): New field.
* docs/cp/intro/tutorial04.rst: Update for changes to toyvm.cc.
* docs/examples/tut04-toyvm/toyvm.cc (class compilation_result):
New.
(toyvm_function::compile): Change return type from function ptr
to a compilation_result.
(toyvm_function::get_function_name): New accessor.
(toyvm_function::m_funcname): New field.
(get_function_name): Convert to...
(toyvm_function::make_function_name): ...this new method.
(toyvm_function::parse): Call make_function_name.
(toyvm_function::compile): Convert return type from function ptr
to a compilation_result.  Use get_function_name.
(compilation_state::compile): Convert return type from
gcc_jit_result * to a compilation_result.
(test_script): Update for above changes, extracting the code from
the compilation_result.
(main): Likewise.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r232582

8 years agolibitm: Remove dead code.
Torvald Riegel [Tue, 19 Jan 2016 19:49:14 +0000 (19:49 +0000)]
libitm: Remove dead code.

* local_type_traits: Remove file.
* libitm_i.h: Don't include it anymore.
(sized_integral): Remove.

From-SVN: r232581

8 years agore PR c++/59759 (internal compiler error: in unify, using std::enable_if on classes)
Jason Merrill [Tue, 19 Jan 2016 19:00:21 +0000 (14:00 -0500)]
re PR c++/59759 (internal compiler error: in unify, using std::enable_if on classes)

PR c++/59759
* pt.c (convert_template_argument): Handle VAR_DECL properly.

From-SVN: r232580

8 years ago[Patch] Fix spurious warning in ccmp.c
Wilco Dijkstra [Tue, 19 Jan 2016 18:02:48 +0000 (18:02 +0000)]
[Patch] Fix spurious warning in ccmp.c

2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>

* ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.

From-SVN: r232576

8 years agore PR testsuite/68820 (FAIL: gcc.c-torture/execute/builtins/memops-asm.c execution...
Uros Bizjak [Tue, 19 Jan 2016 17:10:31 +0000 (18:10 +0100)]
re PR testsuite/68820 (FAIL: gcc.c-torture/execute/builtins/memops-asm.c execution,  -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects)

PR testsuite/68820
* gcc.c-torture/execute/builtins/memops-asm.x: New file.
* gcc.c-torture/execute/builtins/strstr-asm.x: Ditto.
* gcc.c-torture/execute/builtins/strstr-asm.c: Remove dg-options.

From-SVN: r232573

8 years agore PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pur...
Jan Hubicka [Tue, 19 Jan 2016 16:49:50 +0000 (17:49 +0100)]
re PR ipa/66223 (Diagnostic of pure virtual function call broken, including __cxa_pure_virtual)

PR ipa/66223
* ipa-devirt.c (is_cxa_pure_virtual_p): New function.
(maybe_record_node): Record cxa_pure_virtual as the only possible
target if there are not ohter candidates.
(possible_polymorphic_call_target_p): Accept cxa_pure_virtual.

* g++.dg/ipa/devirt-50.C: New testcase.

From-SVN: r232572

8 years agohsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants and name.
Richard Biener [Tue, 19 Jan 2016 15:10:40 +0000 (15:10 +0000)]
hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants and name.

2016-01-19  Richard Biener  <rguenther@suse.de>

* hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants
and name.
(get_memory_order): Likewise.

From-SVN: r232571

8 years agore PR c++/68965 (`-Wunused-parameter` is reported in variadic lambda or function...
Marek Polacek [Tue, 19 Jan 2016 14:37:49 +0000 (14:37 +0000)]
re PR c++/68965 (`-Wunused-parameter` is reported in variadic lambda or function using sizeof...(xs))

PR c++/68965
* pt.c (tsubst_copy): Mark elements in expanded vector as used.

* g++.dg/cpp1y/parameter-pack-1.C: New test.
* g++.dg/cpp1y/parameter-pack-2.C: New test.

From-SVN: r232569

8 years agoFix ICE in vectorizable_store ().
Kirill Yukhin [Tue, 19 Jan 2016 14:37:23 +0000 (14:37 +0000)]
Fix ICE in vectorizable_store ().

gcc/
* tree-vect-stmts.c (vectorizable_store): Check
rhs vectype.

From-SVN: r232568

8 years agoFix memory chunk corruption for opts_obstack (PR jit/68446)
David Malcolm [Tue, 19 Jan 2016 14:35:16 +0000 (14:35 +0000)]
Fix memory chunk corruption for opts_obstack (PR jit/68446)

gcc/ChangeLog:
PR jit/68446
* gcc.c (driver::decode_argv): Add call to
init_opts_obstack before init_options_struct.
* opts.c (init_opts_obstack): Remove idempotency.
(init_options_struct): Replace call to init_opts_obstack
with a gcc_assert to verify that it has already been called.
* toplev.c (toplev::main): Add call to init_opts_obstack before
calls to init_options_struct.
(toplev::finalize): Move cleanup of opts_obstack next to
cleanup of save_decoded_options, clearing the latter, and
save_decoded_options_count.

From-SVN: r232567

8 years ago[ARM] PR target/69135: Mark ARMv8 vcvt instructions as unconditional
Kyrylo Tkachov [Tue, 19 Jan 2016 14:30:23 +0000 (14:30 +0000)]
[ARM] PR target/69135: Mark ARMv8 vcvt instructions as unconditional

PR target/69135
* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
attribute to unconditional.  Remove %? from output template.

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

From-SVN: r232566

8 years ago[PATCH 4/4] Add CCMP selection based on rtx costs
Wilco Dijkstra [Tue, 19 Jan 2016 14:14:56 +0000 (14:14 +0000)]
[PATCH 4/4] Add CCMP selection based on rtx costs

    2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
Jiong Wang  <jiong.wang@arm.com>

    gcc/
* ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
generated from different expand order.

    gcc/testsuite/
        * gcc.target/aarch64/ccmp_1.c: Add new tests.

Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
From-SVN: r232565

8 years ago[PATCH 3/4] Add support for rtx costing of CCMP on AArch64
Wilco Dijkstra [Tue, 19 Jan 2016 14:10:49 +0000 (14:10 +0000)]
[PATCH 3/4] Add support for rtx costing of CCMP on AArch64

    2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
        * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
        Add support for CCMP costing.

From-SVN: r232564

8 years ago[PATCH 2/4] Add support for float CCMP
Wilco Dijkstra [Tue, 19 Jan 2016 14:09:49 +0000 (14:09 +0000)]
[PATCH 2/4] Add support for float CCMP

    2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
        * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
        * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
        (fccmpe<mode>): Likewise.
        (fcmp): Rename to fcmp and globalize pattern.
        (fcmpe): Likewise.
        * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
        (aarch64_gen_ccmp_next): Add FP support.

    gcc/testsuite/

        * gcc.target/aarch64/ccmp_1.c: New testcase.

From-SVN: r232563

8 years agore PR c++/68586 (Enum template parameter wrongly rejected)
Marek Polacek [Tue, 19 Jan 2016 14:02:40 +0000 (14:02 +0000)]
re PR c++/68586 (Enum template parameter wrongly rejected)

PR c++/68586
* constexpr.c (clear_cv_cache): New.
* cp-gimplify.c (clear_fold_cache): New.
* cp-tree.h (clear_cv_cache, clear_fold_cache): Declare.
* decl.c (finish_enum_value_list): Call them.

* g++.dg/cpp0x/enum30.C: New test.

From-SVN: r232562

8 years ago[Patch 1/4] Simplify the representation of CCMP patterns by using
Wilco Dijkstra [Tue, 19 Jan 2016 13:59:56 +0000 (13:59 +0000)]
[Patch 1/4] Simplify the representation of CCMP patterns by using

    2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
        * target.def (gen_ccmp_first): Update documentation.
        (gen_ccmp_next): Likewise.
        * doc/tm.texi (gen_ccmp_first): Update documentation.
        (gen_ccmp_next): Likewise.
        * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
        expand_ccmp_expr_1.  Improve comments.
        * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
        (ccmp_ior<mode>): Remove pattern.
        (cmp<mode>): Remove expand.
        (cmp): Globalize pattern.
        (cstorecc4): Use cc_register.
        (mov<mode>cc): Remove ccmp_cc_register check.
        * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
        Simplify after removal of CC_DNE/* modes.
        (aarch64_ccmp_mode_to_code): Remove.
        (aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
        In 'k' case use integer as condition.
        (aarch64_nzcv_codes): Remove inverted cases.
        (aarch64_code_to_ccmode): Remove.
        (aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
        comparison with CC register to be used in folowing CCMP/branch/CSEL.
        (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
        pattern.  Return the comparison with CC register.  Invert conditions
        when bitcode is OR.
        * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
        * config/aarch64/predicates.md (ccmp_cc_register): Remove.

From-SVN: r232561

8 years agocgraphunit.c (cgraph_node::reset): Clear thunk info and instrumented_version.
Jan Hubicka [Tue, 19 Jan 2016 13:28:32 +0000 (14:28 +0100)]
cgraphunit.c (cgraph_node::reset): Clear thunk info and instrumented_version.

* cgraphunit.c (cgraph_node::reset): Clear thunk info and
instrumented_version.

From-SVN: r232560

8 years agore PR tree-optimization/69336 (Constant value not detected)
Richard Biener [Tue, 19 Jan 2016 13:27:11 +0000 (13:27 +0000)]
re PR tree-optimization/69336 (Constant value not detected)

2016-01-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69336
* tree-ssa-scopedtables.c (avail_expr_hash): Handle all
handled components with get_ref_base_and_extent.
(equal_mem_array_ref_p): Adjust.

* g++.dg/tree-ssa/pr69336.C: New testcase.

From-SVN: r232559

8 years agore PR debug/65779 (undefined local symbol on powerpc [regression])
Jakub Jelinek [Tue, 19 Jan 2016 13:21:04 +0000 (14:21 +0100)]
re PR debug/65779 (undefined local symbol on powerpc [regression])

PR debug/65779
* shrink-wrap.c: Include valtrack.h.
(move_insn_for_shrink_wrap): Add DEBUG argument.  If
MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
in between insn and where it will be moved to.  Call
dead_debug_insert_temp.
(prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
first and dead_debug_local_finish at the end.
For uses and defs bitmap, handle all regs in between REGNO and
END_REGNO, not just the first one.

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

From-SVN: r232558

8 years agore PR tree-optimization/69352 (profiledbootstrap failure with --with-build-config...
Richard Biener [Tue, 19 Jan 2016 13:19:01 +0000 (13:19 +0000)]
re PR tree-optimization/69352 (profiledbootstrap failure with --with-build-config=bootstrap-lto)

2016-01-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69352
* tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
(equal_mem_array_ref_p): Constrain size and max size properly.
Compare the reverse flag.

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

From-SVN: r232557

8 years ago* ira.c (ira): Update regstat data if we deleted insns.
Bernd Schmidt [Tue, 19 Jan 2016 13:02:17 +0000 (13:02 +0000)]
* ira.c (ira): Update regstat data if we deleted insns.

From-SVN: r232556

8 years agore PR sanitizer/68824 (libtsan is missing the __interceptor___tls_get_addr symbol...
Jakub Jelinek [Tue, 19 Jan 2016 12:45:54 +0000 (13:45 +0100)]
re PR sanitizer/68824 (libtsan is missing the __interceptor___tls_get_addr symbol without bumping the soname)

PR sanitizer/68824
* tsan/tsan_interceptors.cc (NEED_TLS_GET_ADDR, __tls_get_addr,
InitializeInterceptors): Cherry pick upstream r258119.

From-SVN: r232555

8 years agore PR rtl-optimization/68955 (wrong code at -O3 on x86-64-linux-gnu in 32-bit mode)
Jakub Jelinek [Tue, 19 Jan 2016 12:34:45 +0000 (13:34 +0100)]
re PR rtl-optimization/68955 (wrong code at -O3 on x86-64-linux-gnu in 32-bit mode)

PR rtl-optimization/68955
PR rtl-optimization/64557
* dse.c (record_store, check_mem_read_rtx): Don't call get_addr
here.  Fix up formatting.
* alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.

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

From-SVN: r232554

8 years agore PR lto/69136 (ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991)
Jan Hubicka [Tue, 19 Jan 2016 11:59:58 +0000 (12:59 +0100)]
re PR lto/69136 (ICE in lto_symtab_prevailing_virtual_decl, at lto/lto-symtab.c:991)

PR lto/69136
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
decls have no assemblernames.
* g++.dg/torture/pr69136.C: New testcase.

From-SVN: r232553

8 years agore PR lto/69133 (LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with...
Jan Hubicka [Tue, 19 Jan 2016 11:57:41 +0000 (12:57 +0100)]
re PR lto/69133 (LTO segfault in lto_get_decl_name_mapping() on 483.xalancbmk with -flto-partition=none)

PR lto/69133
* cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
assume that the node has body.
* cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
check.
* g++.dg/lto/pr69133_0.C: New testcase.
* g++.dg/lto/pr69133_1.C: New testcase.

From-SVN: r232552

8 years agolto-streamer-out.c (lto_output): Do not stream instrumentation thunks.
Jan Hubicka [Tue, 19 Jan 2016 11:55:10 +0000 (12:55 +0100)]
lto-streamer-out.c (lto_output): Do not stream instrumentation thunks.

* lto-streamer-out.c (lto_output): Do not stream instrumentation
thunks.

From-SVN: r232551

8 years agosymtab.c (symtab_node::asm_name): Do not call printable name directly.
Jan Hubicka [Tue, 19 Jan 2016 11:51:18 +0000 (12:51 +0100)]
symtab.c (symtab_node::asm_name): Do not call printable name directly.

* symtab.c (symtab_node::asm_name): Do not call printable name directly.
(symtab_node::name): Report name as unnamed if DECL_NAME is not set.

From-SVN: r232550

8 years agoMerge of HSA
Martin Jambor [Tue, 19 Jan 2016 10:35:10 +0000 (11:35 +0100)]
Merge of HSA

2016-01-19  Martin Jambor  <mjambor@suse.cz>
    Martin Liska  <mliska@suse.cz>
    Michael Matz <matz@suse.de>

libgomp/
* plugin/Makefrag.am: Add HSA plugin requirements.
* plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
(HSA_RUNTIME_LIB): Likewise.
(HSA_RUNTIME_CPPFLAGS): Likewise.
(HSA_RUNTIME_INCLUDE): New substitution.
(HSA_RUNTIME_LIB): Likewise.
(HSA_RUNTIME_LDFLAGS): Likewise.
(hsa-runtime): New configure option.
(hsa-runtime-include): Likewise.
(hsa-runtime-lib): Likewise.
(PLUGIN_HSA): New substitution variable.
Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
configure options.
(PLUGIN_HSA_CPPFLAGS): Likewise.
(PLUGIN_HSA_LDFLAGS): Likewise.
(PLUGIN_HSA_LIBS): Likewise.
Check that we have access to HSA run-time.
* libgomp-plugin.h (offload_target_type): New element
OFFLOAD_TARGET_TYPE_HSA.
* libgomp.h (gomp_target_task): New fields firstprivate_copies and
args.
(bool gomp_create_target_task): Updated.
(gomp_device_descr): Extra parameter of run_func and async_run_func,
new field can_run_func.
* libgomp_g.h (GOMP_target_ext): Update prototype.
* oacc-host.c (host_run): Added a new parameter args.
* target.c (calculate_firstprivate_requirements): New function.
(copy_firstprivate_data): Likewise.
(gomp_target_fallback_firstprivate): Use them.
(gomp_target_unshare_firstprivate): New function.
(gomp_get_target_fn_addr): Allow returning NULL for shared memory
devices.
(GOMP_target): Do host fallback for all shared memory devices.  Do not
pass any args to plugins.
(GOMP_target_ext): Introduce device-specific argument parameter args.
Allow host fallback if device shares memory.  Do not remap data if
device has shared memory.
(gomp_target_task_fn): Likewise.  Also treat shared memory devices
like host fallback for mappings.
(GOMP_target_data): Treat shared memory devices like host fallback.
(GOMP_target_data_ext): Likewise.
(GOMP_target_update): Likewise.
(GOMP_target_update_ext): Likewise.  Also pass NULL as args to
gomp_create_target_task.
(GOMP_target_enter_exit_data): Likewise.
(omp_target_alloc): Treat shared memory devices like host fallback.
(omp_target_free): Likewise.
(omp_target_is_present): Likewise.
(omp_target_memcpy): Likewise.
(omp_target_memcpy_rect): Likewise.
(omp_target_associate_ptr): Likewise.
(gomp_load_plugin_for_device): Also load can_run.
* task.c (GOMP_PLUGIN_target_task_completion): Free
firstprivate_copies.
(gomp_create_target_task): Accept new argument args and store it to
ttask.
* plugin/plugin-hsa.c: New file.

gcc/
* Makefile.in (OBJS): Add new source files.
(GTFILES): Add hsa.c.
* common.opt (disable_hsa): New variable.
(-Whsa): New warning.
* config.in (ENABLE_HSA): New.
* configure.ac: Treat hsa differently from other accelerators.
(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
$enable_offloading.
(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
* doc/install.texi (Configuration): Document --with-hsa-runtime,
--with-hsa-runtime-include, --with-hsa-runtime-lib and
--with-hsa-kmt-lib.
* doc/invoke.texi (-Whsa): Document.
(hsa-gen-debug-stores): Likewise.
* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
to invoke offload compiler for hsa acclerator.
* opts.c (common_handle_option): Determine whether HSA offloading
should be performed.
* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
GF_OMP_FOR_KIND_GRID_LOOP.
(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
(pp_gimple_stmt_1): Likewise.
* gimple-walk.c (walk_gimple_stmt): Likewise.
* gimple.c (gimple_build_omp_grid_body): New function.
(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
* gimple.def (GIMPLE_OMP_GRID_BODY): New.
* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
GF_OMP_TEAMS_GRID_PHONY.
(gimple_statement_omp_single_layout): Updated comments.
(gimple_build_omp_grid_body): New function.
(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
(gimple_omp_for_grid_phony): New function.
(gimple_omp_for_set_grid_phony): Likewise.
(gimple_omp_parallel_grid_phony): Likewise.
(gimple_omp_parallel_set_grid_phony): Likewise.
(gimple_omp_teams_grid_phony): Likewise.
(gimple_omp_teams_set_grid_phony): Likewise.
(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
(BUILT_IN_GOMP_TARGET): Updated type.
* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
(adjust_for_condition): New function.
(get_omp_for_step_from_incr): Likewise.
(extract_omp_for_data): Moved parts to adjust_for_condition and
get_omp_for_step_from_incr.
(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
(fixup_child_record_type): Bail out if receiver_decl is NULL.
(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
(scan_omp_parallel): Do not create child functions for phony
constructs.
(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
(scan_omp_1_op): Checking assert we are not remapping to
ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
(parallel_needs_hsa_kernel_p): New function.
(expand_parallel_call): Register apprpriate parallel child
functions as HSA kernels.
(grid_launch_attributes_trees): New type.
(grid_attr_trees): New variable.
(grid_create_kernel_launch_attr_types): New function.
(grid_insert_store_range_dim): Likewise.
(grid_get_kernel_launch_attributes): Likewise.
(get_target_argument_identifier_1): Likewise.
(get_target_argument_identifier): Likewise.
(get_target_argument_value): Likewise.
(push_target_argument_according_to_value): Likewise.
(get_target_arguments): Likewise.
(expand_omp_target): Call get_target_arguments instead of looking
up for teams and thread limit.
(grid_expand_omp_for_loop): New function.
(grid_arg_decl_map): New type.
(grid_remap_kernel_arg_accesses): New function.
(grid_expand_target_kernel_body): New function.
(expand_omp): Call it.
(lower_omp_for): Do not emit phony constructs.
(lower_omp_taskreg): Do not emit phony constructs but create for them
a temporary variable receiver_decl.
(lower_omp_taskreg): Do not emit phony constructs.
(lower_omp_teams): Likewise.
(lower_omp_grid_body): New function.
(lower_omp_1): Call it.
(grid_reg_assignment_to_local_var_p): New function.
(grid_seq_only_contains_local_assignments): Likewise.
(grid_find_single_omp_among_assignments_1): Likewise.
(grid_find_single_omp_among_assignments): Likewise.
(grid_find_ungridifiable_statement): Likewise.
(grid_target_follows_gridifiable_pattern): Likewise.
(grid_remap_prebody_decls): Likewise.
(grid_copy_leading_local_assignments): Likewise.
(grid_process_kernel_body_copy): Likewise.
(grid_attempt_target_gridification): Likewise.
(grid_gridify_all_targets_stmt): Likewise.
(grid_gridify_all_targets): Likewise.
(execute_lower_omp): Call grid_gridify_all_targets.
(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
(tree_omp_clause): Added union field dimension.
* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
* tree.c (omp_clause_num_ops): Added number of arguments of
OMP_CLAUSE__GRIDDIM_.
(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
* tree-pass.h (make_pass_gen_hsail): Declare.
(make_pass_ipa_hsa): Likewise.
* ipa-hsa.c: New file.
* lto-section-in.c (lto_section_name): Add hsa section name.
* lto-streamer.h (lto_section_type): Add hsa section.
* timevar.def (TV_IPA_HSA): New.
        * hsa-brig-format.h: New file.
* hsa-brig.c: New file.
* hsa-dump.c: Likewise.
* hsa-gen.c: Likewise.
* hsa.c: Likewise.
* hsa.h: Likewise.
* toplev.c (compile_file): Call hsa_output_brig.
* hsa-regalloc.c: New file.

gcc/fortran/
* types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.

gcc/lto/
* lto-partition.c: Include "hsa.h"
(add_symbol_to_partition_1): Put hsa implementations into the
same partition as host implementations.

liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_async_run): New
unused parameter.
(GOMP_OFFLOAD_run): Likewise.

include/
* gomp-constants.h (GOMP_DEVICE_HSA): New macro.
(GOMP_VERSION_HSA): Likewise.
(GOMP_TARGET_ARG_DEVICE_MASK): Likewise.
(GOMP_TARGET_ARG_DEVICE_ALL): Likewise.
(GOMP_TARGET_ARG_SUBSEQUENT_PARAM): Likewise.
(GOMP_TARGET_ARG_ID_MASK): Likewise.
(GOMP_TARGET_ARG_NUM_TEAMS): Likewise.
(GOMP_TARGET_ARG_THREAD_LIMIT): Likewise.
(GOMP_TARGET_ARG_VALUE_SHIFT): Likewise.
(GOMP_TARGET_ARG_HSA_KERNEL_ATTRIBUTES): Likewise.

From-SVN: r232549

8 years agore PR tree-optimization/69320 (wrong code generation at -O2 and higher)
Jeff Law [Tue, 19 Jan 2016 06:43:54 +0000 (23:43 -0700)]
re PR tree-optimization/69320 (wrong code generation at -O2 and higher)

2016-01-18  Jeff Law  <law@redhat.com>

PR tree-optimization/69320
* tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
ranged object, do nothing if the RHS constant is not [0..1].
(optimize_stmt): Comparing a boolean ranged object against a
constant outside [0..1] results in a compile-time constant.

* tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
test.

PR tree-optimization/69320
* gcc.c-torture/pr69320-1.c: New test.
* gcc.c-torture/pr69320-2.c: New test.
* gcc.c-torture/pr69320-3.c: New test.
* gcc.c-torture/pr69320-4.c: New test.

From-SVN: r232548

8 years agoFix the remaining PR c++/24666 blockers (arrays decay to pointers too early)
Patrick Palka [Tue, 19 Jan 2016 00:19:16 +0000 (00:19 +0000)]
Fix the remaining PR c++/24666 blockers (arrays decay to pointers too early)

gcc/cp/ChangeLog:

PR c++/11858
PR c++/24663
PR c++/24664
* decl.c (grokdeclarator): Don't decay array parameter type to
a pointer type if it's dependent.
(grokparms): Invoke strip_top_quals instead of directly invoking
cp_build_qualified_type.
* pt.c (decay_dependent_array_parm_type): New static function.
(type_unification_real): Call decay_dependent_array_parm_type
to decay a dependent array parameter type to its corresponding
pointer type before unification.
(more_specialized_fn): Likewise.
(get_bindings): Likewise.
* tree.c (cp_build_qualified_type): Trivial typofix in
documentation.

gcc/testsuite/ChangeLog:

PR c++/11858
PR c++/24663
PR c++/24664
* g++.dg/template/pr11858.C: New test.
* g++.dg/template/pr24663.C: New test.
* g++.dg/template/unify12.C: New test.
* g++.dg/template/unify13.C: New test.
* g++.dg/template/unify14.C: New test.
* g++.dg/template/unify15.C: New test.
* g++.dg/template/unify16.C: New test.
* g++.dg/template/unify17.C: New test.

From-SVN: r232547

8 years agoDaily bump.
GCC Administrator [Tue, 19 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232546

8 years agoinvoke.texi (Invoking GCC): Add new section to menu.
Sandra Loosemore [Mon, 18 Jan 2016 22:47:09 +0000 (17:47 -0500)]
invoke.texi (Invoking GCC): Add new section to menu.

2016-01-18  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Invoking GCC): Add new section to menu.
(Option Summary): Update to reflect new section and moved options.
(C++ Dialect Options): Move -fstats to new section.
(Debugging Options): Move all dump, statistics, and other GCC
developer options to new section.  Rewrite section introduction
and re-order remaining options to put the more basic ones first.
(Optimization Options): Move -fira-verbose and -flto-report* to
new section.
(Developer Options): New section incorporating moved options.
* doc/cppopts.texi (-dM): Update cross-reference.

From-SVN: r232541

8 years agore PR target/69176 (ICE in in final_scan_insn, at final.c:2981 on aarch64-linux-gnu)
Richard Henderson [Mon, 18 Jan 2016 20:56:13 +0000 (12:56 -0800)]
re PR target/69176 (ICE in in final_scan_insn, at final.c:2981 on aarch64-linux-gnu)

PR target/69176

  * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
  operands to pseudo only if CSE is expected.  Split long immediate
  operands only after reload, and for the stack pointer.
  (*add<GPI>3_pluslong): Remove.
  (*addsi3_aarch64, *adddi3_aarch64): Merge into...
  (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
  (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
  (*add<GPI>3 peepholes): New.
  (*add<GPI>3 splitters): New.
  * config/aarch64/constraints.md (Upl): New.
  * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.

From-SVN: r232540

8 years agolibstdc++: Fix usage of __GXX_WEAK__ in TM TS support.
Torvald Riegel [Mon, 18 Jan 2016 20:09:55 +0000 (20:09 +0000)]
libstdc++: Fix usage of __GXX_WEAK__ in TM TS support.

* include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
(_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
and move after its definition.
* config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
* src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
__GXX_WEAK__, and only provide transactional clones if
_GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
functions.

From-SVN: r232539

8 years agompx_wrappers.c (__mpx_wrapper_memmove): Avoid -Wdiscarded-qualifiers warning.
Jakub Jelinek [Mon, 18 Jan 2016 19:36:02 +0000 (20:36 +0100)]
mpx_wrappers.c (__mpx_wrapper_memmove): Avoid -Wdiscarded-qualifiers warning.

* mpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Avoid
-Wdiscarded-qualifiers warning.  Fix up formatting.

From-SVN: r232537

8 years agoPR testsuite/69181: ensure expected multiline outputs is cleared per-test
David Malcolm [Mon, 18 Jan 2016 17:26:58 +0000 (17:26 +0000)]
PR testsuite/69181: ensure expected multiline outputs is cleared per-test

gcc/testsuite/ChangeLog:
PR testsuite/69181
* gcc.dg/pr69181-1.c: New test file.
* gcc.dg/pr69181-2.c: New test file.
* lib/gcc-dg.exp (dg-test): Consolidate post-test cleanup of
globals by moving it to...
(cleanup-after-saved-dg-test): ...this new function.  Add
"global additional_sources_used".  Add reset of global
multiline_expected_outputs to the empty list.
* lib/multiline.exp (_multiline_expected_outputs): Rename this
global to...
(multiline_expected_outputs): ...this, and updated comments to
note that it is modified from gcc-dg.exp.
(dg-end-multiline-output): Update for the above renaming.
(handle-multiline-outputs): Likewise.  Remove the clearing
of the expected outputs to the empty list.

From-SVN: r232535

8 years agoAdd test for PR 60637
Jonathan Wakely [Mon, 18 Jan 2016 17:15:42 +0000 (17:15 +0000)]
Add test for PR 60637

PR libstdc++/60637
* testsuite/26_numerics/headers/cmath/60637.cc: Add test.

From-SVN: r232534

8 years agore PR lto/69003 (Undefined reference with gcc -r incremental linking)
Jan Hubicka [Mon, 18 Jan 2016 15:58:06 +0000 (16:58 +0100)]
re PR lto/69003 (Undefined reference with gcc -r incremental linking)

PR lto/69003
* lto-partition.c (rename_statics): Fix pasto.

From-SVN: r232525

8 years ago* cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.
Jason Merrill [Mon, 18 Jan 2016 15:54:26 +0000 (10:54 -0500)]
* cp-gimplify.c (cp_fold) [CONSTRUCTOR]: Don't clobber the input.

From-SVN: r232524

8 years ago* cp-gimplify.c (cp_fold): Remove unnecessary special cases.
Jason Merrill [Mon, 18 Jan 2016 15:54:20 +0000 (10:54 -0500)]
* cp-gimplify.c (cp_fold): Remove unnecessary special cases.

From-SVN: r232523

8 years agore PR c++/68767 (spurious warning: null argument where non-null required)
Jason Merrill [Mon, 18 Jan 2016 15:54:14 +0000 (10:54 -0500)]
re PR c++/68767 (spurious warning: null argument where non-null required)

PR c++/68767
gcc/c-family/
* c-common.c (check_function_arguments_recurse): Fold the whole
COND_EXPR, not just the condition.
gcc/cp/
* cp-gimplify.c (cp_fold) [COND_EXPR]: Simplify.  Do fold COND_EXPR.
(contains_label_1, contains_label_p): Remove.

From-SVN: r232522

8 years agoIgnore reduction clause on kernels directive
Tom de Vries [Mon, 18 Jan 2016 14:48:26 +0000 (14:48 +0000)]
Ignore reduction clause on kernels directive

2016-01-18  Tom de Vries  <tom@codesourcery.com>

* c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
classify as loop clause.

From-SVN: r232521

8 years agore PR tree-optimization/69297 (Performance regression after r230020)
Richard Biener [Mon, 18 Jan 2016 14:25:56 +0000 (14:25 +0000)]
re PR tree-optimization/69297 (Performance regression after r230020)

2016-01-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69297
* tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
stmt at most once.
(vect_bb_vectorization_profitable_p): Clear visited flag again.

* gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c: New testcase.

From-SVN: r232519

8 years agore PR middle-end/68542 (10% 481.wrf performance regression)
Yuri Rumyantsev [Mon, 18 Jan 2016 14:14:35 +0000 (14:14 +0000)]
re PR middle-end/68542 (10% 481.wrf performance regression)

gcc/

2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR middle-end/68542
* fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
of mixind vector and scalar types.
(fold_relational_const): Add handling of vector
comparison with boolean result.
* tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
comparison of vector operands with boolean result for EQ/NE only.
(verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
(verify_gimple_cond): Likewise.
* tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
valid type of VAL.

From-SVN: r232518

8 years agoHandle Octeon 3 not supporting MIPS paired-single instructions.
Joseph Myers [Mon, 18 Jan 2016 13:30:43 +0000 (13:30 +0000)]
Handle Octeon 3 not supporting MIPS paired-single instructions.

The Octeon 3 processor does not support the MIPS paired-single
instructions.  This results in illegal instruction errors in the
testsuite when vectorization tests try to use those instructions.

This patch teaches the compiler about that lack of support, so that
warnings are given when -mpaired-single (or something implying it) is
used when compiling for such a processor.  I chose to test
TARGET_OCTEON as the simplest conditional; since the older Octeon
processors don't support hard float at all, I don't think the choice
matters for them.  Tests that then failed with the warning were
updated to disable them for Octeon.

Tested with no regressions for cross to mips64el-linux-gnu (Octeon
3).

gcc:
* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
!TARGET_OCTEON.

gcc/testsuite:
* gcc.target/mips/mips-3d-1.c: Use forbid_cpu=octeon.* in
dg-options.
* gcc.target/mips/mips-3d-2.c: Likewise.
* gcc.target/mips/mips-3d-3.c: Likewise.
* gcc.target/mips/mips-3d-4.c: Likewise.
* gcc.target/mips/mips-3d-5.c: Likewise.
* gcc.target/mips/mips-3d-6.c: Likewise.
* gcc.target/mips/mips-3d-7.c: Likewise.
* gcc.target/mips/mips-3d-8.c: Likewise.
* gcc.target/mips/mips-3d-9.c: Likewise.
* gcc.target/mips/mips-ps-1.c: Likewise.
* gcc.target/mips/mips-ps-2.c: Likewise.
* gcc.target/mips/mips-ps-3.c: Likewise.
* gcc.target/mips/mips-ps-4.c: Likewise.
* gcc.target/mips/mips-ps-5.c: Likewise.
* gcc.target/mips/mips-ps-6.c: Likewise.
* gcc.target/mips/mips-ps-7.c: Likewise.
* gcc.target/mips/mips-ps-type.c: Likewise.
* gcc.target/mips/mips-ps-type-2.c: Likewise.
* gcc.target/mips/mips16-attributes-6.c: Likewise.

From-SVN: r232517

8 years agore PR tree-optimization/69308 (ifcombine joins together floating point expression...
Richard Biener [Mon, 18 Jan 2016 13:03:54 +0000 (13:03 +0000)]
re PR tree-optimization/69308 (ifcombine joins together floating point expression with side effects)

2016-01-18  Richard Biener  <rguenther@suse.de>

PR middle-end/69308
* gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.

From-SVN: r232516

8 years agoAdd oacc kernels test in libgomp
Tom de Vries [Mon, 18 Jan 2016 12:53:03 +0000 (12:53 +0000)]
Add oacc kernels test in libgomp

2016-01-18  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
Same.
* testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.

From-SVN: r232515

8 years agoAdd oacc kernels tests in goacc
Tom de Vries [Mon, 18 Jan 2016 12:52:53 +0000 (12:52 +0000)]
Add oacc kernels tests in goacc

2016-01-18  Tom de Vries  <tom@codesourcery.com>

* c-c++-common/goacc/kernels-counter-vars-function-scope.c: New test.
* c-c++-common/goacc/kernels-double-reduction.c: New test.
* c-c++-common/goacc/kernels-empty.c: New test.
* c-c++-common/goacc/kernels-eternal.c: New test.
* c-c++-common/goacc/kernels-loop-2.c: New test.
* c-c++-common/goacc/kernels-loop-3.c: New test.
* c-c++-common/goacc/kernels-loop-data-2.c: New test.
* c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: New test.
* c-c++-common/goacc/kernels-loop-data-enter-exit.c: New test.
* c-c++-common/goacc/kernels-loop-data-update.c: New test.
* c-c++-common/goacc/kernels-loop-data.c: New test.
* c-c++-common/goacc/kernels-loop-g.c: New test.
* c-c++-common/goacc/kernels-loop-mod-not-zero.c: New test.
* c-c++-common/goacc/kernels-loop-n.c: New test.
* c-c++-common/goacc/kernels-loop-nest.c: New test.
* c-c++-common/goacc/kernels-loop.c: New test.
* c-c++-common/goacc/kernels-noreturn.c: New test.
* c-c++-common/goacc/kernels-one-counter-var.c: New test.
* c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: New test.
* c-c++-common/goacc/kernels-reduction.c: New test.

From-SVN: r232514

8 years agoAdd pass_parallelize_loops to pass_oacc_kernels
Tom de Vries [Mon, 18 Jan 2016 12:52:42 +0000 (12:52 +0000)]
Add pass_parallelize_loops to pass_oacc_kernels

2016-01-18  Tom de Vries  <tom@codesourcery.com>

* passes.def: Add pass_parallelize_loops to pass_oacc_kernels.

* gcc.dg/autopar/outer-1.c: Update for new parloops instantiation.
* gcc.dg/autopar/outer-2.c: Same.
* gcc.dg/autopar/outer-3.c: Same.
* gcc.dg/autopar/outer-4.c: Same.
* gcc.dg/autopar/outer-5.c: Same.
* gcc.dg/autopar/outer-6.c: Same.
* gcc.dg/autopar/parallelization-1.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-2.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt.c: Same.
* gcc.dg/autopar/pr39500-1.c: Same.
* gcc.dg/autopar/pr39500-2.c: Same.
* gcc.dg/autopar/pr46193.c: Same.
* gcc.dg/autopar/pr46194.c: Same.
* gcc.dg/autopar/pr49580.c: Same.
* gcc.dg/autopar/pr49960-1.c: Same.
* gcc.dg/autopar/pr49960.c: Same.
* gcc.dg/autopar/pr68373.c: Same.
* gcc.dg/autopar/reduc-1.c: Same.
* gcc.dg/autopar/reduc-1char.c: Same.
* gcc.dg/autopar/reduc-1short.c: Same.
* gcc.dg/autopar/reduc-2.c: Same.
* gcc.dg/autopar/reduc-2char.c: Same.
* gcc.dg/autopar/reduc-2short.c: Same.
* gcc.dg/autopar/reduc-3.c: Same.
* gcc.dg/autopar/reduc-4.c: Same.
* gcc.dg/autopar/reduc-6.c: Same.
* gcc.dg/autopar/reduc-7.c: Same.
* gcc.dg/autopar/reduc-8.c: Same.
* gcc.dg/autopar/reduc-9.c: Same.
* gcc.dg/autopar/uns-outer-4.c: Same.
* gcc.dg/autopar/uns-outer-5.c: Same.
* gcc.dg/autopar/uns-outer-6.c: Same.
* gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
* gfortran.dg/parloops-exit-first-loop-alt.f95: Same.

From-SVN: r232513

8 years agoAdd oacc_kernels_p argument to pass_parallelize_loops
Tom de Vries [Mon, 18 Jan 2016 12:52:32 +0000 (12:52 +0000)]
Add oacc_kernels_p argument to pass_parallelize_loops

2016-01-18  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (set_oacc_fn_attrib): Make extern.
* omp-low.h (set_oacc_fn_attrib): Declare.
* tree-parloops.c (struct reduction_info): Add reduc_addr field.
(create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
(create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
Add and handle function parameter oacc_kernels_p.
(find_reduc_addr, get_omp_data_i_param): New function.
(ref_conflicts_with_region, oacc_entry_exit_ok_1)
(oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
(parallelize_loops): Add and handle function parameter oacc_kernels_p.
Calculate dominance info.  Skip loops that are not in a kernels region
in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
(pass_parallelize_loops::execute): Call parallelize_loops with
oacc_kernels_p argument.
(pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
New member function.
(pass_parallelize_loops::bool oacc_kernels_p): New member var.
* passes.def: Add argument to pass_parallelize_loops instantation.

From-SVN: r232512

8 years agoAllow pass_parallelize_loops to be run outside the loop pipeline
Tom de Vries [Mon, 18 Jan 2016 12:52:23 +0000 (12:52 +0000)]
Allow pass_parallelize_loops to be run outside the loop pipeline

2016-01-18  Tom de Vries  <tom@codesourcery.com>

* tree-parloops.c (pass_parallelize_loops::execute): Allow
pass_parallelize_loops to be run outside the loop pipeline.

From-SVN: r232511

8 years agoUn-XFAIL ssa-dom-cse-2.c for most platforms
Alan Lawrence [Mon, 18 Jan 2016 12:51:36 +0000 (12:51 +0000)]
Un-XFAIL ssa-dom-cse-2.c for most platforms

* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove XFAIL for powerpc(32), hppa,
aarch64, sparc, s390. Add --param sra-max-scalarization-size-Ospeed.

From-SVN: r232510

8 years agoEnhance SCEV to follow copies of SSA_NAMEs.
Alan Lawrence [Mon, 18 Jan 2016 12:46:54 +0000 (12:46 +0000)]
Enhance SCEV to follow copies of SSA_NAMEs.

(Fixes missed vectorization of gcc.dg/vect/pr65947-2.c.)

        * tree-scalar-evolution.c (follow_copies_to_constant): New.
        (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.

From-SVN: r232509

8 years agoEquate MEM_REFs and ARRAY_REFs in tree-ssa-scopedtables.c
Alan Lawrence [Mon, 18 Jan 2016 12:40:43 +0000 (12:40 +0000)]
Equate MEM_REFs and ARRAY_REFs in tree-ssa-scopedtables.c

PR target/63679

gcc/:

* tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
using get_ref_base_and_extent.
(equal_mem_array_ref_p): New.
(hashable_expr_equal_p): Add call to previous.

gcc/testsuite/:

        * gcc.dg/tree-ssa/ssa-dom-cse-5.c: New.
        * gcc.dg/tree-ssa/ssa-dom-cse-6.c: New.
        * gcc.dg/tree-ssa/ssa-dom-cse-7.c: New.

From-SVN: r232508

8 years agoFix PR number in changelog for commit r232504
Jonathan Wakely [Mon, 18 Jan 2016 12:34:22 +0000 (12:34 +0000)]
Fix PR number in changelog for commit r232504

From-SVN: r232507

8 years agoMake SRA scalarize constant-pool loads
Alan Lawrence [Mon, 18 Jan 2016 12:29:02 +0000 (12:29 +0000)]
Make SRA scalarize constant-pool loads

PR target/63679

gcc/ChangeLog:

* tree-sra.c (disqualified_constants, constant_decl_p): New.
(sra_initialize): Allocate disqualified_constants.
(sra_deinitialize): Free disqualified_constants.
(disqualify_candidate): Update disqualified_constants when appropriate.
(create_access): Scan for constant-pool entries as we go along.
(scalarizable_type_p): Add check against type_contains_placeholder_p.
(maybe_add_sra_candidate): Allow constant-pool entries.
(load_assign_lhs_subreplacements): Bind debug for constant pool vars.
(initialize_constant_pool_replacements): New.
(sra_modify_assign): Avoid mangling assignments created by previous,
and don't generate writes into constant pool.
(sra_modify_function_body): Call initialize_constant_pool_replacements.

gcc/testsuite/:

* gcc.dg/tree-ssa/sra-17.c: New.
* gcc.dg/tree-ssa/sra-18.c: New.

From-SVN: r232506

8 years agore PR lto/69337 (Internal compiler error fortran c lto)
Richard Biener [Mon, 18 Jan 2016 12:19:31 +0000 (12:19 +0000)]
re PR lto/69337 (Internal compiler error fortran c lto)

2016-01-18  Richard Biener  <rguenther@suse.de>

PR lto/69337
* lto-symtab.c (lto_symtab_merge): Return early for mismatched
function vs. variable.

From-SVN: r232505

8 years agoFix construction of std::function from null pointer-to-member
Jonathan Wakely [Mon, 18 Jan 2016 11:43:37 +0000 (11:43 +0000)]
Fix construction of std::function from null pointer-to-member

PR libstdc++/69293
* include/std/functional (_Function_base::_M_not_empty_function):
Change overloads for pointers to take arguments by value.
* testsuite/20_util/function/cons/57465.cc: Add tests for
pointer-to-member cases.

From-SVN: r232504

8 years agogigi.h (build_call_raise_column): Adjust prototype.
Eric Botcazou [Mon, 18 Jan 2016 11:29:00 +0000 (11:29 +0000)]
gigi.h (build_call_raise_column): Adjust prototype.

* gcc-interface/gigi.h (build_call_raise_column): Adjust prototype.
(build_call_raise_range): Likewise.
(gnat_unsigned_type): Delete.
(gnat_signed_type): Likewise.
(gnat_signed_or_unsigned_type_for): New prototype.
(gnat_unsigned_type_for): New inline function.
(gnat_signed_type_for): Likewise.
* gcc-interface/cuintp.c (build_cst_from_int): Call build_int_cst.
* gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
(gnat_to_gnu_entity) <E_Array_Type>: Always translate the index types
and compute their base type from that.
<E_Array_Subtype>: Remove duplicate declaration.
* gcc-interface/misc.c (get_array_bit_stride): Call build_int_cst.
* gcc-interface/trans.c (get_type_length): Likewise.
(Attribute_to_gnu): Likewise.
(Loop_Statement_to_gnu): Likewise.
(Call_to_gnu): Likewise.
(gnat_to_gnu): Call build_real, build_int_cst, gnat_unsigned_type_for
and gnat_signed_type_for.  Minor tweaks.
(build_binary_op_trapv): Likewise.
(emit_check): Likewise.
(convert_with_check): Likewise.
(Raise_Error_to_gnu): Adjust calls to the build_call_raise family of
functions.  Minor tweaks.
(Case_Statement_to_gnu): Remove dead code.
(gnat_to_gnu): Call gnat_unsigned_type_for and gnat_signed_type_for.
(init_code_table): Minor reordering.
* gcc-interface/utils.c (gnat_unsigned_type): Delete.
(gnat_signed_type): Likewise.
(gnat_signed_or_unsigned_type_for): New function.
(unchecked_convert): Use directly the size in the test for precision
vs size adjustments.
(install_builtin_elementary_types): Call gnat_signed_type_for.
* gcc-interface/utils2.c (nonbinary_modular_operation): Call
build_int_cst.
(build_goto_raise): New function taken from...
(build_call_raise): ...here.  Call it.
(build_call_raise_column): Add KIND parameter and call it.
(build_call_raise_range): Likewise.

From-SVN: r232503

8 years agoFix libstdc++ build with -fno-exceptions
Jonathan Wakely [Mon, 18 Jan 2016 11:24:20 +0000 (11:24 +0000)]
Fix libstdc++ build with -fno-exceptions

PR libstdc++/69340
* src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
Use macros for exception handling and fix unused parameter warning.

From-SVN: r232502

8 years agoada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
Eric Botcazou [Mon, 18 Jan 2016 11:10:42 +0000 (11:10 +0000)]
ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to

* gcc-interface/ada-tree.h (TYPE_IMPLEMENTS_PACKED_ARRAY_P): Rename to
(TYPE_IMPL_PACKED_ARRAY_P): ...this.
(TYPE_CAN_HAVE_DEBUG_TYPE_P): Do not test TYPE_DEBUG_TYPE.
* gcc-interface/decl.c (gnat_to_gnu_entity): Simplify NULL_TREE tests
and tweak gnat_encodings tests throughout.
(initial_value_needs_conversion): Likewise.
(intrin_arglists_compatible_p): Likewise.
* gcc-interface/misc.c (gnat_print_type): Likewise.
(gnat_get_debug_type): Likewise.
(gnat_get_fixed_point_type_info): Likewise.
(gnat_get_array_descr_info): Likewise.
(get_array_bit_stride): Likewise.
(gnat_get_type_bias): Fix formatting.
(enumerate_modes): Likewise.
* gcc-interface/trans.c (gnat_to_gnu): Likewise.
(add_decl_expr): Simplify NULL_TREE test.
(end_stmt_group): Likewise.
(build_binary_op_trapv): Fix formatting.
(get_exception_label): Use switch statement.
(init_code_table): Move around.
* gcc-interface/utils.c (global_bindings_p): Simplify NULL_TREE test.
(gnat_poplevel): Likewise.
(gnat_set_type_context): Likewise.
(defer_or_set_type_context): Fix formatting.
(gnat_pushdecl): Simplify NULL_TREE test.
(maybe_pad_type): Likewise.
(add_parallel_type): Likewise.
(create_range_type): Likewise.
(process_deferred_decl_context): Likewise.
(convert): Likewise.
(def_builtin_1): Likewise.
* gcc-interface/utils2.c (find_common_type): Likewise.
(build_binary_op): Likewise.
(gnat_rewrite_reference): Likewise.
(get_inner_constant_reference): Likewise.

From-SVN: r232501

8 years agoi386.c (scalar_to_vector_candidate_p): Support andnot instruction.
Ilya Enkovich [Mon, 18 Jan 2016 10:35:56 +0000 (10:35 +0000)]
i386.c (scalar_to_vector_candidate_p): Support andnot instruction.

gcc/

* config/i386/i386.c (scalar_to_vector_candidate_p): Support
andnot instruction.
(scalar_chain::convert_op): Likewise.
* config/i386/i386.md (*andndi3_doubleword): New.

gcc/testsuite/

* gcc.target/i386/pr65105-5.c: Adjust to andn generation.

From-SVN: r232500

8 years agore PR ada/69219 (error on nested subprograms with Inline_Always and Intrinsic)
Eric Botcazou [Mon, 18 Jan 2016 10:27:10 +0000 (10:27 +0000)]
re PR ada/69219 (error on nested subprograms with Inline_Always and Intrinsic)

PR ada/69219
* gcc-interface/trans.c (check_inlining_for_nested_subprog): Consider
the parent function instead of the current function in order to issue
the warning or the error.  Add guard for ignored functions.

From-SVN: r232498

8 years agore PR tree-optimization/66797 (FAIL: gcc.dg/tree-ssa/pr65447.c scan-tree-dump-not...
Bin Cheng [Mon, 18 Jan 2016 09:30:10 +0000 (09:30 +0000)]
re PR tree-optimization/66797 (FAIL: gcc.dg/tree-ssa/pr65447.c scan-tree-dump-not ivopts "\\nuse 5\\n")

PR tree-optimization/66797
* gcc.c-torture/execute/pr65447.c: Relax check condition.

From-SVN: r232497

8 years agore PR tree-optimization/69170 (ICE (segfault) in find_uses_to_rename_use)
Richard Biener [Mon, 18 Jan 2016 09:14:14 +0000 (09:14 +0000)]
re PR tree-optimization/69170 (ICE (segfault) in find_uses_to_rename_use)

2016-01-18  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69170
* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
building a vector from scalar results of a pattern stmt.

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

From-SVN: r232496

8 years agohaifa-sched.c (autopref_multipass_init): Work around -Wmaybe-uninitialized warning.
Jakub Jelinek [Mon, 18 Jan 2016 09:02:42 +0000 (10:02 +0100)]
haifa-sched.c (autopref_multipass_init): Work around -Wmaybe-uninitialized warning.

* haifa-sched.c (autopref_multipass_init): Work around
-Wmaybe-uninitialized warning.

From-SVN: r232495

8 years agoarm.c (thumb1_reorg): Check that the comparison is against the constant 0.
Thomas Preud'homme [Mon, 18 Jan 2016 03:22:35 +0000 (03:22 +0000)]
arm.c (thumb1_reorg): Check that the comparison is against the constant 0.

2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * config/arm/arm.c (thumb1_reorg): Check that the comparison is
    against the constant 0.

From-SVN: r232493

8 years agore PR tree-optimization/68799 (lto ICE on powerpc64le-linux-gnu builing python 2...
Bill Schmidt [Mon, 18 Jan 2016 02:43:06 +0000 (02:43 +0000)]
re PR tree-optimization/68799 (lto ICE on powerpc64le-linux-gnu builing python 2.7.x)

2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/68799
* gimple-ssa-strength-reduction.c (create_phi_basis): Directly
look up phi candidates in the statement-candidate map.
(phi_add_costs): Likewise.
(record_phi_increments): Likewise.
(phi_incr_cost): Likewise.
(ncd_with_phi): Likewise.
(all_phi_incrs_profitable): Likewise.

From-SVN: r232491

8 years agoDaily bump.
GCC Administrator [Mon, 18 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232490

8 years agobuiltin-integral-1.c: Require c99_runtime.
John David Anglin [Sun, 17 Jan 2016 22:49:24 +0000 (22:49 +0000)]
builtin-integral-1.c: Require c99_runtime.

* gcc.dg/torture/builtin-integral-1.c: Require c99_runtime.

From-SVN: r232487

8 years agore PR libstdc++/68734 (FAIL: libstdc++-abi/abi_check)
John David Anglin [Sun, 17 Jan 2016 18:16:42 +0000 (18:16 +0000)]
re PR libstdc++/68734 (FAIL: libstdc++-abi/abi_check)

PR libstdc++/68734
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r232486

8 years ago* adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.
Jakub Jelinek [Sun, 17 Jan 2016 18:07:39 +0000 (19:07 +0100)]
* adaint.c (__gnat_killprocesstree): Avoid -Wparentheses warning.

From-SVN: r232485

8 years agoomp-low.c (mark_loops_in_oacc_kernels_region): Work around -Wmaybe-uninitialized...
Jakub Jelinek [Sun, 17 Jan 2016 18:04:47 +0000 (19:04 +0100)]
omp-low.c (mark_loops_in_oacc_kernels_region): Work around -Wmaybe-uninitialized warning.

* omp-low.c (mark_loops_in_oacc_kernels_region): Work around
-Wmaybe-uninitialized warning.

From-SVN: r232484

8 years agolibstdc++: Fix static_assert.
Torvald Riegel [Sun, 17 Jan 2016 17:43:37 +0000 (17:43 +0000)]
libstdc++: Fix static_assert.

* src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.

From-SVN: r232483

8 years agoDaily bump.
GCC Administrator [Sun, 17 Jan 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232480

8 years agoRevert the accidental checkin
H.J. Lu [Sat, 16 Jan 2016 23:07:34 +0000 (15:07 -0800)]
Revert the accidental checkin

From-SVN: r232476

8 years agoinvoke.texi (Invoking GCC): Add new section to menu.
Sandra Loosemore [Sat, 16 Jan 2016 23:06:43 +0000 (18:06 -0500)]
invoke.texi (Invoking GCC): Add new section to menu.

2016-01-16  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Invoking GCC): Add new section to menu.
(Option Summary): Update to reflect new section and moved options.
(C++ Dialect Options): Move -fvtable-verify and related options.
(Debugging Options): Move Sanitizer, Pointer Bounds Checker,
and profiling-related options.
(Optimization Options): Move profile generation options and
-fstack-protector and related options.
(Instrumentation Options): New section incorporating moved options.
(Code Generation Options): Move -finstrument-functions and
related options, -fstack-check, -fstack-limit*, and -fbounds-check.

From-SVN: r232475

8 years agoAdd __int128 symbols to x32 aseline_symbols.txt
H.J. Lu [Sat, 16 Jan 2016 22:52:21 +0000 (22:52 +0000)]
Add __int128 symbols to x32 aseline_symbols.txt

* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
__int128 symbols.

From-SVN: r232474

8 years agoMove pass_expand_omp_ssa out of pass_parallelize_loops
Tom de Vries [Sat, 16 Jan 2016 22:19:05 +0000 (22:19 +0000)]
Move pass_expand_omp_ssa out of pass_parallelize_loops

2016-01-16  Tom de Vries  <tom@codesourcery.com>

* passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.

From-SVN: r232473

8 years agoRelease_defs in expand_omp_atomic_fetch_op
Tom de Vries [Sat, 16 Jan 2016 22:18:56 +0000 (22:18 +0000)]
Release_defs in expand_omp_atomic_fetch_op

2016-01-16  Tom de Vries  <tom@codesourcery.com>

* omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.

From-SVN: r232472

8 years agoAdd goacc/kernels-alias-ipa-pta-4.c
Tom de Vries [Sat, 16 Jan 2016 22:18:47 +0000 (22:18 +0000)]
Add goacc/kernels-alias-ipa-pta-4.c

2016-01-16  Tom de Vries  <tom@codesourcery.com>

* c-c++-common/goacc/kernels-alias-ipa-pta-4.c: New test.

From-SVN: r232471

8 years agoMove gcc.dg/parloops-exit-first-loop-alt-*.c to gcc.dg/autopar
Tom de Vries [Sat, 16 Jan 2016 22:18:37 +0000 (22:18 +0000)]
Move gcc.dg/parloops-exit-first-loop-alt-*.c to gcc.dg/autopar

2016-01-16  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/parloops-exit-first-loop-alt.c: Move ...
* gcc.dg/autopar/parloops-exit-first-loop-alt.c: ... here.  Remove
redundant dg-require-effective-target pthread.
* gcc.dg/parloops-exit-first-loop-alt-2.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.

From-SVN: r232470

8 years agolibitm: Ensure proxy privatization safety.
Torvald Riegel [Sat, 16 Jan 2016 22:08:41 +0000 (22:08 +0000)]
libitm: Ensure proxy privatization safety.

* method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
safety.
* method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
* libitm/testsuite/libitm.c/priv-1.c: New.

From-SVN: r232469

8 years agore PR target/68609 (PowerPC reciprocal estimate missed opportunities)
David Edelsohn [Sat, 16 Jan 2016 20:04:33 +0000 (20:04 +0000)]
re PR target/68609 (PowerPC reciprocal estimate missed opportunities)

        PR target/68609
        * gcc.target/powerpc/recip-6.c: Enable on AIX.
        * gcc.target/powerpc/recip-7.c: Same.

From-SVN: r232468

8 years agoOptimise hash_table::empty
Richard Sandiford [Sat, 16 Jan 2016 11:03:18 +0000 (11:03 +0000)]
Optimise hash_table::empty

Calling redirect_edge_var_map_empty after each pass was slowing things
down because hash_table::empty () cleared all slots even if the hash
table was already empty.

Tested on x86_64-linux-gnu, where it gives a 1% compile time improvement
for fold-const.ii at -O and -O2.

gcc/
* hash-table.h (hash_table::empty): Turn into an inline wrapper
that checks whether the table is already empty.  Rename the
original implementation to...
(hash_table::empty_slot): ...this new private function.

From-SVN: r232467

8 years agoClean up some minor white space issues in trans-decl.c and trans-expr.c
Paul Thomas [Sat, 16 Jan 2016 09:44:23 +0000 (09:44 +0000)]
Clean up some minor white space issues in trans-decl.c and trans-expr.c

From-SVN: r232466

8 years agoPR diagnostic/68899: fix read-beyond-buffer when printing very wide source lines
David Malcolm [Sat, 16 Jan 2016 04:38:19 +0000 (04:38 +0000)]
PR diagnostic/68899: fix read-beyond-buffer when printing very wide source lines

gcc/ChangeLog:
PR diagnostic/68899
* diagnostic-show-locus.c (layout::print_source_line): Move x
offset of line until after call to
get_line_width_without_trailing_whitespace.

From-SVN: r232465

8 years agoFix PR c++/69091 (ICE with operator overload having 'auto' return type)
Patrick Palka [Sat, 16 Jan 2016 02:37:09 +0000 (02:37 +0000)]
Fix PR c++/69091 (ICE with operator overload having 'auto' return type)

gcc/cp/ChangeLog:

PR c++/69091
* pt.c (type_dependent_expression_p): For a function template
specialization, a type is dependent iff any of its template
arguments are.

gcc/testsuite/ChangeLog:

PR c++/69091
* g++.dg/template/pr69091.C: New test.

From-SVN: r232463

8 years agoFix logic bug in Cilk Plus array expansion
Patrick Palka [Sat, 16 Jan 2016 02:30:14 +0000 (02:30 +0000)]
Fix logic bug in Cilk Plus array expansion

gcc/cp/ChangeLog:

* cp-array-notation.c (cp_expand_cond_array_notations): Return
error_mark_node only if find_rank failed, not if it was
successful.

gcc/testsuite/ChangeLog:

* c-c++-common/cilk-plus/AN/an-if.c: Check that the original
dump does not contain an error_mark_node.
* c-c++-common/cilk-plus/CK/pr60469.c: Likewise.
* c-c++-common/cilk-plus/AN/fn_ptr-2.c: New xfail'd test.

From-SVN: r232462

8 years agore PR c++/68936 (ICE: tree check: expected call_expr, have target_expr in build_min_n...
Patrick Palka [Sat, 16 Jan 2016 02:27:36 +0000 (02:27 +0000)]
re PR c++/68936 (ICE: tree check: expected call_expr, have target_expr in build_min_non_dep_call_vec, at cp/tree.c:2744)

Fix PR c++/68936

gcc/cp/ChangeLog:

PR c++/68936
* tree.c (build_min_non_dep_call_vec): Don't retain the
KOENIG_LOOKUP_P flag of the non-dependent expression that's
been built.
(build_min_non_dep_op_overload): Instead, do it here.

gcc/testsuite/ChangeLog:

PR c++/68936
* g++.dg/template/pr68936.C: New test.

From-SVN: r232461

8 years agoDaily bump.
GCC Administrator [Sat, 16 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r232460

8 years agoUse static assertion for uses-allocator construction
Jonathan Wakely [Fri, 15 Jan 2016 23:12:13 +0000 (23:12 +0000)]
Use static assertion for uses-allocator construction

PR libstdc++/69293
* include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
static assertion that type is constructible from the arguments.
* testsuite/20_util/scoped_allocator/69293_neg.cc: New.
* testsuite/20_util/uses_allocator/69293_neg.cc: New.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.

From-SVN: r232457

8 years agore PR target/68609 (PowerPC reciprocal estimate missed opportunities)
David Edelsohn [Fri, 15 Jan 2016 23:04:23 +0000 (23:04 +0000)]
re PR target/68609 (PowerPC reciprocal estimate missed opportunities)

        PR target/68609
        * gcc.target/powerpc/recip-1.c: Adjust for Goldschmidt's Algorithm.
        * gcc.target/powerpc/recip-2.c: Same.
        * gcc.target/powerpc/recip-3.c: Same.
        * gcc.target/powerpc/recip-4.c: Same.
        * gcc.target/powerpc/recip-sqrtf.c: Same.

From-SVN: r232456

8 years agoPR libstdc++/69294 Check for isinf and isnan on AIX
Jonathan Wakely [Fri, 15 Jan 2016 23:00:30 +0000 (23:00 +0000)]
PR libstdc++/69294 Check for isinf and isnan on AIX

PR libstdc++/69294
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
and isnan on AIX. Quote variables.
* configure: Regenerate.

From-SVN: r232455

8 years agolibstdc++: Make certain exceptions transaction_safe.
Torvald Riegel [Fri, 15 Jan 2016 22:42:41 +0000 (22:42 +0000)]
libstdc++: Make certain exceptions transaction_safe.

From-SVN: r232454

8 years agore PR tree-optimization/69270 (DOM should exploit range information to create more...
Jeff Law [Fri, 15 Jan 2016 22:32:05 +0000 (15:32 -0700)]
re PR tree-optimization/69270 (DOM should exploit range information to create more equivalences)

PR tree-optimization/69270
* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
ssa_name_has_boolean_range and constant_boolean_node.

PR tree-optimization/69270
* gcc.dg/tree-ssa/pr69270-2.c: New test.
* gcc.dg/tree-ssa/pr69270-3.c: New test.

From-SVN: r232453