platform/upstream/linaro-gcc.git
8 years ago2016-01-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 Jan 2016 08:36:24 +0000 (08:36 +0000)]
2016-01-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69168
* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
pattern stmt SLP type.
* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
end up unused so cope with that case.

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

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

8 years ago2016-01-12 Richard Biener <rguenther@suse.de>
rguenth [Tue, 12 Jan 2016 08:30:44 +0000 (08:30 +0000)]
2016-01-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69157
* tree-vect-stmts.c (vectorizable_mask_load_store): Check
stmts def type only during analyze phase.
(vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.

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

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

PR tree-optimization/69174
* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
space.
(vectorizable_load): Properly compute the number of loads needed
for permuted strided SLP loads and do not spuriously assign
to SLP_TREE_VEC_STMTS.

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

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

8 years ago PR c++/66808
jakub [Tue, 12 Jan 2016 08:21:53 +0000 (08:21 +0000)]
PR c++/66808
PR c++/69000
* pt.c (tsubst_decl): If not local_p, clear DECL_TEMPLATE_INFO.

* g++.dg/tls/pr66808.C: New test.
* g++.dg/tls/pr69000.C: New test.

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

8 years ago[PATCH 5/6] [DJGPP] Update DJGPP configuration related files
andris [Tue, 12 Jan 2016 04:57:10 +0000 (04:57 +0000)]
[PATCH 5/6] [DJGPP] Update DJGPP configuration related files

       * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
       (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
       (MD_EXEC_PREFIX): Remove.
       (MD_STARTFILE_PREFIX) Removee.
       (FILE_NAME_ABSOLUTE_P): Remove.
       (CPP_SPEC): Do not read macros from sys/version.h.
       (LINK_COMMAND_SPEC): Remove.
       (LOCAL_INCLUDE_DIR): Remove.
       (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
       (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
       (POST_LINK_SPEC): Define to invoke stubify after linker
       (LIBSTDCXX): Remove define
       (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
       (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
       (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
       (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
       (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
       (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
       (i386_djgpp_asm_named_section): Add propotype of new procedure

       * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
       (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
       (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
       (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
       (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
       (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
       (MAX_OFILE_ALIGNMENT): Define to 128.
       (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.

       * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.

       * config/i386/djgpp.opt: Remove obsolete option -mbnu210.

       * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
       Add rule for building djgpp.o.

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

8 years ago[gcc]
wschmidt [Tue, 12 Jan 2016 04:49:55 +0000 (04:49 +0000)]
[gcc]

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

* config/rs6000/rs6000.c (v2df_reduction_p): New function.
(rtx_is_swappable_p): Reductions are swappable.
(insn_is_swappable_p): V2DF reductions are swappable.

[gcc/testsuite]

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

* gcc.target/powerpc/swaps-p8-23.c: New test.
* gcc.target/powerpc/swaps-p8-24.c: Likewise.

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

8 years ago PR tree-optimization/68356
danglin [Tue, 12 Jan 2016 02:06:20 +0000 (02:06 +0000)]
PR tree-optimization/68356
* gcc.dg/torture/pr68264.c: Disable exp2 ERANGE test on hppa unix.

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

8 years ago * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
danglin [Tue, 12 Jan 2016 01:35:23 +0000 (01:35 +0000)]
* config/pa/pa.c (pa_emit_move_sequence): Handle floating point
reloads for other unsupported memory operands.

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

8 years agogcc/ChangeLog:
kugan [Tue, 12 Jan 2016 00:40:54 +0000 (00:40 +0000)]
gcc/ChangeLog:

2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Jim Wilson  <jim.wilson@linaro.org>

PR target/69194
* config/arm/arm-builtins.c (arm_expand_neon_args): Call
copy_to_mode_reg instead of force_reg.

gcc/testsuite/ChangeLog:

2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
    Jim Wilson  <jim.wilson@linaro.org>

PR target/69194
* gcc.target/arm/pr69194.c: New test.

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

8 years agoSet FLT_EVAL_METHOD to 2 only if 387 FPU is used
hjl [Tue, 12 Jan 2016 00:30:30 +0000 (00:30 +0000)]
Set FLT_EVAL_METHOD to 2 only if 387 FPU is used

When 387 FPU isn't used, there is no excess precision.  We should set
FLT_EVAL_METHOD to 2 only if 387 FPU is used.

gcc/

PR target/69225
* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
TARGET_80387 is true.

gcc/testsuite

PR target/69225
* gcc.target/i386/pr69225-1.c: New test.
* gcc.target/i386/pr69225-2.c: Likewise.
* gcc.target/i386/pr69225-3.c: Likewise.
* gcc.target/i386/pr69225-4.c: Likewise.
* gcc.target/i386/pr69225-5.c: Likewise.
* gcc.target/i386/pr69225-6.c: Likewise.

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

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

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

8 years ago * zh_CN.po: Update.
jsm28 [Mon, 11 Jan 2016 23:56:35 +0000 (23:56 +0000)]
* zh_CN.po: Update.

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

8 years ago PR c++/69131
jason [Mon, 11 Jan 2016 20:53:07 +0000 (20:53 +0000)]
PR c++/69131
* method.c (walk_field_subobs): Add dtor_from_ctor parm.
(process_subob_fn): Likewise.  Don't consider triviality if true.
(synthesize_method_walk): Pass it.

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

8 years ago PR target/67462
jakub [Mon, 11 Jan 2016 19:07:31 +0000 (19:07 +0000)]
PR target/67462
* gcc.dg/ifcvt-3.c: Only compile on lp64 targets, include also i?86
if lp64.

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

8 years ago PR target/69071
jakub [Mon, 11 Jan 2016 19:06:34 +0000 (19:06 +0000)]
PR target/69071
* lra-eliminations.c (move_plus_up): Only move plus up
if subreg of the constant can be simplified into constant
and use the simplified subreg of the constant instead of
the original constant.

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

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

8 years agoPR c++/68795: fix uninitialized close_paren_loc in cp_parser_postfix_expression
dmalcolm [Mon, 11 Jan 2016 18:03:15 +0000 (18:03 +0000)]
PR c++/68795: fix uninitialized close_paren_loc in cp_parser_postfix_expression

gcc/cp/ChangeLog:
PR c++/68795
* parser.c (cp_parser_postfix_expression): Initialize
close_paren_loc to UNKNOWN_LOCATION; only use it if
it has been written to by
cp_parser_parenthesized_expression_list.
(cp_parser_parenthesized_expression_list): Document the behavior
with respect to the CLOSE_PAREN_LOC param.

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

8 years ago PR c++/69211
jakub [Mon, 11 Jan 2016 17:59:22 +0000 (17:59 +0000)]
PR c++/69211
* cp-gimplify.c (cp_fold): If COMPOUND_EXPR or MODIFY_EXPR
folded operands have side-effects, but folding changed any of them,
build a new tree with the folded operands instead of returning the
unfolded tree.

* g++.dg/opt/pr69211.C: New test.

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

8 years ago * fold-const.c (fold_convertible_p): Don't return true
jakub [Mon, 11 Jan 2016 17:57:43 +0000 (17:57 +0000)]
* fold-const.c (fold_convertible_p): Don't return true
for conversion of VECTOR_TYPE to same sized integral type.
(fold_convert_loc): Fix up formatting.  Fold conversion of
VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
instead of NOP_EXPR.

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

8 years ago PR tree-optimization/69214
jakub [Mon, 11 Jan 2016 17:56:39 +0000 (17:56 +0000)]
PR tree-optimization/69214
* tree-vrp.c (simplify_cond_using_ranges): Don't propagate
innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
Formatting fix.

* gcc.c-torture/compile/pr69214.c: New test.

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

8 years ago PR 68980
ian [Mon, 11 Jan 2016 17:55:39 +0000 (17:55 +0000)]
PR 68980
    libgo/testsuite: portable ps usage in gotest

    gotest is using "ps" to list descendant sleep
    processes in its timeout handling, grepping
    the command name.

    We are currently using the "cmd" ps output
    formatter, which is non-portable. We should
    use "comm" which is part of the POSIX
    standard, and outputs only the command name
    and not the arguments.

    Fixes https://gcc.gnu.org/PR68980

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

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

8 years ago PR tree-optimization/69207
jakub [Mon, 11 Jan 2016 17:55:38 +0000 (17:55 +0000)]
PR tree-optimization/69207
* tree-vect-slp.c (vect_get_constant_vectors): For
VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
fold_convertible_p to vector_type's element type, and always
use VCE for non-VECTOR_BOOLEAN_TYPE_P.

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

8 years agoallocator_traits<allocator<T>> partial specialization
redi [Mon, 11 Jan 2016 16:47:58 +0000 (16:47 +0000)]
allocator_traits<allocator<T>> partial specialization

PR libstdc++/60976
* include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
Define partial specialization.
* testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
destroy members to std::allocator explicit specialization.

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

8 years ago * gcc.target/i386/pr66232-10.c: Do not compile on ia32 target.
uros [Mon, 11 Jan 2016 16:31:55 +0000 (16:31 +0000)]
* gcc.target/i386/pr66232-10.c: Do not compile on ia32 target.
* gcc.target/i386/pr66232-11.c: Ditto.
* gcc.target/i386/pr66232-12.c: Ditto.
* gcc.target/i386/pr66232-13.c: Ditto.

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

8 years ago2016-01-11 Richard Biener <rguenther@suse.de>
rguenth [Mon, 11 Jan 2016 16:02:23 +0000 (16:02 +0000)]
2016-01-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69173
* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
fixup the cycle if all stmts are in a pattern.

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

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

8 years ago PR middle-end/68999
uros [Mon, 11 Jan 2016 15:48:40 +0000 (15:48 +0000)]
PR middle-end/68999
* alias.c (base_alias_check): Move check for addresses with
alignment ANDs before the call for compare_base_decls.
(memrefs_conflict_p): Return -1 for different decls
that went through alignment adjustments.

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

8 years ago[AArch64] PR rtl-optimization/68796: Add patterns for QImode and HImode comparison...
ktkachov [Mon, 11 Jan 2016 14:44:22 +0000 (14:44 +0000)]
[AArch64] PR rtl-optimization/68796: Add patterns for QImode and HImode comparison with zero

PR rtl-optimization/68796
* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
and QImode comparisons against zero with CC_NZmode.
* config/aarch64/iterators.md (short_mask): New mode_attr.

* gcc.target/aarch64/tst_5.c: New test.
* gcc.target/aarch64/tst_6.c: Likewise.

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

8 years agonvptx plugin: do not force JIT target SM version
amonakov [Mon, 11 Jan 2016 12:55:31 +0000 (12:55 +0000)]
nvptx plugin: do not force JIT target SM version

When link_ptx runs, a CUDA device is already bound to current thread, so the
driver library knows the target architecture.  There isn't any benefit from
forcing a specific target here; on the contrary, hardcoding sm_30 breaks
offloading on later (Maxwell, sm_5x) devices.

* plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.

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

8 years agoRemove snprintf from <avx512>_(load|store)<mode>_mask
hjl [Mon, 11 Jan 2016 12:33:25 +0000 (12:33 +0000)]
Remove snprintf from <avx512>_(load|store)<mode>_mask

This patch removes snprintf from <avx512>_(load|store)<mode>_mask
patterns.

* config/i386/sse.md (<avx512>_load<mode>_mask): Remove
snprintf.
(<avx512>_store<mode>_mask): Likewise.

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

8 years ago[RTL-ifcvt] PR rtl-optimization/68841: Make sure one basic block doesn't clobber...
ktkachov [Mon, 11 Jan 2016 12:13:50 +0000 (12:13 +0000)]
[RTL-ifcvt] PR rtl-optimization/68841: Make sure one basic block doesn't clobber CC reg usage of the other

        PR rtl-optimization/68841
        * ifcvt.c (struct noce_if_info): Add orig_x field.
        (bbs_ok_for_cmove_arith): Add to_rename parameter.
        Don't record conflicts on to_rename if it's present.
        Allow memory destinations in sets.
        (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
        blocks, passing orig_x to the checks.
        (noce_process_if_block): Set if_info->orig_x appropriately.

        * gcc.dg/pr68841.c: New test.
        * gcc.c-torture/execute/pr68841.c: New test.

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

8 years agoAdd missing phi args in create_parallel_loop
vries [Mon, 11 Jan 2016 12:08:38 +0000 (12:08 +0000)]
Add missing phi args in create_parallel_loop

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

PR tree-optimization/69069
* tree-parloops.c (create_parallel_loop): Add missing phi args.

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

8 years agogcc/
ienkovich [Mon, 11 Jan 2016 12:07:31 +0000 (12:07 +0000)]
gcc/

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

PR rtl-optimization/68920
* config/i386/i386.c (ix86_option_override_internal): Restrict number
of conditional moves for  RTL if-conversion to 1 for
TARGET_ONE_IF_CONV_INSN.
* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
parameter to restirct number of conditional moves for
RTL if-conversion.
* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
conditionl moves.

gcc/testsuite/

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

PR rtl-optimization/68920
* gcc.dg/ifcvt-4.c: Add "--param max-rtl-if-conversion-insns=3" option
for ix86 targets.
* gcc.dg/ifcvt-5.c: New test.

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

8 years ago[PR69123] fix handling of MEMs in VTA to avoid dataflow oscillation
aoliva [Mon, 11 Jan 2016 10:40:33 +0000 (10:40 +0000)]
[PR69123] fix handling of MEMs in VTA to avoid dataflow oscillation

The problem arises because we used to drop overwritten MEMs from loc
lists of VALUEs, but not of other onepart variables, and it just so
happens that, by doing so, block 6 in the testcase has no D#5 in its
output in the first pass, because the MEM holding its (previous) value
was correctly dropped from value 88:88, but gains it in the second
pass because D#5 has the MEM location incoming directly in its loc
list, rather than indirectly in a VALUE.

This incorrect binding enables other blocks to believe they have a
tentative binding for D#5 in some cycles, but others, still operating
on the early conclusion, believe there isn't, and they oscillate from
that.

Since we check for escaping MEMs in clobbers, we won't lose anything
relevant by dropping call-clobbered or overwritten MEMs in all onepart
variables, and this ensures the loc intersection operation in onepart
vars won't let a MEM through that wasn't present in earlier
iterations.

for  gcc/ChangeLog

PR bootstrap/69123
* var-tracking.c (drop_overlapping_mem_locs): Operate on all
onepart vars.  Fix typo in comment.  Fix reversed condition in
unshare test.
(dataflow_set_remove_mem_locs): Operate on all onepart vars.

for gcc/testsuite/ChangeLog

PR bootstrap/69123
* g++.dg/pr69123.C: New.

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

8 years ago[PR69123] make dataflow_set_different details more verbose
aoliva [Mon, 11 Jan 2016 10:40:12 +0000 (10:40 +0000)]
[PR69123] make dataflow_set_different details more verbose

for  gcc/ChangeLog

PR bootstrap/69123
* var-tracking.c (dump_onepart_variable_differences): New.
(dataflow_set_different): If a detailed dump is requested,
delay early returns and dump differences between onepart
variables present before and after, and added variables.

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

8 years agogcc/
ienkovich [Mon, 11 Jan 2016 10:27:17 +0000 (10:27 +0000)]
gcc/

PR target/69010
* expr.c (expand_expr_real_1): For boolean vector constants
with a scalar mode use const_scalar_mask_from_tree.
(const_scalar_mask_from_tree): New.
* optabs.c (expand_vec_cond_mask_expr): Use mask mode
assigned to a mask type to handle constants.

gcc/testsuite/

PR target/69010
* gcc.target/i386/pr69010.c: New test.

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

8 years ago[PR ipa/69044] Do not clone for param removal when not possible
jamborm [Mon, 11 Jan 2016 10:09:17 +0000 (10:09 +0000)]
[PR ipa/69044] Do not clone for param removal when not possible

2016-01-11  Martin Jambor  <mjambor@suse.cz>

PR ipa/69044
* ipa-cp.c (estimate_local_effects): Do not clone for removal of
useless parameters if we cannot change function signature.

testsuite/
* gcc.target/i386/chkp-pr69044.c: New test.

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

8 years ago[PR ipa/66616] Copy can_change_signature flag to artificial thunks
jamborm [Mon, 11 Jan 2016 10:03:44 +0000 (10:03 +0000)]
[PR ipa/66616] Copy can_change_signature flag to artificial thunks

2016-01-11  Martin Jambor  <mjambor@suse.cz>

PR ipa/66616
* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
flag.

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

8 years agoDon't allow latch with phi in try_transform_to_exit_first_loop_alt
vries [Mon, 11 Jan 2016 09:38:28 +0000 (09:38 +0000)]
Don't allow latch with phi in try_transform_to_exit_first_loop_alt

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

PR tree-optimization/69109
* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
latch with phi.

* gcc.dg/autopar/pr69109-2.c: New test.
* gcc.dg/autopar/pr69109.c: New test.

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

8 years agoHandle case that outer phi res is not used in a phi in gather_scalar_reductions
vries [Mon, 11 Jan 2016 09:19:33 +0000 (09:19 +0000)]
Handle case that outer phi res is not used in a phi in gather_scalar_reductions

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

PR tree-optimization/69108
* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
res is not used in a phi.

* gcc.dg/autopar/pr69108.c: New test.

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

8 years agoFix docs for -frandom-seed.
ygribov [Mon, 11 Jan 2016 09:06:14 +0000 (09:06 +0000)]
Fix docs for -frandom-seed.

2016-01-11  Yury Gribov  <y.gribov@samsung.com>

PR 67425
* common.opt (frandom-seed): Fix parameter name.
* doc/invoke.texi (frandom-seed): Ditto and describe parameter.

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

8 years agoDon't parallelize loops if libgomp not supported
vries [Mon, 11 Jan 2016 08:55:16 +0000 (08:55 +0000)]
Don't parallelize loops if libgomp not supported

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

PR tree-optimization/69058
* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
not supported.

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

8 years ago2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
amylaar [Mon, 11 Jan 2016 04:11:19 +0000 (04:11 +0000)]
2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>

        * config/arc/arc.opt (mdiv-rem): Add period to the end.
        (mcode-density): Likewise.

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

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

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

8 years agoFix -Wmisleading indentation false-positive for do-while statement
ppalka [Sun, 10 Jan 2016 16:39:39 +0000 (16:39 +0000)]
Fix -Wmisleading indentation false-positive for do-while statement

gcc/c-family/ChangeLog:

PR c++/69029
* c-indentation.c (should_warn_for_misleading_indentation):
Don't warn about do-while statements.

gcc/testsuite/ChangeLog:

PR c++/69029
* c-c++-common/Wisleading-indentation.c: Augment test.

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

8 years ago2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org>
tkoenig [Sun, 10 Jan 2016 13:18:54 +0000 (13:18 +0000)]
2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/69154
* frontend-passes.c (in_where):  New variable.
(inline_matmul_assign):  Don't try this if we are within
a WHERE statement.
(gfc_code_walker):  Keep track of in_where.

2016-01-10  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/69154
* gfortran.dg/inline_matmul_12.f90:  New test.

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

8 years ago2016-01-10 Paul Thomas <pault@gcc.gnu.org>
pault [Sun, 10 Jan 2016 12:56:28 +0000 (12:56 +0000)]
2016-01-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67779
* trans_array.c (gfc_conv_scalarized_array_ref): Add missing
se->use_offset from condition for calculation of 'base'.

2016-01-10  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67779
* gfortran.dg/actual_array_offset_1: New test.

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

8 years agoDon't parallelize loops containing phis with addr_exprs
vries [Sun, 10 Jan 2016 12:44:57 +0000 (12:44 +0000)]
Don't parallelize loops containing phis with addr_exprs

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

PR tree-optimization/69062
* tree-parloops.c (loop_has_phi_with_address_arg): New function.
(parallelize_loops): Don't paralelize loop that has phi with address
arg.

* gcc.dg/autopar/pr69062.c: New test.

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

8 years agoFix scan-tree-dump syntax
tschwinge [Sun, 10 Jan 2016 12:12:38 +0000 (12:12 +0000)]
Fix scan-tree-dump syntax

gcc/testsuite/
* gcc.dg/vect/slp-perm-1.c: Fix scan-tree-dump syntax.
* gcc.dg/vect/slp-perm-2.c: Likewise.
* gcc.dg/vect/slp-perm-3.c: Likewise.
* gcc.dg/vect/slp-perm-5.c: Likewise.
* gcc.dg/vect/slp-perm-6.c: Likewise.
* gcc.dg/vect/slp-perm-7.c: Likewise.
* gcc.dg/vect/slp-perm-8.c: Likewise.

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

8 years agoOnly allow single exit phi for reduction in try_create_reduction_list
vries [Sun, 10 Jan 2016 09:12:03 +0000 (09:12 +0000)]
Only allow single exit phi for reduction in try_create_reduction_list

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

PR tree-optimization/69039
* tree-parloops.c (try_create_reduction_list): Only allow single exit
phi for reduction.

* gcc.dg/autopar/pr69039.c: New test.

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

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

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

8 years ago PR middle-end/68743
danglin [Sat, 9 Jan 2016 18:13:44 +0000 (18:13 +0000)]
PR middle-end/68743
* match.pd: Require target has function_c99_misc before doing
truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.

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

8 years ago * configure.ac (isl_options_set_schedule_serialize_sccs): Also
gerald [Sat, 9 Jan 2016 13:25:22 +0000 (13:25 +0000)]
* configure.ac (isl_options_set_schedule_serialize_sccs): Also
use GMPINC.
* configure: Regenerate.

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

8 years ago PR c++/69113
mpolacek [Sat, 9 Jan 2016 11:15:26 +0000 (11:15 +0000)]
PR c++/69113
* decl2.c (comdat_linkage): Only set DECL_COMDAT if TREE_PUBLIC is set.

* g++.dg/pr69113.C: New test.

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

8 years ago PR middle-end/50865
jakub [Sat, 9 Jan 2016 07:37:04 +0000 (07:37 +0000)]
PR middle-end/50865
PR tree-optimization/69097
* fold-const.h (expr_not_equal_to): New prototype.
* fold-const.c: Include stringpool.h and tree-ssanames.h.
(expr_not_equal_to): New function.
* match.pd (X % -Y is the same as X % Y): Don't optimize
unless X is known not to be equal to minimum or Y is known
not to be equal to -1.
* tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
fold TRUNC_MOD_EXPR if the second argument is not a power of two.
(simplify_stmt_using_ranges): Adjust caller.
(vrp_finalize): Call set_value_range on SSA_NAMEs before calling
substitute_and_fold.

* gcc.c-torture/execute/pr50865.c: New test.
* gcc.c-torture/execute/pr69097-1.c: New test.
* gcc.c-torture/execute/pr69097-2.c: New test.
* gcc.dg/pr69097-1.c: New test.
* gcc.dg/pr69097-2.c: New test.

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

8 years ago PR c++/69164
jakub [Sat, 9 Jan 2016 07:34:41 +0000 (07:34 +0000)]
PR c++/69164
* class.c (layout_class_type): Use copy_node to copy FIELD_DECLs.

* g++.dg/opt/pr69164.C: New test.

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

8 years ago PR c++/69158
jason [Sat, 9 Jan 2016 05:12:03 +0000 (05:12 +0000)]
PR c++/69158

* constexpr.c (cxx_fold_indirect_ref): Handle array type differing
in completion.

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

8 years agoDaily bump.
gccadmin [Sat, 9 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.

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

8 years ago * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
hubicka [Fri, 8 Jan 2016 21:19:04 +0000 (21:19 +0000)]
* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
w/o DECL_NAME.

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

8 years ago PR tree-optimization/69167
jakub [Fri, 8 Jan 2016 20:50:24 +0000 (20:50 +0000)]
    PR tree-optimization/69167
        * gimple-fold.c (replace_stmt_with_simplification): Also punt if
new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
ops[0] comparison.
* gimple-match-head.c (maybe_push_res_to_seq): Likewise.

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

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

8 years ago PR c++/68449
mpolacek [Fri, 8 Jan 2016 19:08:37 +0000 (19:08 +0000)]
PR c++/68449
* constexpr.c (cxx_eval_constant_expression): Handle NULL initializer.

* g++.dg/pr68449.C: New.

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

8 years ago[PATCH] Fix PR68707
alalaw01 [Fri, 8 Jan 2016 18:02:35 +0000 (18:02 +0000)]
[PATCH] Fix PR68707

gcc/:
* tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
instances that can be handled via vect_load_lanes.

gcc/testsuite/:

* lib/target-supports.exp (check_effective_target_vect_load_lanes): New.
* gcc.dg/vect/slp-perm-1.c: Look for vect_load_lanes instead of SLP
on platforms supporting it.
* gcc.dg/vect/slp-perm-2.c: Likewise.
* gcc.dg/vect/slp-perm-3.c: Likewise.
* gcc.dg/vect/slp-perm-5.c: Likewise.
* gcc.dg/vect/slp-perm-7.c: Likewise.
* gcc.dg/vect/slp-perm-8.c: Likewise.
* gcc.dg/vect/slp-perm-6.c: Look for vect_load_lanes in addition to SLP
on platforms supporting it.

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

8 years ago * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
uros [Fri, 8 Jan 2016 16:13:18 +0000 (16:13 +0000)]
* symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
if we can't determine address equivalence.
* alias.c (compare_base_decl): Update for changed return value of
symtab_node::equal_address_to.

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

8 years ago * constexpr.c (cxx_eval_call_expression): Remove convert_to_void
jason [Fri, 8 Jan 2016 16:01:17 +0000 (16:01 +0000)]
* constexpr.c (cxx_eval_call_expression): Remove convert_to_void
workaround.

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

8 years ago PR c++/68983 (BE)
jason [Fri, 8 Jan 2016 16:01:12 +0000 (16:01 +0000)]
PR c++/68983 (BE)

PR c++/67557
gcc/
* function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
* expr.c (store_field): Not here.
* tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
call with TREE_ADDRESSABLE type.
* tree-cfg.c (verify_gimple_call): Adjust.
gcc/cp/
* cvt.c (convert_to_void): Don't strip a TARGET_EXPR of
TREE_ADDRESSABLE type.

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

8 years ago PR c++/68983 (FE)
jason [Fri, 8 Jan 2016 16:01:05 +0000 (16:01 +0000)]
PR c++/68983 (FE)

PR c++/67557
* call.c (unsafe_copy_elision_p): Look through COMPOUND_EXPR.

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

8 years agoUse -std option in test for C99 macros in <cmath>
redi [Fri, 8 Jan 2016 14:59:36 +0000 (14:59 +0000)]
Use -std option in test for C99 macros in <cmath>

* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++.cc: Rename to ...
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++0x.cc: Rename to ...
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++11.cc: Here.

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

8 years ago * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
hainque [Fri, 8 Jan 2016 14:34:08 +0000 (14:34 +0000)]
* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
libc_internal.

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

8 years agoFix PR number in previous commit
redi [Fri, 8 Jan 2016 13:19:25 +0000 (13:19 +0000)]
Fix PR number in previous commit

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

8 years agoAdd missing include for std::__addressof
redi [Fri, 8 Jan 2016 13:14:01 +0000 (13:14 +0000)]
Add missing include for std::__addressof

PR libstdc++/69160
* include/bits/uses_allocator.h: Add missing include.

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

8 years ago[PATCH][RS6000] Migrate reduction optabs in paired.md
alalaw01 [Fri, 8 Jan 2016 11:15:58 +0000 (11:15 +0000)]
[PATCH][RS6000] Migrate reduction optabs in paired.md

* gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
(reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
(reduc_smin_v2sf): Rename to...
(reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
(reduc_splus_v2sf): Rename to...
(reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.

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

8 years ago PR tree-optimization/69162
jakub [Fri, 8 Jan 2016 10:14:29 +0000 (10:14 +0000)]
PR tree-optimization/69162
* gimplify.c (gimplify_va_arg_expr): Encode original type of
valist argument in another argument.
(gimplify_modify_expr): Adjust for the above change.  Cleanup.
* tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
to determine the va_list type, build a MEM_REF instead of
build_fold_indirect_ref.

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

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

8 years ago PR tree-optimization/69172
jakub [Fri, 8 Jan 2016 10:13:23 +0000 (10:13 +0000)]
PR tree-optimization/69172
* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
gimple_build.

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

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

8 years ago2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Fri, 8 Jan 2016 09:21:19 +0000 (09:21 +0000)]
2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    PR tree-optimization/67781
    * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
    and cmpnop in two steps: first the ones not accessed in original
    gimple expression in a endian independent way and then the ones not
    accessed in the final result in an endian-specific way.

    gcc/testsuite/
    PR tree-optimization/67781
    * gcc.c-torture/execute/pr67781.c: New file.

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

8 years ago PR tree-optimization/69083
jakub [Fri, 8 Jan 2016 08:37:17 +0000 (08:37 +0000)]
PR tree-optimization/69083
* tree-vect-slp.c (vect_get_constant_vectors): For
VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
element type.  If op is fold_convertible_p to vector_type's element
type, use NOP_EXPR instead of VCE.

* gcc.dg/vect/pr69083.c: New test.

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

8 years agoRestrict to linux and gnu targets as not all math.h implementations support the
ssaraswati [Fri, 8 Jan 2016 08:35:02 +0000 (08:35 +0000)]
Restrict to linux and gnu targets as not all math.h implementations support the
issignaling macro. Use -fexcess-precision=standard for compiler options. Use fabs()
only when  __FLT_EVAL_METHOD__ == 0.

gcc/testsuite/
* gcc.dg/pr61441.c: Restrict to linux and gnu targets.
Use -fexcess-precision=standard for compiler options.
Use fabs() only when  __FLT_EVAL_METHOD__ == 0.

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

8 years ago PR fortran/69128
jakub [Fri, 8 Jan 2016 06:45:18 +0000 (06:45 +0000)]
PR fortran/69128
* trans.h (OMPWS_SCALARIZER_BODY): Define.
(OMPWS_NOWAIT): Renumber.
* trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
if OMPWS_SCALARIZER_BODY is not set already, and set also
OMPWS_SCALARIZER_BODY until the final loop creation.
* trans-expr.c (gfc_trans_assignment_1): Likewise.
* trans-openmp.c (gfc_trans_omp_workshare): Also clear
OMPWS_SCALARIZER_BODY.
* trans-array.c (gfc_trans_scalarized_loop_end): Don't create
OMP_FOR if OMPWS_SCALARIZER_BODY is set.

* gfortran.dg/gomp/pr69128.f90: New test.

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

8 years ago PR c++/69145
jakub [Fri, 8 Jan 2016 06:43:31 +0000 (06:43 +0000)]
PR c++/69145
* files.c (cpp_included_before): If IS_ADHOC_LOC (location), lookup
real location from the line_table.

* g++.dg/ext/pr69145-1.C: New test.
* g++.dg/ext/pr69145-2-very-long-filename.cc: New file.
* g++.dg/ext/pr69145-2.h: New file.

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

8 years agoshrink-wrap: Once more PRs 67778, 68634, and now 68909
segher [Fri, 8 Jan 2016 03:58:40 +0000 (03:58 +0000)]
shrink-wrap: Once more PRs 67778, 68634, and now 68909

If a candidate PRE cannot get the prologue because a block BB is
reachable from it, but PRE does not dominate BB, we try again with the
dominators of PRE.  That "try again" needs to again consider BB though,
we aren't done with it.

PR rtl-optimization/67778
PR rtl-optimization/68634
PR rtl-optimization/68909
* shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
block from the stack until done with it.  Remove a superfluous
bitmap set.  Remove a superfluous bitmap test.

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

8 years agoPR c/68966 - atomic_fetch_* on atomic_bool not diagnosed
msebor [Fri, 8 Jan 2016 01:00:25 +0000 (01:00 +0000)]
PR c/68966 - atomic_fetch_* on atomic_bool not diagnosed

gcc/ChangeLog:
* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
constraint on the type of arguments.

gcc/c-family/ChangeLog:
* c-common.c (sync_resolve_size): Reject first argument when it's
a pointer to _Bool.

gcc/testsuite/ChangeLog:
* gcc.dg/atomic-fetch-bool.c: New test.
* gcc.dg/sync-fetch-bool.c: New test.

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

8 years agoDaily bump.
gccadmin [Fri, 8 Jan 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

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

8 years agolonglong: fix sh -Wundef builds
vapier [Thu, 7 Jan 2016 22:18:09 +0000 (22:18 +0000)]
longlong: fix sh -Wundef builds

This file fails when building for SuperH as it assumes __SHMEDIA__
is always defined.  Update the code to check if it's defined.

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

8 years ago2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
andreast [Thu, 7 Jan 2016 20:35:53 +0000 (20:35 +0000)]
2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>

    * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
    SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
    unaligned_access on the gcc_options set.
    * config/arm/arm.c (arm_option_override_internal): Use
    SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.

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

8 years ago2016-01-07 Uros Bizjak <ubizjak@gmail.com>
uros [Thu, 7 Jan 2016 19:06:37 +0000 (19:06 +0000)]
2016-01-07  Uros Bizjak  <ubizjak@gmail.com>

PR target/69140
* config/i386/i386.c (ix86_frame_pointer_required): Enable
frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.

2016-01-07  Uros Bizjak  <ubizjak@gmail.com>

Revert
2016-01-06  Uros Bizjak  <ubizjak@gmail.com>

PR target/69140
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
depending on frame_pointer_needed before remaining integer and SSE
registers are saved.

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

8 years agoMove pr66680.f90 to libgomp
hjl [Thu, 7 Jan 2016 18:18:29 +0000 (18:18 +0000)]
Move pr66680.f90 to libgomp

gcc/testsuite/

PR fortran/66680
gfortran.dg/gomp/pr66680.f90: Moved to libgomp.

libgomp/

PR fortran/66680
* testsuite/libgomp.fortran/pr66680.f90: New test.

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

8 years ago2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
sandra [Thu, 7 Jan 2016 18:02:25 +0000 (18:02 +0000)]
2016-01-07  Sandra Loosemore <sandra@codesourcery.com>

PR 1078
gcc/
* doc/extend.texi (Nvidia PDX Function Attributes): New section.

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

8 years agoAdd a test for PR66655
nickc [Thu, 7 Jan 2016 17:13:50 +0000 (17:13 +0000)]
Add a test for PR66655

PR target/66655
* g++.dg/pr66655.C: New test.
* g++.dg/pr66655_1.cc: Test support file.
* g++.dg/pr66655.h: Test header file.

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

8 years agoUse std::addressof in insert iterators, allocators and promises
redi [Thu, 7 Jan 2016 15:01:33 +0000 (15:01 +0000)]
Use std::addressof in insert iterators, allocators and promises

PR libstdc++/69105
PR libstdc++/69106
PR libstdc++/69114
* include/bits/stl_iterator.h (back_insert_iterator,
front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
* include/bits/uses_allocator.h (__use_alloc): Use __addressof.
* include/std/future (__future::base::_State_baseV2::__setter):
Likewise.
* include/std/scoped_allocator (__outermost): Likewise.
* testsuite/20_util/scoped_allocator/69114.cc: New.
* testsuite/20_util/uses_allocator/69114.cc: New.
* testsuite/30_threads/promise/69106.cc: New.

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

8 years ago2016-01-07 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Thu, 7 Jan 2016 13:21:54 +0000 (13:21 +0000)]
2016-01-07  Dominique d'Humieres <dominiq@lps.ens.fr>

PR fortran/66680
gfortran.dg/gomp/pr66680.f90: New test.

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

8 years agoAdd round_nimm_scalar_predicate and use xBm
hjl [Thu, 7 Jan 2016 12:43:06 +0000 (12:43 +0000)]
Add round_nimm_scalar_predicate and use xBm

Add round_nimm_scalar_predicate for scalar SSE integer to floating point
conversions since round_nimm_predicate is for vector operand.

round_constraint can't be used on vector SSE patterns since it is mapped
to "vm".  The "xBm" constraint must be used in this case.

gcc/

PR target/69171
* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
Use the "xBm" constraint.
(float<sseintvecmodelower><mode>2<mask_name><round_name):
Likewise.
(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
(sse_cvtsi2ssq<round_name>): Likewise.
(sse_cvtss2si<round_name>): Likewise.
(sse_cvtss2siq<round_name>): Likewise.
(sse2_cvtsi2sdq<round_name>): Likewise.
(sse2_cvtsd2si<round_name>): Likewise.
(sse2_cvtsd2siq<round_name>): Likewise.
* config/i386/subst.md (round_nimm_scalar_predicate): New
predicate.

gcc/testsuite/

PR target/69171
* gcc.target/i386/pr69171-1.c: New test.
* gcc.target/i386/pr69171-2.c: Likewise.
* gcc.target/i386/pr69171-3.c: Likewise.
* gcc.target/i386/pr69171-4.c: Likewise.
* gcc.target/i386/pr69171-5.c: Likewise.
* gcc.target/i386/pr69171-6.c: Likewise.

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

8 years agoFix SSA inconsistencies with invalid asm reg names (PR67639)
bernds [Thu, 7 Jan 2016 12:17:39 +0000 (12:17 +0000)]
Fix SSA inconsistencies with invalid asm reg names (PR67639)

PR middle-end/67639
* varasm.c (make_decl_rtl): Mark invalid register vars as
DECL_EXTERNAL.

testsuite/
PR middle-end/67639
* c-c++-common/pr67639.c: New test.

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

8 years agoFix a minor issue found by a static analyzer (PR66206).
bernds [Thu, 7 Jan 2016 12:15:59 +0000 (12:15 +0000)]
Fix a minor issue found by a static analyzer (PR66206).

PR rtl-optimization/66206
* bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
All callers changed.

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

8 years ago PR tree-optimization/69141
jakub [Thu, 7 Jan 2016 08:47:44 +0000 (08:47 +0000)]
PR tree-optimization/69141
* tree-ssa-pre.c: Include langhooks.h.
(eliminate_dom_walker::before_dom_children): Use
lang_hooks.decl_printable_name instead of
cgraph_node::get ()->name ().

* g++.dg/opt/pr69141.C: New test.

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

8 years ago PR middle-end/68960
jakub [Thu, 7 Jan 2016 08:45:54 +0000 (08:45 +0000)]
PR middle-end/68960
* gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
it and DECL_ALIGN too.

* testsuite/libgomp.c/pr68960.c: New test.

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

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

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

8 years ago * gcc.target/sparc/20151219-1.c: Skip in 64-bit mode.
ebotcazou [Wed, 6 Jan 2016 23:34:10 +0000 (23:34 +0000)]
* gcc.target/sparc/20151219-1.c: Skip in 64-bit mode.

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

8 years agocorrect openacc.h filename
nathan [Wed, 6 Jan 2016 21:26:47 +0000 (21:26 +0000)]
correct openacc.h filename

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

8 years agoReorder function types.
rts [Wed, 6 Jan 2016 21:10:59 +0000 (21:10 +0000)]
Reorder function types.

* config/mips/mips-ftypes.def: Sort to lexicographical order.

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

8 years agoRemove noexcept from function template that can throw
redi [Wed, 6 Jan 2016 20:34:41 +0000 (20:34 +0000)]
Remove noexcept from function template that can throw

PR libstdc++/69092
* include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
Remove _GLIBCXX_NOEXCEPT.
testsuite/21_strings/basic_string/cons/char/69092.cc: New.

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

8 years ago PR target/69140
uros [Wed, 6 Jan 2016 20:19:04 +0000 (20:19 +0000)]
PR target/69140
* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
depending on frame_pointer_needed before remaining integer and SSE
registers are saved.

testsuite/ChangeLog:

PR target/69140
* gcc.target/i386/pr69140.c: New test

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

8 years agoC: fix reported range of invalid unary dereference.
dmalcolm [Wed, 6 Jan 2016 20:13:19 +0000 (20:13 +0000)]
C: fix reported range of invalid unary dereference.

gcc/c/ChangeLog:
* c-parser.c (c_parser_unary_expression): For dereferences, build
a combined location before calling build_indirect_ref, so that
error reports cover the full range, manually updating the c_expr
src_range.

gcc/testsuite/ChangeLog:
* gcc.dg/bad-dereference.c: New test case.

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

8 years ago[gcc]
wschmidt [Wed, 6 Jan 2016 19:19:47 +0000 (19:19 +0000)]
[gcc]

2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
mode iterator with VSX_M2.
(*p9_vecstore_<mode>): Likewise.
(*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
(*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
(*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
(define_split for VSX_LE128 stores): Likewise.
(define_peephole2 for TImode LE swaps): Likewise.
(define_split for VSX_LE128 post-reload stores): Likewise.

[gcc/testsuite]

2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/p9-lxvx-stxvx-3.c: New test.

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

8 years ago * openacc.c (acc_on_device): Add routine pragma for C++ wrapper.
nathan [Wed, 6 Jan 2016 15:47:14 +0000 (15:47 +0000)]
* openacc.c (acc_on_device): Add routine pragma for C++ wrapper.
* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.

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