platform/upstream/linaro-gcc.git
8 years ago PR target/69187
jakub [Thu, 21 Jan 2016 09:52:46 +0000 (09:52 +0000)]
PR target/69187
PR target/65624
* config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
args array size by one to avoid buffer overflow.

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

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

8 years agoS/390: Use proper read-only data section for literals.
krebbel [Thu, 21 Jan 2016 09:45:42 +0000 (09:45 +0000)]
S/390: Use proper read-only data section for literals.

Previously, .rodata was hardcoded.  For C++ vague linkage functions,
this resulted in needlessly duplicated literals.  With the new split
stack support, this resulted in link errors, due to .rodata containing
relocations to the discarded text sections.

gcc/ChangeLog:

* config/s390/s390.md (pool_section_start): Use switch_to_section
to select proper read-only data section instead of hardcoding .rodata.
(pool_section_end): Use switch_to_section to match the above.

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

8 years ago2016-01-21 Richard Biener <rguenther@suse.de>
rguenth [Thu, 21 Jan 2016 08:50:38 +0000 (08:50 +0000)]
2016-01-21  Richard Biener  <rguenther@suse.de>

        PR tree-optimization/69378
* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
(set_ssa_val_to): Use it for dominance checks taking into
account not executable edges.

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

8 years ago PR c++/69355
jakub [Thu, 21 Jan 2016 07:59:32 +0000 (07:59 +0000)]
PR c++/69355
* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
for bitsize instead of GET_MODE_PRECISION (mode).

* g++.dg/torture/pr69355.C: New test.

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

8 years agoPR c/52291 - __sync_fetch_and_add and friends poorly specified for pointer
msebor [Thu, 21 Jan 2016 03:38:32 +0000 (03:38 +0000)]
PR c/52291 - __sync_fetch_and_add and friends poorly specified for pointer
    types

2016-01-20  Martin Sebor  <msebor@redhat.com>

* extend.texi (__sync Builtins): Clarify the semantics of
__sync_fetch_and_OP built-ins on pointers.
(__atomic Builtins): Same.

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

8 years agofix codegen error exposed by compute isl flow patch
spop [Thu, 21 Jan 2016 02:14:12 +0000 (02:14 +0000)]
fix codegen error exposed by compute isl flow patch

we used to fail using an iv from a different loop.

* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
(is_valid_rename): Same.
(translate_isl_ast_to_gimple::get_rename): Same.
(translate_isl_ast_to_gimple::rename_all_uses): Same.
(translate_isl_ast_to_gimple::rename_uses): Same.
(get_new_name): Check for close_phi nodes.
(copy_loop_phi_args): Use phi_node_kind.
(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.

gcc/testsuite

* gfortran.dg/graphite/interchange-3.f90: Adjust pattern.

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

8 years agofix pr68692: reinstantiate the copy of internal parameters
spop [Thu, 21 Jan 2016 02:14:01 +0000 (02:14 +0000)]
fix pr68692: reinstantiate the copy of internal parameters

Adding a testcase and reverting this patch:
[PATCH] remove parameter_rename_map

This map was used in the transition to the new scop detection: with the new scop
detection, we do not need this map anymore.

       * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
       Remove use of parameter_rename_map.
       (copy_def): Remove.
       (copy_internal_parameters): Remove.
       (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
       * sese.c (new_sese_info): Do not initialize parameter_rename_map.
       (free_sese_info): Do not free parameter_rename_map.
       (set_rename): Do not use parameter_rename_map.
       (rename_uses): Update call to set_rename.
       (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
       * sese.h (parameter_rename_map_t): Remove.
       (struct sese_info_t): Remove field parameter_rename_map.

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

8 years agofix PR68976: only add loop close phi for names defined in loop
spop [Thu, 21 Jan 2016 02:13:52 +0000 (02:13 +0000)]
fix PR68976: only add loop close phi for names defined in loop

        * graphite-isl-ast-to-gimple.c: Fix comment.
        * graphite-scop-detection.c (defined_in_loop_p): New.
        (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
        names defined in loop.

gcc/testsuite

        * gcc.dg/graphite/pr68976.c: New test.

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

8 years agocheck for unstructured control flow
spop [Thu, 21 Jan 2016 02:13:42 +0000 (02:13 +0000)]
check for unstructured control flow

* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
Discard unstructured if-then-else regions.

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

8 years agorewrite computation of iteration domains
spop [Thu, 21 Jan 2016 02:13:33 +0000 (02:13 +0000)]
rewrite computation of iteration domains

        * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
        (cleanup_loop_iter_dom): Remove.
        (build_loop_iteration_domains): Remove.
        (build_scop_context): Remove.
        (build_scop_iteration_domain): Remove.
        (add_loop_constraints): New.
        (build_iteration_domains): New.
        (build_poly_scop): Call build_iteration_domains.

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

8 years agofix memory leak in scop-detection
spop [Thu, 21 Jan 2016 02:13:24 +0000 (02:13 +0000)]
fix memory leak in scop-detection

        * graphite-scop-detection.c
        (scop_detection::harmful_loop_in_region): Free dom and loops.
        (scop_detection::loop_body_is_valid_scop): Free bbs.

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

8 years agorecord loops in execution order
spop [Thu, 21 Jan 2016 02:13:14 +0000 (02:13 +0000)]
record loops in execution order

* graphite-scop-detection.c (record_loop_in_sese): New.
(gather_bbs::before_dom_children): Call record_loop_in_sese.
(build_scops): Remove call to build_sese_loop_nests.
* sese.c (sese_record_loop): Remove.
(build_sese_loop_nests): Remove.
(new_sese_info): Remove region->loops.
(free_sese_info): Same.
* sese.h (sese_contains_loop): Same.
(build_sese_loop_nests): Remove.
(sese_contains_loop): Remove.

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

8 years agocheck that all loops are valid in the combined region
spop [Thu, 21 Jan 2016 02:13:05 +0000 (02:13 +0000)]
check that all loops are valid in the combined region

the bug was exposed by rewriting an if condition into an assert in the computation
of the loop iteration domains.

* graphite-scop-detection.c (loop_is_valid_scop): Renamed loop_is_valid_in_scop.
(scop_detection::harmful_stmt_in_region): Renamed harmful_loop_in_region.
Call loop_is_valid_in_scop.

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

8 years agoadd missing ast node for isl 0.15
spop [Thu, 21 Jan 2016 02:12:56 +0000 (02:12 +0000)]
add missing ast node for isl 0.15

* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
isl_ast_node_mark.

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

8 years agoremove unused variable
spop [Thu, 21 Jan 2016 02:12:37 +0000 (02:12 +0000)]
remove unused variable

* graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
* graphite.h (struct poly_bb): Remove field is_reduction.
        (PBB_IS_REDUCTION): Remove.

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

8 years agoadd more coalescing to simplify constraints
spop [Thu, 21 Jan 2016 02:12:26 +0000 (02:12 +0000)]
add more coalescing to simplify constraints

* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
(add_pdr_constraints): Same.
(scop_get_reads): Same.
(scop_get_must_writes): Same.
(scop_get_may_writes): Same.
(scop_get_original_schedule): Same.
(extend_schedule): Same.
(apply_schedule_on_deps): Same.
(carries_deps): Same.
(compute_deps): Same.
(scop_get_dependences): Same.
* graphite-isl-ast-to-gimple.c
(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
* graphite-optimize-isl.c (get_schedule_for_band): Same.
(get_schedule_for_band_list): Same.
(get_schedule_map): Same.
(apply_schedule_map_to_scop): Same.
* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
(build_loop_iteration_domains): Same.
(add_condition_to_pbb): Same.
(add_param_constraints): Same.
(pdr_add_memory_accesses): Same.
(pdr_add_data_dimensions): Same.

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

8 years ago2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
sandra [Thu, 21 Jan 2016 01:03:42 +0000 (01:03 +0000)]
2016-01-20  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
requirements.

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

8 years ago2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
sandra [Thu, 21 Jan 2016 00:59:54 +0000 (00:59 +0000)]
2016-01-20  Sandra Loosemore <sandra@codesourcery.com>

gcc/
* common.opt (feliminate-dwarf2-dups): Replace references to
"DWARF 2" with just "DWARF".
* config/ia64/ia64.opt (mdwarf2-asm): Likewise.
* doc/extend.texi: Likewise.
* doc/cpp.texi: Likewise.
* doc/invoke.texi: Likewise.
(Option Summary): Add -gdwarf to list of Debugging Options.
(Debugging Options): Document -gdwarf.
* doc/contrib.texi: Spell "DWARF" like that.

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

8 years ago2016-01-20 Matthias Klose <doko@ubuntu.com>
doko [Thu, 21 Jan 2016 00:17:37 +0000 (00:17 +0000)]
2016-01-20  Matthias Klose  <doko@ubuntu.com>

        * libtool-version: Remove.

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

8 years agoDaily bump.
gccadmin [Thu, 21 Jan 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
jakub [Wed, 20 Jan 2016 23:55:38 +0000 (23:55 +0000)]
* omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
warning.  Fix up formatting.

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

8 years ago PR middle-end/67653
jakub [Wed, 20 Jan 2016 23:43:58 +0000 (23:43 +0000)]
PR middle-end/67653
* gimplify.c (gimplify_asm_expr): Warn if it is too late to
attempt to mark memory input operand addressable and
call prepare_gimple_addressable in that case.  Don't adjust
input_location for diagnostics, use error_at instead.

* c-c++-common/pr67653.c: New test.
* gcc.dg/torture/pr29119.c: Add dg-warning.

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

8 years agogcc/
bergner [Wed, 20 Jan 2016 20:30:24 +0000 (20:30 +0000)]
gcc/
* config/rs6000/ppc-auxv.h: New file.
* config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
(cpu_is): Likewise.
(cpu_supports): Likewise.
* config/rs6000/rs6000.c: include "ppc-auxv.h".
(cpu_is_info): New variable.
(cpu_supports_info): Likewise.
(tcb_verification_symbol): Likewise.
(cpu_builtin_p): Likewise.
(cpu_expand_builtin): New function.
(rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
(rs6000_init_builtins): Likewise.
(rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
* config/rs6000/rs6000.h (TLS_REGNUM): New define.
* configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
* configure: Regenerate.
* config.in: Likewise.
* doc/extend.texi (PowerPC Built-in Functions): Document
__builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.

gcc/testsuite/
* gcc.target/powerpc/cpu-builtin-1.c: New test.

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

8 years ago PR target/68609
dje [Wed, 20 Jan 2016 19:39:08 +0000 (19:39 +0000)]
PR target/68609
        * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
        domain check.
        * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
        for V4SFmode.

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

8 years agoPR bootstrap/69343
rth [Wed, 20 Jan 2016 18:53:56 +0000 (18:53 +0000)]
PR bootstrap/69343
PR bootstrap/69339
PR tree-opt/68964

Revert:
gcc/
  * tree.c (tm_define_builtin): New.
  (find_tm_vector_type): New.
  (build_tm_vector_builtins): New.
  (build_common_builtin_nodes): Call it.
libitm/
  * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc
  (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc
  (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc
  (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc
  * configure.ac (ARCH_AARCH64): New conditional.
  (ARCH_PPC, ARCH_S390): Likewise.
  * Makefile.in, configure: Rebuild.
  * libitm.h (_ITM_TYPE_M128): Always define.
  * vect64.cc: Split ...
  * vect128.cc: ... out of...
  * config/x86/x86_sse.cc: ... here.
  * config/arm/neon.cc: New file.

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

8 years agolibstdc++: Darwin does not support weak refs without definition.
torvald [Wed, 20 Jan 2016 17:47:03 +0000 (17:47 +0000)]
libstdc++: Darwin does not support weak refs without definition.

        PR libstdc++/69310
        * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.

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

8 years agoAdd C++11 <cmath> overloads to the global namespace
redi [Wed, 20 Jan 2016 17:44:58 +0000 (17:44 +0000)]
Add C++11 <cmath> overloads to the global namespace

PR libstdc++/60401
* include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
Add using declarations.
* testsuite/26_numerics/headers/cmath/60401.cc: New.

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

8 years agoCorrect date in ChangeLog entry for r232622
prathamesh3492 [Wed, 20 Jan 2016 17:21:46 +0000 (17:21 +0000)]
Correct date in ChangeLog entry for r232622

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

8 years ago2016-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
prathamesh3492 [Wed, 20 Jan 2016 16:25:23 +0000 (16:25 +0000)]
2016-01-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

        PR c/24293
        * c-tree.h (incomplete_record_decls): Declare.
        * c-parser.c (incomplete_record_decls): Define.
        (c_parser_translation_unit): Iterate through incomplete_record_decls and
        report error if any decl has zero size.
        * c-decl.c (finish_decl): Append static decl with incomplete struct/union
        or enum type to incomplete_record_decls.

testsuite/
        * gcc.dg/pr24293.c: New test.
        * gcc.dg/Wcxx-compat-8.c: Adjust to accept error due to
        incomplete struct type.
        * gcc.dg/declspec-1.c: Likewise.
        * gcc.dg/pr63549.c: Likewise.

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

8 years agolibgomp/
iverbin [Wed, 20 Jan 2016 15:01:24 +0000 (15:01 +0000)]
libgomp/
* task.c (gomp_create_target_task): Set firstprivate_copies to NULL.

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

8 years agolibmpx/
ienkovich [Wed, 20 Jan 2016 14:51:36 +0000 (14:51 +0000)]
libmpx/

* mpxrt/mpxrt.c (handler): Fix verbosity for error message.

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

8 years ago PR tree-optimization/66612
jakub [Wed, 20 Jan 2016 14:40:02 +0000 (14:40 +0000)]
PR tree-optimization/66612
* gcc.target/powerpc/20050830-1.c: Xfail the scan-assembler test
for bdn instruction.

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

8 years ago[ARM target attributes] Fix effective_target tests
clyon [Wed, 20 Jan 2016 14:19:41 +0000 (14:19 +0000)]
[ARM target attributes] Fix effective_target tests

2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>

gcc/
* doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
(arm_fp_ok): Likewise.
(arm_fp): Likewise.
(arm_crypto): Likewise.

gcc/testsuite/
* lib/target-supports.exp
(check_effective_target_arm_fp_ok_nocache): New.
(check_effective_target_arm_fp_ok): New.
(add_options_for_arm_fp): New.
(check_effective_target_arm_crypto_ok_nocache): Require
target_arm_v8_neon_ok instead of arm32.
(check_effective_target_arm_crypto_pragma_ok_nocache): New.
(check_effective_target_arm_crypto_pragma_ok): New.
(add_options_for_arm_vfp): New.
* gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
target. Do not force -mfloat-abi=softfp, use arm_fp_ok effective
target instead. Force initial fpu to vfp.
* gcc.target/arm/attr-neon-builtin-fail.c: Do not force
-mfloat-abi=softfp, use arm_fp_ok effective target instead.
* gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
dependency.
* gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
use arm_vfp effective target instead. Force initial fpu to vfp.
* gcc.target/arm/attr-neon3.c: Likewise.
* gcc.target/arm/cmp-2.c: Use arm_fp_ok effective target instead of
arm_vfp_ok.
* gcc.target/arm/unsigned-float.c: Likewise.
* gcc.target/arm/vfp-1.c: Likewise.
* gcc.target/arm/vfp-ldmdbd.c: Likewise.
* gcc.target/arm/vfp-ldmdbs.c: Likewise.
* gcc.target/arm/vfp-ldmiad.c: Likewise.
* gcc.target/arm/vfp-ldmias.c: Likewise.
* gcc.target/arm/vfp-stmdbd.c: Likewise.
* gcc.target/arm/vfp-stmdbs.c: Likewise.
* gcc.target/arm/vfp-stmiad.c: Likewise.
* gcc.target/arm/vfp-stmias.c: Likewise.
* gcc.target/arm/vnmul-1.c: Likewise.
* gcc.target/arm/vnmul-2.c: Likewise.
* gcc.target/arm/vnmul-3.c: Likewise.
* gcc.target/arm/vnmul-4.c: Likewise.

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

8 years agoFix testsuite/ChangeLog entry
hjl [Wed, 20 Jan 2016 14:13:30 +0000 (14:13 +0000)]
Fix testsuite/ChangeLog entry

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

8 years agoFix ChangeLog entry.
clyon [Wed, 20 Jan 2016 14:12:13 +0000 (14:12 +0000)]
Fix ChangeLog entry.

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

8 years agoRequire non-x32 target for compile-time MPX tests
hjl [Wed, 20 Jan 2016 13:51:42 +0000 (13:51 +0000)]
Require non-x32 target for compile-time MPX tests

Compile-time MPX tests don't need the MPX run-time library.  They
should pass for non-x32 target.

PR testsuite/69366
* g++.dg/pr63995-1.C: Require non-x32 target, instead of,
the MPX run-time library, for compile-time MPX test.
* gcc.target/i386/chkp-always_inline.c: Likewise.
* gcc.target/i386/chkp-bndret.c: Likewise.
* gcc.target/i386/chkp-builtins-1.c: Likewise.
* gcc.target/i386/chkp-builtins-2.c: Likewise.
* gcc.target/i386/chkp-builtins-3.c: Likewise.
* gcc.target/i386/chkp-builtins-4.c: Likewise.
* gcc.target/i386/chkp-const-check-1.c: Likewise.
* gcc.target/i386/chkp-const-check-2.c: Likewise.
* gcc.target/i386/chkp-hidden-def.c: Likewise.
* gcc.target/i386/chkp-label-address.c: Likewise.
* gcc.target/i386/chkp-lifetime-1.c: Likewise.
* gcc.target/i386/chkp-narrow-bounds.c: Likewise.
* gcc.target/i386/chkp-pr69044.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-1.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-2.c: Likewise.
* gcc.target/i386/chkp-strchr.c: Likewise.
* gcc.target/i386/chkp-strlen-1.c: Likewise.
* gcc.target/i386/chkp-strlen-2.c: Likewise.
* gcc.target/i386/chkp-strlen-3.c: Likewise.
* gcc.target/i386/chkp-strlen-4.c: Likewise.
* gcc.target/i386/chkp-strlen-5.c: Likewise.
* gcc.target/i386/chkp-stropt-1.c: Likewise.
* gcc.target/i386/chkp-stropt-10.c: Likewise.
* gcc.target/i386/chkp-stropt-11.c: Likewise.
* gcc.target/i386/chkp-stropt-12.c: Likewise.
* gcc.target/i386/chkp-stropt-13.c: Likewise.
* gcc.target/i386/chkp-stropt-14.c: Likewise.
* gcc.target/i386/chkp-stropt-15.c: Likewise.
* gcc.target/i386/chkp-stropt-16.c: Likewise.
* gcc.target/i386/chkp-stropt-2.c: Likewise.
* gcc.target/i386/chkp-stropt-3.c: Likewise.
* gcc.target/i386/chkp-stropt-4.c: Likewise.
* gcc.target/i386/chkp-stropt-5.c: Likewise.
* gcc.target/i386/chkp-stropt-6.c: Likewise.
* gcc.target/i386/chkp-stropt-7.c: Likewise.
* gcc.target/i386/chkp-stropt-8.c: Likewise.
* gcc.target/i386/chkp-stropt-9.c: Likewise.
* gcc.target/i386/pr63995-2.c: Likewise.
* gcc.target/i386/pr64805.c: Likewise.
* gcc.target/i386/pr65044.c: Likewise.
* gcc.target/i386/pr65167.c: Likewise.
* gcc.target/i386/pr65183.c: Likewise.
* gcc.target/i386/pr65184.c: Likewise.
* gcc.target/i386/thunk-retbnd.c: Likewise.

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

8 years agoRequire non-x32 target for compile-time MPX tests
hjl [Wed, 20 Jan 2016 13:48:49 +0000 (13:48 +0000)]
Require non-x32 target for compile-time MPX tests

Compile-time MPX tests don't need the MPX run-time library.  They
should pass for non-x32 target.

PR testsuite/69369
* g++.dg/pr63995-1.C: Require non-x32 target, instead of,
the MPX run-time library, for compile-time MPX test.
* gcc.target/i386/chkp-always_inline.c: Likewise.
* gcc.target/i386/chkp-bndret.c: Likewise.
* gcc.target/i386/chkp-builtins-1.c: Likewise.
* gcc.target/i386/chkp-builtins-2.c: Likewise.
* gcc.target/i386/chkp-builtins-3.c: Likewise.
* gcc.target/i386/chkp-builtins-4.c: Likewise.
* gcc.target/i386/chkp-const-check-1.c: Likewise.
* gcc.target/i386/chkp-const-check-2.c: Likewise.
* gcc.target/i386/chkp-hidden-def.c: Likewise.
* gcc.target/i386/chkp-label-address.c: Likewise.
* gcc.target/i386/chkp-lifetime-1.c: Likewise.
* gcc.target/i386/chkp-narrow-bounds.c: Likewise.
* gcc.target/i386/chkp-pr69044.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-1.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-2.c: Likewise.
* gcc.target/i386/chkp-strchr.c: Likewise.
* gcc.target/i386/chkp-strlen-1.c: Likewise.
* gcc.target/i386/chkp-strlen-2.c: Likewise.
* gcc.target/i386/chkp-strlen-3.c: Likewise.
* gcc.target/i386/chkp-strlen-4.c: Likewise.
* gcc.target/i386/chkp-strlen-5.c: Likewise.
* gcc.target/i386/chkp-stropt-1.c: Likewise.
* gcc.target/i386/chkp-stropt-10.c: Likewise.
* gcc.target/i386/chkp-stropt-11.c: Likewise.
* gcc.target/i386/chkp-stropt-12.c: Likewise.
* gcc.target/i386/chkp-stropt-13.c: Likewise.
* gcc.target/i386/chkp-stropt-14.c: Likewise.
* gcc.target/i386/chkp-stropt-15.c: Likewise.
* gcc.target/i386/chkp-stropt-16.c: Likewise.
* gcc.target/i386/chkp-stropt-2.c: Likewise.
* gcc.target/i386/chkp-stropt-3.c: Likewise.
* gcc.target/i386/chkp-stropt-4.c: Likewise.
* gcc.target/i386/chkp-stropt-5.c: Likewise.
* gcc.target/i386/chkp-stropt-6.c: Likewise.
* gcc.target/i386/chkp-stropt-7.c: Likewise.
* gcc.target/i386/chkp-stropt-8.c: Likewise.
* gcc.target/i386/chkp-stropt-9.c: Likewise.
* gcc.target/i386/pr63995-2.c: Likewise.
* gcc.target/i386/pr64805.c: Likewise.
* gcc.target/i386/pr65044.c: Likewise.
* gcc.target/i386/pr65167.c: Likewise.
* gcc.target/i386/pr65183.c: Likewise.
* gcc.target/i386/pr65184.c: Likewise.
* gcc.target/i386/thunk-retbnd.c: Likewise.

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

8 years agoliboffloadmic/
iverbin [Wed, 20 Jan 2016 13:40:22 +0000 (13:40 +0000)]
liboffloadmic/
* plugin/libgomp-plugin-intelmic.cpp (GOMP_OFFLOAD_run): Pass extra NULL
to GOMP_OFFLOAD_async_run.

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

8 years agogcc/
ienkovich [Wed, 20 Jan 2016 12:37:01 +0000 (12:37 +0000)]
gcc/

PR tree-optimization/69328
* tree-vect-stmts.c (vect_is_simple_cond): Check compared
vectors have same number of elements.
(vectorizable_condition): Fix masked version recognition.

gcc/testsuite/

PR tree-optimization/69328
* gcc.dg/pr69328.c: New test.

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

8 years agoEnsure C++ language linkage in cmath and cstdlib
redi [Wed, 20 Jan 2016 12:34:25 +0000 (12:34 +0000)]
Ensure C++ language linkage in cmath and cstdlib

PR libstdc++/69386
* include/c_global/ccomplex: Ensure C++ language linkage.
* include/c_global/cmath: Likewise.
* include/c_global/cstdlib: Likewise.
* include/c_global/ctgmath: Likewise.
* testsuite/17_intro/headers/c++2011/linkage.cc: New.

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

8 years ago * exp_ch2.adb (Expand_Current_Value): Make an appropriate character
ebotcazou [Wed, 20 Jan 2016 09:01:34 +0000 (09:01 +0000)]
* exp_ch2.adb (Expand_Current_Value): Make an appropriate character
literal if the entity is of a character type.
* gcc-interface/lang.opt (fsigned-char): New option.
* gcc-interface/misc.c (gnat_handle_option): Accept it.
(gnat_init): Adjust comment.
* gcc-interface/gigi.h (finish_character_type): New prototype.
(maybe_character_type): New inline function.
(maybe_character_value): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: For
a character of CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
Set TYPE_ARTIFICIAL early and call finish_character_type on the type.
<E_Enumeration_Subtype>: For a subtype of character with RM_Size and
Esize equal to CHAR_TYPE_SIZE, make a signed type if flag_signed_char.
Copy TYPE_STRING_FLAG from type to subtype.
<E_Array_Type>: Deal with character index types.
<E_Array_Subtype>: Likewise.
* gcc-interface/trans.c (gigi): Replace unsigned_char_type_node with
char_type_node throughout.
(build_raise_check): Likewise.
(get_type_length): Deal with character types.
(Attribute_to_gnu) <Attr_Pos>: Likewise.  Remove obsolete range check
code.  Minor tweak.
<Attr_Pred>: Likewise.
(Loop_Statement_to_gnu): Likewise.
(Raise_Error_to_gnu): Likewise.
<N_Indexed_Component>: Deal with character index types.  Remove
obsolete code.
<N_Slice>: Likewise.
<N_Type_Conversion>: Deal with character types.  Minor tweak.
<N_Unchecked_Type_Conversion>: Likewise.
<N_In>: Likewise.
<N_Op_Eq>: Likewise.
(emit_index_check): Delete.
* gcc-interface/utils.c (finish_character_type): New function.
(gnat_signed_or_unsigned_type_for): Deal with built-in character types.
* gcc-interface/utils2.c (expand_sloc): Replace unsigned_char_type_node
with char_type_node.
(build_call_raise): Likewise.
(build_call_raise_column): Likewise.
(build_call_raise_range): Likewise.

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

8 years ago2016-01-20 Richard Biener <rguenther@suse.de>
rguenth [Wed, 20 Jan 2016 08:36:32 +0000 (08:36 +0000)]
2016-01-20  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69345
* tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
(VN_INFO_PTR_INFO): Likewise.
* tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
info when it is equal between non-dominating SSA names.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Make sure to look at original SSA infos.

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

8 years agoAdd BZ markers
law [Wed, 20 Jan 2016 07:55:43 +0000 (07:55 +0000)]
Add BZ markers

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

8 years ago[PATCH] [target/25114] Improve comparisons against some small integers for m68k
law [Wed, 20 Jan 2016 07:54:26 +0000 (07:54 +0000)]
[PATCH] [target/25114] Improve comparisons against some small integers for m68k

* config/m68k/predicates.md (pow2_m1_operand): New predicate
extracted from ...
(reg_or_pow2_m1_operand): Call pow2_m1_operand.
(pc_or_label_operand): New predicate.
* config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
tests for small integers that are 2^n - 1.

* gcc.target/m68k/pr25114.c: New test.

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

8 years ago2016-01-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
thopre01 [Wed, 20 Jan 2016 01:56:39 +0000 (01:56 +0000)]
2016-01-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>

    gcc/testsuite/
    * gcc.target/arm/memset-inline-10.c: Added
    dg-require-effective-target arm_thumb2_ok.

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

8 years ago * doc/invoke.texi (Options Summary): Add '.' after @xref.
redi [Wed, 20 Jan 2016 00:26:13 +0000 (00:26 +0000)]
* doc/invoke.texi (Options Summary): Add '.' after @xref.

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

8 years agoDaily bump.
gccadmin [Wed, 20 Jan 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago PR middle-end/69347
law [Tue, 19 Jan 2016 23:03:26 +0000 (23:03 +0000)]
PR middle-end/69347
* tree-ssa-threadbackwards.c
(fsm_find_control_statement_thread_paths): Do not try to lookup
FSM paths for SSA_NAMEs appearing in abnormal PHIs.

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

8 years ago * uninclude: Fix third argument to gensub.
redi [Tue, 19 Jan 2016 22:00:17 +0000 (22:00 +0000)]
* uninclude: Fix third argument to gensub.

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

8 years agogcc/ChangeLog:
kugan [Tue, 19 Jan 2016 21:49:32 +0000 (21:49 +0000)]
gcc/ChangeLog:

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

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

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

8 years agoAdd C++-conforming wrappers for stdlib.h and math.h
redi [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.

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

8 years ago * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
ebotcazou [Tue, 19 Jan 2016 21:08:10 +0000 (21:08 +0000)]
* 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.

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

8 years ago2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
sandra [Tue, 19 Jan 2016 20:44:11 +0000 (20:44 +0000)]
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.

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

8 years agoPR jit/69144: Ensure that libgccjit's tempdir is fully cleaned-up
dmalcolm [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.

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

8 years agolibitm: Remove dead code.
torvald [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.

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

8 years ago PR c++/59759
jason [Tue, 19 Jan 2016 19:00:21 +0000 (19:00 +0000)]
PR c++/59759
* pt.c (convert_template_argument): Handle VAR_DECL properly.

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

8 years ago[Patch] Fix spurious warning in ccmp.c
jiwang [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.

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

8 years ago PR testsuite/68820
uros [Tue, 19 Jan 2016 17:10:31 +0000 (17:10 +0000)]
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.

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

8 years ago PR ipa/66223
hubicka [Tue, 19 Jan 2016 16:49:50 +0000 (16:49 +0000)]
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.

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

8 years ago2016-01-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jan 2016 15:10:40 +0000 (15:10 +0000)]
2016-01-19  Richard Biener  <rguenther@suse.de>

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

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

8 years ago PR c++/68965
mpolacek [Tue, 19 Jan 2016 14:37:49 +0000 (14:37 +0000)]
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.

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

8 years agoFix ICE in vectorizable_store ().
kyukhin [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.

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

8 years agoFix memory chunk corruption for opts_obstack (PR jit/68446)
dmalcolm [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.

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

8 years ago[ARM] PR target/69135: Mark ARMv8 vcvt instructions as unconditional
ktkachov [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.

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

8 years ago[PATCH 4/4] Add CCMP selection based on rtx costs
jiwang [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.

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

8 years ago[PATCH 3/4] Add support for rtx costing of CCMP on AArch64
jiwang [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.

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

8 years ago[PATCH 2/4] Add support for float CCMP
jiwang [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.

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

8 years ago PR c++/68586
mpolacek [Tue, 19 Jan 2016 14:02:40 +0000 (14:02 +0000)]
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.

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

8 years ago[Patch 1/4] Simplify the representation of CCMP patterns by using
jiwang [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.

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

8 years ago * cgraphunit.c (cgraph_node::reset): Clear thunk info and
hubicka [Tue, 19 Jan 2016 13:28:32 +0000 (13:28 +0000)]
* cgraphunit.c (cgraph_node::reset): Clear thunk info and
instrumented_version.

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

8 years ago2016-01-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jan 2016 13:27:11 +0000 (13:27 +0000)]
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.

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

8 years ago PR debug/65779
jakub [Tue, 19 Jan 2016 13:21:04 +0000 (13:21 +0000)]
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.

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

8 years ago2016-01-19 Richard Biener <rguenther@suse.de>
rguenth [Tue, 19 Jan 2016 13:19:01 +0000 (13:19 +0000)]
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.

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

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

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

8 years ago PR sanitizer/68824
jakub [Tue, 19 Jan 2016 12:45:54 +0000 (12:45 +0000)]
PR sanitizer/68824
* tsan/tsan_interceptors.cc (NEED_TLS_GET_ADDR, __tls_get_addr,
InitializeInterceptors): Cherry pick upstream r258119.

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

8 years ago PR rtl-optimization/68955
jakub [Tue, 19 Jan 2016 12:34:45 +0000 (12:34 +0000)]
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.

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

8 years ago PR lto/69136
hubicka [Tue, 19 Jan 2016 11:59:58 +0000 (11:59 +0000)]
PR lto/69136
* lto-symtab.c (lto_symtab_prevailing_virtual_decl): Abstract
decls have no assemblernames.
* g++.dg/torture/pr69136.C: New testcase.

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

8 years ago PR lto/69133
hubicka [Tue, 19 Jan 2016 11:57:41 +0000 (11:57 +0000)]
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.

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

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

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

8 years ago * symtab.c (symtab_node::asm_name): Do not call printable name directly.
hubicka [Tue, 19 Jan 2016 11:51:18 +0000 (11:51 +0000)]
* 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.

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

8 years agoMerge of HSA
jamborm [Tue, 19 Jan 2016 10:35:10 +0000 (10:35 +0000)]
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.

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

8 years ago2016-01-18 Jeff Law <law@redhat.com>
law [Tue, 19 Jan 2016 06:43:54 +0000 (06:43 +0000)]
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.

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

8 years agoFix the remaining PR c++/24666 blockers (arrays decay to pointers too early)
ppalka [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.

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

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

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

8 years ago2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
sandra [Mon, 18 Jan 2016 22:47:09 +0000 (22:47 +0000)]
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.

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

8 years agoPR target/69176
rth [Mon, 18 Jan 2016 20:56:13 +0000 (20:56 +0000)]
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.

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

8 years agolibstdc++: Fix usage of __GXX_WEAK__ in TM TS support.
torvald [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.

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

8 years ago * mpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Avoid
jakub [Mon, 18 Jan 2016 19:36:02 +0000 (19:36 +0000)]
* mpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Avoid
-Wdiscarded-qualifiers warning.  Fix up formatting.

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

8 years agoPR testsuite/69181: ensure expected multiline outputs is cleared per-test
dmalcolm [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.

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

8 years agoAdd test for PR 60637
redi [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.

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

8 years ago PR lto/69003
hubicka [Mon, 18 Jan 2016 15:58:06 +0000 (15:58 +0000)]
PR lto/69003
* lto-partition.c (rename_statics): Fix pasto.

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

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

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

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

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

8 years ago PR c++/68767
jason [Mon, 18 Jan 2016 15:54:14 +0000 (15:54 +0000)]
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.

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

8 years agoIgnore reduction clause on kernels directive
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.

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

8 years ago2016-01-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Jan 2016 14:25:56 +0000 (14:25 +0000)]
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.

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

8 years agogcc/
ienkovich [Mon, 18 Jan 2016 14:14:35 +0000 (14:14 +0000)]
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.

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

8 years agoHandle Octeon 3 not supporting MIPS paired-single instructions.
jsm28 [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.

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

8 years ago2016-01-18 Richard Biener <rguenther@suse.de>
rguenth [Mon, 18 Jan 2016 13:03:54 +0000 (13:03 +0000)]
2016-01-18  Richard Biener  <rguenther@suse.de>

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

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

8 years agoAdd oacc kernels test in libgomp
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.

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