Tom de Vries [Sat, 16 Jan 2016 22:18:56 +0000 (22:18 +0000)]
Release_defs in expand_omp_atomic_fetch_op
2016-01-16 Tom de Vries <tom@codesourcery.com>
* omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
From-SVN: r232472
Tom de Vries [Sat, 16 Jan 2016 22:18:47 +0000 (22:18 +0000)]
Add goacc/kernels-alias-ipa-pta-4.c
2016-01-16 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/kernels-alias-ipa-pta-4.c: New test.
From-SVN: r232471
Tom de Vries [Sat, 16 Jan 2016 22:18:37 +0000 (22:18 +0000)]
Move gcc.dg/parloops-exit-first-loop-alt-*.c to gcc.dg/autopar
2016-01-16 Tom de Vries <tom@codesourcery.com>
* gcc.dg/parloops-exit-first-loop-alt.c: Move ...
* gcc.dg/autopar/parloops-exit-first-loop-alt.c: ... here. Remove
redundant dg-require-effective-target pthread.
* gcc.dg/parloops-exit-first-loop-alt-2.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
From-SVN: r232470
Torvald Riegel [Sat, 16 Jan 2016 22:08:41 +0000 (22:08 +0000)]
libitm: Ensure proxy privatization safety.
* method-gl.cc (gl_wt_dispatch::trycommit): Ensure proxy privatization
safety.
* method-ml.cc (ml_wt_dispatch::trycommit): Likewise.
* libitm/testsuite/libitm.c/priv-1.c: New.
From-SVN: r232469
David Edelsohn [Sat, 16 Jan 2016 20:04:33 +0000 (20:04 +0000)]
re PR target/68609 (PowerPC reciprocal estimate missed opportunities)
PR target/68609
* gcc.target/powerpc/recip-6.c: Enable on AIX.
* gcc.target/powerpc/recip-7.c: Same.
From-SVN: r232468
Richard Sandiford [Sat, 16 Jan 2016 11:03:18 +0000 (11:03 +0000)]
Optimise hash_table::empty
Calling redirect_edge_var_map_empty after each pass was slowing things
down because hash_table::empty () cleared all slots even if the hash
table was already empty.
Tested on x86_64-linux-gnu, where it gives a 1% compile time improvement
for fold-const.ii at -O and -O2.
gcc/
* hash-table.h (hash_table::empty): Turn into an inline wrapper
that checks whether the table is already empty. Rename the
original implementation to...
(hash_table::empty_slot): ...this new private function.
From-SVN: r232467
Paul Thomas [Sat, 16 Jan 2016 09:44:23 +0000 (09:44 +0000)]
Clean up some minor white space issues in trans-decl.c and trans-expr.c
From-SVN: r232466
David Malcolm [Sat, 16 Jan 2016 04:38:19 +0000 (04:38 +0000)]
PR diagnostic/68899: fix read-beyond-buffer when printing very wide source lines
gcc/ChangeLog:
PR diagnostic/68899
* diagnostic-show-locus.c (layout::print_source_line): Move x
offset of line until after call to
get_line_width_without_trailing_whitespace.
From-SVN: r232465
Patrick Palka [Sat, 16 Jan 2016 02:37:09 +0000 (02:37 +0000)]
Fix PR c++/69091 (ICE with operator overload having 'auto' return type)
gcc/cp/ChangeLog:
PR c++/69091
* pt.c (type_dependent_expression_p): For a function template
specialization, a type is dependent iff any of its template
arguments are.
gcc/testsuite/ChangeLog:
PR c++/69091
* g++.dg/template/pr69091.C: New test.
From-SVN: r232463
Patrick Palka [Sat, 16 Jan 2016 02:30:14 +0000 (02:30 +0000)]
Fix logic bug in Cilk Plus array expansion
gcc/cp/ChangeLog:
* cp-array-notation.c (cp_expand_cond_array_notations): Return
error_mark_node only if find_rank failed, not if it was
successful.
gcc/testsuite/ChangeLog:
* c-c++-common/cilk-plus/AN/an-if.c: Check that the original
dump does not contain an error_mark_node.
* c-c++-common/cilk-plus/CK/pr60469.c: Likewise.
* c-c++-common/cilk-plus/AN/fn_ptr-2.c: New xfail'd test.
From-SVN: r232462
Patrick Palka [Sat, 16 Jan 2016 02:27:36 +0000 (02:27 +0000)]
re PR c++/68936 (ICE: tree check: expected call_expr, have target_expr in build_min_non_dep_call_vec, at cp/tree.c:2744)
Fix PR c++/68936
gcc/cp/ChangeLog:
PR c++/68936
* tree.c (build_min_non_dep_call_vec): Don't retain the
KOENIG_LOOKUP_P flag of the non-dependent expression that's
been built.
(build_min_non_dep_op_overload): Instead, do it here.
gcc/testsuite/ChangeLog:
PR c++/68936
* g++.dg/template/pr68936.C: New test.
From-SVN: r232461
GCC Administrator [Sat, 16 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232460
Jonathan Wakely [Fri, 15 Jan 2016 23:12:13 +0000 (23:12 +0000)]
Use static assertion for uses-allocator construction
PR libstdc++/69293
* include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
static assertion that type is constructible from the arguments.
* testsuite/20_util/scoped_allocator/69293_neg.cc: New.
* testsuite/20_util/uses_allocator/69293_neg.cc: New.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
From-SVN: r232457
David Edelsohn [Fri, 15 Jan 2016 23:04:23 +0000 (23:04 +0000)]
re PR target/68609 (PowerPC reciprocal estimate missed opportunities)
PR target/68609
* gcc.target/powerpc/recip-1.c: Adjust for Goldschmidt's Algorithm.
* gcc.target/powerpc/recip-2.c: Same.
* gcc.target/powerpc/recip-3.c: Same.
* gcc.target/powerpc/recip-4.c: Same.
* gcc.target/powerpc/recip-sqrtf.c: Same.
From-SVN: r232456
Jonathan Wakely [Fri, 15 Jan 2016 23:00:30 +0000 (23:00 +0000)]
PR libstdc++/69294 Check for isinf and isnan on AIX
PR libstdc++/69294
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
and isnan on AIX. Quote variables.
* configure: Regenerate.
From-SVN: r232455
Torvald Riegel [Fri, 15 Jan 2016 22:42:41 +0000 (22:42 +0000)]
libstdc++: Make certain exceptions transaction_safe.
From-SVN: r232454
Jeff Law [Fri, 15 Jan 2016 22:32:05 +0000 (15:32 -0700)]
re PR tree-optimization/69270 (DOM should exploit range information to create more equivalences)
PR tree-optimization/69270
* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
ssa_name_has_boolean_range and constant_boolean_node.
PR tree-optimization/69270
* gcc.dg/tree-ssa/pr69270-2.c: New test.
* gcc.dg/tree-ssa/pr69270-3.c: New test.
From-SVN: r232453
Steve Ellcey [Fri, 15 Jan 2016 22:26:02 +0000 (22:26 +0000)]
random.tcc: Use __builtin_isfinite instead of std::isfinite.
2016-01-15 Steve Ellcey <sellcey@imgtec.com>
* include/ext/random.tcc: Use __builtin_isfinite instead of
std::isfinite.
From-SVN: r232452
Jakub Jelinek [Fri, 15 Jan 2016 20:57:54 +0000 (21:57 +0100)]
re PR bootstrap/68271 (Boostrap fails on x86_64-apple-darwin14 at r230084)
PR bootstrap/68271
* parser.h (cp_token): Remove pragma_kind field. Add comment
with number of unused bits.
* parser.c (eof_token): Remove pragma_kind field initializer.
(cp_lexer_get_preprocessor_token): Don't set pragma_kind
field, don't clear CPP_PRAGMA u.value.
(cp_parser_pragma_kind): New function.
(cp_parser_omp_sections_scope, cp_parser_oacc_kernels_parallel,
cp_parser_omp_construct, cp_parser_initial_pragma,
cp_parser_pragma): Use cp_parser_pragma_kind instead of accessing
pragma_kind field.
* c-pragma.c (c_register_pragma_1): Adjust comment to note that
C++ FE no longer has limit on number of pragmas.
From-SVN: r232451
Paul Thomas [Fri, 15 Jan 2016 20:33:58 +0000 (20:33 +0000)]
re PR fortran/64324 (Deferred character specific functions not permitted in generic operator interface)
2016-01-15 Paul Thomas <pault@gcc.gnu.org>
PR fortran/64324
* resolve.c (check_uop_procedure): Prevent deferred length
characters from being trapped by assumed length error.
PR fortran/49630
PR fortran/54070
PR fortran/60593
PR fortran/60795
PR fortran/61147
PR fortran/64324
* trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for
function as well as variable expressions.
(gfc_array_init_size): Add 'expr' as an argument. Use this to
correctly set the descriptor dtype for deferred characters.
(gfc_array_allocate): Add 'expr' to the call to
'gfc_array_init_size'.
* trans.c (gfc_build_array_ref): Expand logic for setting span
to include indirect references to character lengths.
* trans-decl.c (gfc_get_symbol_decl): Ensure that deferred
result char lengths that are PARM_DECLs are indirectly
referenced both for directly passed and by reference.
(create_function_arglist): If the length type is a pointer type
then store the length as the 'passed_length' and make the char
length an indirect reference to it.
(gfc_trans_deferred_vars): If a character length has escaped
being set as an indirect reference, return it via the 'passed
length'.
* trans-expr.c (gfc_conv_procedure_call): The length of
deferred character length results is set TREE_STATIC and set to
zero.
(gfc_trans_assignment_1): Do not fix the rse string_length if
it is a variable, a parameter or an indirect reference. Add the
code to trap assignment of scalars to unallocated arrays.
* trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and
all references to it. Instead, replicate the code to obtain a
explicitly defined string length and provide a value before
array allocation so that the dtype is correctly set.
trans-types.c (gfc_get_character_type): If the character length
is a pointer, use the indirect reference.
2016-01-15 Paul Thomas <pault@gcc.gnu.org>
PR fortran/49630
* gfortran.dg/deferred_character_13.f90: New test for the fix
of comment 3 of the PR.
PR fortran/54070
* gfortran.dg/deferred_character_8.f90: New test
* gfortran.dg/allocate_error_5.f90: New test
PR fortran/60593
* gfortran.dg/deferred_character_10.f90: New test
PR fortran/60795
* gfortran.dg/deferred_character_14.f90: New test
PR fortran/61147
* gfortran.dg/deferred_character_11.f90: New test
PR fortran/64324
* gfortran.dg/deferred_character_9.f90: New test
From-SVN: r232450
Jakub Jelinek [Fri, 15 Jan 2016 20:20:58 +0000 (21:20 +0100)]
execute_command_line.c (set_cmdstat): Use "%s", msg instead of msg to avoid -Wformat-security warning.
* intrinsics/execute_command_line.c (set_cmdstat): Use "%s", msg
instead of msg to avoid -Wformat-security warning.
From-SVN: r232449
Jakub Jelinek [Fri, 15 Jan 2016 20:15:44 +0000 (21:15 +0100)]
adaint.c (__gnat_locate_exec_on_path): Use const char * instead of char * for path_val to avoid warnings.
* adaint.c (__gnat_locate_exec_on_path): Use const char * instead
of char * for path_val to avoid warnings.
From-SVN: r232448
Jakub Jelinek [Fri, 15 Jan 2016 19:56:26 +0000 (20:56 +0100)]
* task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
From-SVN: r232447
Vladimir Makarov [Fri, 15 Jan 2016 19:33:33 +0000 (19:33 +0000)]
re PR rtl-optimization/69030 (ICE on x86_64-linux-gnu at -O2 and above in 32-bit mode (ICE in copy_rtx, at rtl.c:358))
2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/69030
* lra-spills.c (remove_pseudos): Check nrefs and make the function
returning bool.
(spill_pseudos): Delete debug insn for dead pseudo.
(lra_spill): Initiate spill_hard_reg and slots memory separately.
From-SVN: r232445
Jiong Wang [Fri, 15 Jan 2016 17:50:01 +0000 (17:50 +0000)]
[AArch64] Remove TODO (redundant type conversions) in arm_neon.h
gcc/
* config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
New.
(TYPES_UNOPUS): Likewise.
* config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
builtin type, from UNOP to UNOPUS.
(lbtruncuv4sf): Likewise.
(lbtruncuv2df): Likewise.
(lrounduv2sf): Likewise.
(lrounduv4sf): Likewise.
(lrounduv2df): Likewise.
(lroundusf): Likewise.
(lroundusf): Likewise.
(lceiluv2sf): Likewise.
(lceiluv4sf): Likewise.
(lceiluv2df): Likewise.
(lceilusf): Likewise.
(lceiludf): Likewise.
(lflooruv2sf): Likewise.
(lflooruv4sf): Likewise.
(lflooruv2df): Likewise.
(lfloorusf): Likewise.
(lfloorudf): Likewise.
(lfrintnuv2sf): Likewise.
(lfrintnuv4sf): Likewise.
(lfrintnuv2df): Likewise.
(lfrintnusf): Likewise.
(lfrintnudf): Likewise.
* config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
conversion.
(vcvtq_u32_f32): Likewise.
(vcvtq_u64_f64): Likewise.
(vcvta_u32_f32): Likewise.
(vcvtaq_u32_f32): Likewise.
(vcvtaq_u64_f64): Likewise.
(vcvtm_u32_f32): Likewise.
(vcvtmq_u32_f32): Likewise.
(vcvtmq_u64_f64): Likewise.
(vcvtn_u32_f32): Likwise.
(vcvtnq_u32_f32): Likewise.
(vcvtnq_u64_f64): Likewise.
(vcvtp_u32_f32): Likewise.
(vcvtpq_u32_f32): Likewise.
(vcvtpq_u64_f64): Likewise.
(vcvtmd_u64_f64): Likewise.
(vcvtms_u32_f32): Likewise.
(vcvtad_u64_f64): Likewise.
(vcvtas_u32_f32): Likewise.
(vcvtnd_u64_f64): Likewise.
(vcvtns_u32_f32): Likewise.
(vcvtpd_u64_f64): Likewise.
(vcvtps_u32_f32): Likewise.
From-SVN: r232444
Kyrylo Tkachov [Fri, 15 Jan 2016 17:30:12 +0000 (17:30 +0000)]
[AArch64] Handle CSEL of zero_extended operands in rtx costs
* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
CSEL of zero_extended registers.
From-SVN: r232442
Kyrylo Tkachov [Fri, 15 Jan 2016 17:29:16 +0000 (17:29 +0000)]
[AArch64] Handle compare of zero_extract form of TST-immediate in rtx costs
* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
From-SVN: r232441
Kyrylo Tkachov [Fri, 15 Jan 2016 17:27:41 +0000 (17:27 +0000)]
[AArch64] Properly reject invalid attribute strings
* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
false when argument string is not found in the attributes table
at all.
* gcc.target/aarch64/target_attr_17.c: New test.
From-SVN: r232440
David Edelsohn [Fri, 15 Jan 2016 16:38:08 +0000 (16:38 +0000)]
re PR target/68609 (PowerPC reciprocal estimate missed opportunities)
PR target/68609
* config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
(rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
* config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
precision estimate.
From-SVN: r232439
Jason Merrill [Fri, 15 Jan 2016 15:57:17 +0000 (10:57 -0500)]
re PR c++/68847 (ICE in cxx_eval_constant_expression on __atomic_compare_exchange (constexpr.c:3719) in c++)
PR c++/68847
* call.c (build_cxx_call): Use fold_non_dependent_expr.
From-SVN: r232438
Jason Merrill [Fri, 15 Jan 2016 15:57:12 +0000 (10:57 -0500)]
typeck2.c (cxx_incomplete_type_diagnostic): Use the location of value.
* typeck2.c (cxx_incomplete_type_diagnostic): Use the location of
value.
From-SVN: r232437
Jason Merrill [Fri, 15 Jan 2016 15:57:07 +0000 (10:57 -0500)]
re PR c++/69257 (g++ ICE in "create_tmp_var" on invalid inline-asm)
PR c++/69257
* typeck.c (decay_conversion): Don't call mark_rvalue_use for
array/function-to-pointer conversion. Call
complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
* call.c (convert_like_real): Print call context if
decay_conversion errors.
From-SVN: r232436
Richard Biener [Fri, 15 Jan 2016 15:43:48 +0000 (15:43 +0000)]
re PR tree-optimization/66856 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:234)
2016-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/66856
* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
(vect_create_new_slp_node): Increment stmt reference count.
(vect_get_and_check_slp_defs): Make sure stmts are nor already in
an SLP tree before swapping operands.
(vect_build_slp_tree): Likewise.
(destroy_bb_vec_info): Free stmt info after SLP instances.
* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
(STMT_VINFO_NUM_SLP_USES): New macro.
* gcc.dg/torture/pr66856-1.c: New testcase.
* gcc.dg/torture/pr66856-2.c: Likewise.
From-SVN: r232435
Richard Biener [Fri, 15 Jan 2016 15:37:38 +0000 (15:37 +0000)]
re PR debug/69137 (ICE in odr_type_p, at ipa-utils.h:257)
2016-01-15 Richard Biener <rguenther@suse.de>
PR debug/69137
* dwarf2out.c (add_linkage_name_raw): New function split out from ...
(add_linkage_name): ... here.
(gen_typedef_die): Use add_linkage_name_raw instead of
add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
if necessary.
* g++.dg/lto/pr69137_0.C: New testcase.
From-SVN: r232434
Cesar Philippidis [Fri, 15 Jan 2016 14:49:55 +0000 (06:49 -0800)]
gimplify.c (oacc_default_clause): Decode reference and pointer types for both kernels and parallel regions.
gcc/
* gimplify.c (oacc_default_clause): Decode reference and pointer
types for both kernels and parallel regions.
libgomp/
* testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
From-SVN: r232431
Richard Sandiford [Fri, 15 Jan 2016 14:41:10 +0000 (14:41 +0000)]
PR 69246: Invalid REG_ARGS_SIZE for sibcalls
The problem in this PR was that we were treating a sibcall as popping
arguments, leading to a negative REG_ARGS_SIZE.
It doesn't really make sense to treat sibcalls as popping since
(a) they're deallocating the caller's stack, not ours, and
(b) there are no optabs for popping sibcalls (any more).
Tested on x86_64-linux-gnu.
gcc/
PR middle-end/69246
* calls.c (emit_call_1): Force n_popped to zero for sibcalls.
gcc/testsuite/
PR middle-end/69246
* gcc.target/i386/pr69246.c: New test.
From-SVN: r232428
Martin Liska [Fri, 15 Jan 2016 14:39:11 +0000 (15:39 +0100)]
Fix usage of an uninitialized variable
* lto-plugin.c (all_symbols_read_handler): Assign default
value to a string variable.
From-SVN: r232426
Dominik Vogt [Fri, 15 Jan 2016 13:59:18 +0000 (13:59 +0000)]
S/390: bind_c_array_params_2: Add proper call expr regexp for S/390.
gcc/testsuite/ChangeLog
* gfortran.dg/bind_c_array_params_2.f90: Fix test patterns for S/390.
From-SVN: r232425
Ilya Enkovich [Fri, 15 Jan 2016 13:34:12 +0000 (13:34 +0000)]
i386.c (scalar_chain::compute_convert_gain): Fix typo.
gcc/
* config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
(convert_scalars_to_vector): Likewise.
From-SVN: r232424
Jonathan Wakely [Fri, 15 Jan 2016 13:13:17 +0000 (13:13 +0000)]
* doc/extend.texi (Type Traits): Fix grammar.
From-SVN: r232423
Dominik Vogt [Fri, 15 Jan 2016 12:53:00 +0000 (12:53 +0000)]
S/390: const9.C: Disable test.
gcc/testsuite/ChangeLog
PR c++/56194
* g++.dg/init/const9.C: Disable test on S/390.
From-SVN: r232422
Dominik Vogt [Fri, 15 Jan 2016 12:48:17 +0000 (12:48 +0000)]
S/390: Add -mbackchain to frame-address tests.
gcc/testsuite/ChangeLog
* g++.dg/Wframe-address.C: Test requires -mbackchain for s390*-*-*
* g++.dg/Wno-frame-address.C: Ditto.
From-SVN: r232421
Dominik Vogt [Fri, 15 Jan 2016 12:46:04 +0000 (12:46 +0000)]
S/390: Enable tree-ssa/
20040204-1.c testcase on s390.
gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/
20040204-1.c: Do not xfail on S/390.
From-SVN: r232420
Martin Jambor [Fri, 15 Jan 2016 12:43:49 +0000 (13:43 +0100)]
Avoid extraneous remapping in copy_gimple_seq_and_replace_locals
2016-01-15 Martin Jambor <mjambor@suse.cz>
* tree-inline.c (remap_decl): Use existing dclarations if
remapping a type and prevent_decl_creation_for_types.
(replace_locals_stmt): Do an initial remapping of non-VLA typed
decls first. Do real remapping with
prevent_decl_creation_for_types set.
* tree-inline.h (copy_body_data): New field
prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
padding.
From-SVN: r232419
Dominik Vogt [Fri, 15 Jan 2016 12:41:51 +0000 (12:41 +0000)]
S/390: Better help text for -mmvcle.
gcc/ChangeLog
* config/s390/s390.opt (mmvcle): More verbose help text.
From-SVN: r232418
Dominik Vogt [Fri, 15 Jan 2016 12:38:09 +0000 (12:38 +0000)]
S/390: s390.opt: Add period to -mzvector option text.
gcc/ChangeLog:
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.opt: Add period to -mzvector option text.
From-SVN: r232417
Jonathan Wakely [Fri, 15 Jan 2016 12:37:15 +0000 (12:37 +0000)]
* include/bits/std_mutex.h: Fix Doxygen @file name.
From-SVN: r232416
Richard Biener [Fri, 15 Jan 2016 11:49:43 +0000 (11:49 +0000)]
re PR tree-optimization/68961 (Test case gcc.target/powerpc/pr60203.c fails since r231674)
2016-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/68961
* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
of invariants in stores again.
* gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: New testcase.
From-SVN: r232415
Sebastian Huber [Fri, 15 Jan 2016 11:29:12 +0000 (11:29 +0000)]
[RTEMS] Add Cortex-M7 multilib for FPU support
gcc/ChangeLog
* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
From-SVN: r232414
Ilya Enkovich [Fri, 15 Jan 2016 11:04:25 +0000 (11:04 +0000)]
i386.c (ix86_expand_branch): Don't split DI mode xor instruction to SI mode.
gcc/
* config/i386/i386.c (ix86_expand_branch): Don't split
DI mode xor instruction to SI mode.
gcc/testsuite/
* gcc.target/i386/pr65105-5.c: New test.
From-SVN: r232413
Jan Hubicka [Fri, 15 Jan 2016 11:02:29 +0000 (12:02 +0100)]
* gcc.c-torture/execute/alias-4.c: New testcase.
From-SVN: r232411
Jan Hubicka [Fri, 15 Jan 2016 11:00:24 +0000 (12:00 +0100)]
re PR ipa/68148 (Devirtualization only applies to last of multiple successive calls)
PR ipa/68148
* ipa-icf.c (sem_function::merge): Virtual functions may become
reachable even if they address is not taken and there are no
idrect calls.
* g++.dg/ipa/devirt-49.C: New testcase.
From-SVN: r232410
Jan Hubicka [Fri, 15 Jan 2016 09:57:02 +0000 (10:57 +0100)]
lto-streamer-out.c (subtract_estimated_size): New function.
* lto-streamer-out.c (subtract_estimated_size): New function.
(get_symbol_initial_value): Use it.
From-SVN: r232407
Christian Bruel [Fri, 15 Jan 2016 09:02:15 +0000 (10:02 +0100)]
fix time shift again
From-SVN: r232405
Christian Bruel [Fri, 15 Jan 2016 08:57:22 +0000 (09:57 +0100)]
fix time shift
From-SVN: r232404
Christian Bruel [Fri, 15 Jan 2016 08:46:49 +0000 (09:46 +0100)]
re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)
gcc
2015-01-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
use add_builtin_function_ext_scope instead of add_builtin_function.
(neon_set_p, neon_crypto_set_p): Remove.
(arm_init_builtins): Always call arm_init_neon_builtins and
arm_init_crypto_builtins.
(arm_expand_builtin): Check that builtins are allowed for the arch.
* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
arm_init_neon_builtins call.
gcc/testsuite
2015-01-16 Christian Bruel <christian.bruel@st.com>
PR target/65837
* gcc.target/arm/attr-neon-builtin-fail2.c: New test.
* gcc.target/arm/lto/pr65837-attr_0.c: New test.
* gcc.target/arm/lto/pr65837_0.c: Fix skip condition and use ACLE name.
From-SVN: r232403
Nick Clifton [Fri, 15 Jan 2016 08:18:13 +0000 (08:18 +0000)]
t-msp430 (lib2_mul_none.o): Only use the first dependency as the source file to be compiled.
* config/msp430/t-msp430 (lib2_mul_none.o): Only use the first
dependency as the source file to be compiled.
(lib2_mul_16bit.o, lib2hw_mul_16.o, lib2hw_mul_32.o)
(lib2hw_mul_f5.o): Likewise.
From-SVN: r232402
Richard Biener [Fri, 15 Jan 2016 08:16:08 +0000 (08:16 +0000)]
re PR tree-optimization/69117 (wrong code at -O1 -fstrict-aliasing)
2016-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69117
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
of the leader conservatively.
(free_scc_vn): Restore original SSA name infos.
* gcc.dg/torture/pr69117.c: New testcase.
From-SVN: r232401
Jeff Law [Fri, 15 Jan 2016 02:45:44 +0000 (19:45 -0700)]
re PR tree-optimization/69270 (DOM should exploit range information to create more equivalences)
PR tree-optimization/69270
* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
single bit of precision, verify it's also unsigned.
(record_edge_info): Use constant_boolean_node rather than fold_convert
to convert boolean_true/boolean_false to the right type.
From-SVN: r232399
GCC Administrator [Fri, 15 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232398
Richard Henderson [Thu, 14 Jan 2016 23:12:53 +0000 (15:12 -0800)]
re PR rtl-optimization/69014 (gcc.c-torture/execute/991023-1.c FAILs with -Os -fmodulo-sched -fno-tree-vrp)
PR rtl-opt/69014
* loop-doloop.c (record_reg_sets): New.
(doloop_optimize): Reject the transform if the sequence
clobbers registers live at the end of the loop block.
(doloop_optimize_loops): Enable df_live if needed.
From-SVN: r232395
Jeff Law [Thu, 14 Jan 2016 22:45:10 +0000 (15:45 -0700)]
Fix minor whitespace problems in last commit
From-SVN: r232394
Ryan Burn [Thu, 14 Jan 2016 22:23:09 +0000 (22:23 +0000)]
[cilkplus] Fix cilk_spawn gimplification bug (PR cilkplus/69048)
PR c++/69048
* cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
to add missing cleanup point.
PR c++/69048
* g++.dg/cilk-plus/CK/pr69048.cc: New test.
From-SVN: r232393
Michael Meissner [Thu, 14 Jan 2016 21:54:16 +0000 (21:54 +0000)]
Revert 2016-01-13 change.
From-SVN: r232392
Jeff Law [Thu, 14 Jan 2016 21:43:20 +0000 (14:43 -0700)]
Re: [PATCH][PR tree-optimization/69270] Exploit VRP information in DOM
* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
typo.
From-SVN: r232391
Richard Henderson [Thu, 14 Jan 2016 21:36:12 +0000 (13:36 -0800)]
re PR c/69272 (ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm)
PR c/69272
PR tree-opt/68964
* trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
* tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
instead of builtin_decl_declared_p to test for declaration.
From-SVN: r232390
Nicklas Bo Jensen [Thu, 14 Jan 2016 21:03:11 +0000 (21:03 +0000)]
loop.texi (Loop Analysis and Representation): Document loop_depth function.
* doc/loop.texi (Loop Analysis and Representation): Document
loop_depth function.
From-SVN: r232389
Andreas Tobler [Thu, 14 Jan 2016 20:27:49 +0000 (21:27 +0100)]
configure.ac: Replace the hard-coded -ldl requirement for link_sanitizer_common with a...
2016-01-14 Andreas Tobler <andreast@gcc.gnu.org>
* configure.ac: Replace the hard-coded -ldl requirement for
link_sanitizer_common with a configure time check for -ldl.
* configure: Regenerate.
From-SVN: r232385
Tom de Vries [Thu, 14 Jan 2016 20:01:39 +0000 (20:01 +0000)]
Mark symbols in offload tables with force_output in read_offload_tables
2016-01-14 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68773
* c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
set force_output.
* parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
set force_output.
* omp-low.c (expand_omp_target): Don't set force_output.
* varpool.c (varpool_node::get_create): Same.
* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
offload_funcs with force_output.
From-SVN: r232384
Francois-Xavier Coudert [Thu, 14 Jan 2016 19:58:17 +0000 (19:58 +0000)]
re PR testsuite/67509 (FAIL: gfortran.dg/ieee/ieee_7.f90 -O0 execution test)
PR testsuite/67509
* gfortran.dg/ieee/ieee_7.f90: For out of bound precision or
range tests use 100 * maximum instead of maximum + 1.
From-SVN: r232383
Jakub Jelinek [Thu, 14 Jan 2016 19:57:34 +0000 (20:57 +0100)]
re PR debug/69244 (ICE in plus_constant, at explow.c:87 on i686-linux-gnu)
PR debug/69244
* lra-eliminations.c (move_plus_up): Don't change anything if either
the outer or inner subreg mode is not MODE_INT.
* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
* gcc.dg/guality/pr69244.c: New test.
From-SVN: r232382
Uros Bizjak [Thu, 14 Jan 2016 19:53:25 +0000 (20:53 +0100)]
target-supports.exp (check_effective_target_issignaling): New procedure.
* lib/target-supports.exp (check_effective_target_issignaling):
New procedure.
* gcc.dg/pr61441.c: Require issignaling effective target.
From-SVN: r232381
Segher Boessenkool [Thu, 14 Jan 2016 19:24:28 +0000 (20:24 +0100)]
powerpc: Add some XFAILs to
20050603-3.c (PR68803)
In r230167 I made this testcase be tested on 64-bit as well, since it
now works. That was a tad optimistic for powerpc64le though. For now,
XFAIL it there.
PR target/68803
* gcc.target/powerpc/
20050603-3.c: Add xfails for powerpc64le.
From-SVN: r232380
David Malcolm [Thu, 14 Jan 2016 19:10:17 +0000 (19:10 +0000)]
PR preprocessor/69177 and PR c++/68819: libcpp fallbacks and -Wmisleading-indentation
gcc/c-family/ChangeLog:
PR c++/68819
* c-indentation.c (get_visual_column): Add location_t param.
Handle the column number being zero by effectively disabling the
warning, with an "inform".
(should_warn_for_misleading_indentation): Add location_t argument
for all uses of get_visual_column.
gcc/testsuite/ChangeLog:
PR c++/68819
PR preprocessor/69177
* gcc.dg/plugin/location-overflow-test-1.c: New test case.
* gcc.dg/plugin/location-overflow-test-2.c: New test case.
* gcc.dg/plugin/location_overflow_plugin.c: New test plugin.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
libcpp/ChangeLog:
PR preprocessor/69177
* line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): New
constant.
(LINE_MAP_MAX_LOCATION_WITH_COLS): Add note about unit tests
to comment.
(can_be_stored_compactly_p): Reduce threshold from
LINE_MAP_MAX_LOCATION_WITH_COLS to
LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES.
(get_combined_adhoc_loc): Likewise.
(get_range_from_loc): Likewise.
(linemap_line_start): Ensure that a new ordinary map is created
when transitioning from range-packing being enabled to disabled,
at the LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES threshold. Set
range_bits to 0 for new ordinary maps when beyond this limit.
Prevent the "increase the column bits of a freshly created map"
optimization if the range bits has reduced.
From-SVN: r232379
Edward Smith-Rowland [Thu, 14 Jan 2016 18:12:43 +0000 (18:12 +0000)]
Implement TR29124 C++ special Math Functions.
2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
Jonathan Wakely <jwakely@redhat.com>
Florian Goth <CaptainSifff@gmx.de>
Implement TR29124 C++ special Math Functions.
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/bits/specfun.h: New.
* include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
* include/tr1/bessel_function.tcc: Ditto.
* include/tr1/beta_function.tcc: Ditto.
* include/tr1/cmath: Ditto.
* include/tr1/ell_integral.tcc: Ditto.
* include/tr1/exp_integral.tcc: Ditto.
* include/tr1/gamma.tcc: Ditto.
* include/tr1/hypergeometric.tcc: Ditto.
* include/tr1/legendre_function.tcc: Ditto.
* include/tr1/modified_bessel_func.tcc: Ditto.
* include/tr1/poly_hermite.tcc: Ditto.
* include/tr1/poly_laguerre.tcc: Ditto.
* include/tr1/riemann_zeta.tcc: Ditto.
* include/tr1/special_function_util.h: Ditto.
* testsuite/ext/special_functions/conf_hyperg: New.
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
* testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
* testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
* testsuite/ext/special_functions/hyperg: New.
* testsuite/ext/special_functions/hyperg/check_nan.cc: New.
* testsuite/ext/special_functions/hyperg/check_value.cc: New.
* testsuite/ext/special_functions/hyperg/compile.cc: New.
* testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
* testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
* testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
* testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
* testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
* testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
* testsuite/special_functions/02_assoc_legendre/compile.cc: New.
* testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
* testsuite/special_functions/03_beta/check_nan.cc: New.
* testsuite/special_functions/03_beta/check_value.cc: New.
* testsuite/special_functions/03_beta/compile.cc: New.
* testsuite/special_functions/03_beta/compile_2.cc: New.
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
* testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
* testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
* testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
* testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
* testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
* testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
* testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
* testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
* testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
* testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
* testsuite/special_functions/10_cyl_neumann/compile.cc: New.
* testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
* testsuite/special_functions/11_ellint_1/check_nan.cc: New.
* testsuite/special_functions/11_ellint_1/check_value.cc: New.
* testsuite/special_functions/11_ellint_1/compile.cc: New.
* testsuite/special_functions/11_ellint_1/compile_2.cc: New.
* testsuite/special_functions/12_ellint_2/check_nan.cc: New.
* testsuite/special_functions/12_ellint_2/check_value.cc: New.
* testsuite/special_functions/12_ellint_2/compile.cc: New.
* testsuite/special_functions/12_ellint_2/compile_2.cc: New.
* testsuite/special_functions/13_ellint_3/check_nan.cc: New.
* testsuite/special_functions/13_ellint_3/check_value.cc: New.
* testsuite/special_functions/13_ellint_3/compile.cc: New.
* testsuite/special_functions/13_ellint_3/compile_2.cc: New.
* testsuite/special_functions/14_expint/check_nan.cc: New.
* testsuite/special_functions/14_expint/check_value.cc: New.
* testsuite/special_functions/14_expint/compile.cc: New.
* testsuite/special_functions/14_expint/compile_2.cc: New.
* testsuite/special_functions/15_hermite/check_nan.cc: New.
* testsuite/special_functions/15_hermite/check_value.cc: New.
* testsuite/special_functions/15_hermite/compile.cc: New.
* testsuite/special_functions/15_hermite/compile_2.cc: New.
* testsuite/special_functions/16_laguerre/check_nan.cc: New.
* testsuite/special_functions/16_laguerre/check_value.cc: New.
* testsuite/special_functions/16_laguerre/compile.cc: New.
* testsuite/special_functions/16_laguerre/compile_2.cc: New.
* testsuite/special_functions/17_legendre/check_nan.cc: New.
* testsuite/special_functions/17_legendre/check_value.cc: New.
* testsuite/special_functions/17_legendre/compile.cc: New.
* testsuite/special_functions/17_legendre/compile_2.cc: New.
* testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
* testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
* testsuite/special_functions/18_riemann_zeta/compile.cc: New.
* testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
* testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
* testsuite/special_functions/19_sph_bessel/check_value.cc: New.
* testsuite/special_functions/19_sph_bessel/compile.cc: New.
* testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
* testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
* testsuite/special_functions/20_sph_legendre/check_value.cc: New.
* testsuite/special_functions/20_sph_legendre/compile.cc: New.
* testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
* testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
* testsuite/special_functions/21_sph_neumann/check_value.cc: New.
* testsuite/special_functions/21_sph_neumann/compile.cc: New.
* testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
* testsuite/util/specfun_testcase.h: New.
* testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
* testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
Co-Authored-By: Florian Goth <CaptainSifff@gmx.de>
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r232377
Marek Polacek [Thu, 14 Jan 2016 17:46:25 +0000 (17:46 +0000)]
re PR c/69262 (Request for better array bounds warning)
PR c/69262
* c-decl.c (grokdeclarator): Provide more information for invalid
array declarations.
* gcc.dg/array-15.c: New test.
From-SVN: r232376
Alan Lawrence [Thu, 14 Jan 2016 16:30:56 +0000 (16:30 +0000)]
Tidy: remove reduc_xxx_optab migration code.
* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
reduc_uplus_@var{m}): Remove.
* expr.c (expand_expr_real_2): Remove expansion path for
reduc_[us](min|max|plus) optabs.
* optabs-tree.c (scalar_reduc_to_vector): Remove.
* optabs-tree.h (scalar_reduc_to_vector): Remove.
* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
* tree-vect-loop.c (vectorizable_reduction): Remove test for
reduc_[us](min|max|plus) optabs.
From-SVN: r232373
Alan Lawrence [Thu, 14 Jan 2016 16:19:59 +0000 (16:19 +0000)]
[MIPS] Migrate reduction optabs in mips-ps-3d.md
* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
(reduc_plus_scal_v2sf): New.
(reduc_smax_v2sf): Rename to...
(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
(reduc_smin_v2sf): Rename to...
(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
From-SVN: r232371
Jason Merrill [Thu, 14 Jan 2016 15:32:31 +0000 (10:32 -0500)]
re PR c++/69261 (Copying char arrays during constexpr evaluation does not work reliably)
PR c++/69261
* constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.
From-SVN: r232370
Jan Hubicka [Thu, 14 Jan 2016 15:30:12 +0000 (16:30 +0100)]
alias.c (compare_base_symbol_refs): New function.
* alias.c (compare_base_symbol_refs): New function.
(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
it.
From-SVN: r232369
Jakub Jelinek [Thu, 14 Jan 2016 15:25:22 +0000 (16:25 +0100)]
re PR middle-end/68146 (ice in gimple_stmt_nonnegative_warnv_p with -O2)
PR middle-end/68146
PR tree-optimization/69155
* tree-complex.c: Include cfganal.h.
(phis_to_revisit): New variable.
(extract_component): Add phiarg_p argument. Assert that returned
SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
(update_phi_components): Partly rewrite to use loop over real/imag
components instead of code duplication. If extract_component returns
SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
create_tmp_reg into the PHI node instead, and mention the phi triplet
in phis_to_revisit.
(tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
in phis_to_revisit at the end.
* gfortran.dg/pr68146.f: New test.
* gfortran.dg/pr69155.f90: New test.
From-SVN: r232368
Richard Biener [Thu, 14 Jan 2016 15:13:19 +0000 (15:13 +0000)]
re PR tree-optimization/68060 (ICE on valid code at -O3 on x86_64-linux-gnu in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1413)
2016-01-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/68060
* tree-vect-loop.c (vect_is_simple_reduction): Check the
outer loop reduction is only used in the inner loop before
detecting a double reduction.
* gcc.dg/torture/pr68060-1.c: New testcase.
* gcc.dg/torture/pr68060-2.c: Likewise.
From-SVN: r232367
Jakub Jelinek [Thu, 14 Jan 2016 15:10:41 +0000 (16:10 +0100)]
re PR target/68269 (FAIL: gcc.dg/pr68129_1.c (internal compiler error))
PR target/68269
* combine.c (expand_field_assignment): Punt if compute_mode is
unsupported scalar mode.
From-SVN: r232366
Nick Clifton [Thu, 14 Jan 2016 15:05:29 +0000 (15:05 +0000)]
Update previous delta to ensure that the attributes are actually tested.
From-SVN: r232365
Richard Biener [Thu, 14 Jan 2016 14:51:35 +0000 (14:51 +0000)]
re PR tree-optimization/66856 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:234)
2016-01-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/66856
* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
SLP node only if it built successfully.
(vect_analyze_slp_instance): Adjust.
From-SVN: r232364
Nick Clifton [Thu, 14 Jan 2016 12:36:31 +0000 (12:36 +0000)]
* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add an option
sequence that includes setting the ARM architecture to ARMv7-A.
* gcc.target/arm/attr-neon.c: Use dg-add-options to add the
command line options necessary to enable Neon support.
* gcc.target/arm/neon-vlshr-imm-1.c: Likewise.
* gcc.target/arm/neon-vshl-imm-1.c: Likewise.
* gcc.target/arm/neon-vshr-imm-1.c: Likewise.
* gcc.target/arm/pr69180.c: Likewise.
From-SVN: r232362
Jeff Law [Thu, 14 Jan 2016 07:38:18 +0000 (00:38 -0700)]
[PATCH][PR tree-optimization/69270] Exploit VRP information in DOM
PR tree-optimization/69270
* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
(record_edge_info): Use it. Convert boolean_{true,false}_node
to the type of op0.
PR tree-optimization/69270
* gcc.dg/tree-ssa/pr69270.c: New test.
From-SVN: r232361
GCC Administrator [Thu, 14 Jan 2016 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232359
Jan Hubicka [Wed, 13 Jan 2016 23:47:45 +0000 (00:47 +0100)]
re PR c++/66487 (sanitizer/warnings for lifetime DSE)
PR ipa/66487
* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
use block_ultimate_origin
(noncall-stmt_may_be_vtbl_ptr_store): Likewise.
From-SVN: r232356
Sandra Loosemore [Wed, 13 Jan 2016 23:27:48 +0000 (18:27 -0500)]
invoke.texi (Submodel Options): Rename section to "Machine-Dependent Options" to better reflect its content.
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Submodel Options): Rename section to
"Machine-Dependent Options" to better reflect its content.
Rewrite introductory text to remove archaic CPU names.
Update references.
From-SVN: r232355
Torvald Riegel [Wed, 13 Jan 2016 21:39:50 +0000 (21:39 +0000)]
libitm: Fix seq-cst MOs/fences in rwlock.
From-SVN: r232353
Sandra Loosemore [Wed, 13 Jan 2016 21:03:45 +0000 (16:03 -0500)]
invoke.texi (Code Gen Options): Move section up in file, before target-specific options.
2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
gcc/
* doc/invoke.texi (Code Gen Options): Move section up in file,
before target-specific options. Update menu and option summary
to reflect the new section ordering.
From-SVN: r232352
Jonathan Wakely [Wed, 13 Jan 2016 20:30:34 +0000 (20:30 +0000)]
Improve documentation of -std option for C++
* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
(C++ Dialect Options): Add cross-reference to -std option.
* doc/standards.texi (C++ Language): Document C++14 support.
From-SVN: r232349
Michael Meissner [Wed, 13 Jan 2016 20:07:12 +0000 (20:07 +0000)]
rs6000-builtin.def (BU_FLOAT128_2): Add support for pack/unpack functions for __ibm128.
[gcc]
2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
for pack/unpack functions for __ibm128.
(PACK_IF): Likewise.
(UNPACK_IF): Likewise.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
support for __ibm128 pack/unpack functions.
(rs6000_invalid_builtin): Likewise.
(rs6000_init_builtins): Likewise.
(rs6000_opt_masks): Likewise.
* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
functions
(RS6000_BTM_COMMON): Likewise.
* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
128-bit floating point. Add support for the double values to be
in Altivec registers for TF/IF packing and unpacking, but restrict
TD packing sub-fields to be FPR registers. Don't allow overlapped
register support for packing. Allow pack inputs to be memory
locations. Don't build generator functions for unpack<mode>_dm
and unpack<mode>_nodm.
(unpack<mode>_dm): Likewise.
(unpack<mode>_nodm): Likewise.
(pack<mode>): Likewise.
* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
built-in functions to pack/unpack explicit __ibm128 values.
(__builtin_unpack_ibm128): Likewise.
* doc/extend.texi (PowerPC Built-in Functions): Document
__builtin_pack_ibm128 and __builtin_unpack_ibm128.
[libgcc]
2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
Steven Munroe <munroesj@linux.vnet.ibm.com>
Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com>
* config/rs6000/sfp-exceptions.c: New file to provide exception
support for IEEE 128-bit floating point.
* config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
floating point hardware support.
* config/rs6000/floattikf.c: New files for IEEE 128-bit floating
point conversions.
* config/rs6000/fixunskfti.c: Likewise.
* config/rs6000/fixkfti.c: Likewise.
* config/rs6000/floatuntikf.c: Likewise.
* config/rs6000/extendkftf2-sw.c: Likewise.
* config/rs6000/trunctfkf2-sw.c: Likewise.
* config/rs6000/float128-ifunc.c: New file to pick either IEEE
128-bit floating point software emulation or use ISA 3.0 hardware
support if it is available.
* config/rs6000/quad-float128.h: New file to support IEEE 128-bit
floating point.
* config/rs6000/t-float128: New Makefile fragments to enable
building __float128 emulation support.
* config/rs6000/t-float128-hw: Likewise.
* config/rs6000/float128-sed: New file to convert TF names to KF
names for PowerPC IEEE 128-bit floating point support.
* config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types
when building on 64-bit systems, or when VSX is enabled.
(_FP_W_TYPE): Likewise.
(_FP_WS_TYPE): Likewise.
(_FP_I_TYPE): Likewise.
(TItype): Define on 64-bit systems.
(UTItype): Likewise.
(TI_BITS): Likewise.
(_FP_MUL_MEAT_D): Add support for using 64-bit types.
(_FP_MUL_MEAT_Q): Likewise.
(_FP_DIV_MEAT_D): Likewise.
(_FP_DIV_MEAT_Q): Likewise.
(_FP_NANFRAC_D): Likewise.
(_FP_NANFRAC_Q): Likewise.
(ISA_BIT): Add exception support if we are being compiled on a
machine with hardware floating point support to build the IEEE
128-bit emulation functions.
(FP_EX_INVALID): Likewise.
(FP_EX_OVERFLOW): Likewise.
(FP_EX_UNDERFLOW): Likewise.
(FP_EX_DIVZERO): Likewise.
(FP_EX_INEXACT): Likewise.
(FP_EX_ALL): Likewise.
(__sfp_handle_exceptions): Likewise.
(FP_HANDLE_EXCEPTIONS): Likewise.
(FP_RND_NEAREST): Likewise.
(FP_RND_ZERO): Likewise.
(FP_RND_PINF): Likewise.
(FP_RND_MINF): Likewise.
(FP_RND_MASK): Likewise.
(_FP_DECL_EX): Likewise.
(FP_INIT_ROUNDMODE): Likewise.
(FP_ROUNDMODE): Likewise.
* configure.ac (powerpc*-*-linux*): Check whether the PowerPC
compiler can do __float128.
* configure: Regenerate.
* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
VSX code, enable IEEE 128-bit floating point.
From-SVN: r232346
Bernd Schmidt [Wed, 13 Jan 2016 20:03:26 +0000 (20:03 +0000)]
Improve warning locations (PR66208)
PR c/66208
* c-common.c (check_function_nonnull): Remove unnecessary declaration.
Add new arg loc and pass it down as context.
(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
to the location to use for the warning.
(check_function_arguments): New arg loc. All callers changed. Pass
it to check_function_nonnull.
* c-common.h (check_function_arguments): Adjust declaration.
testsuite/
PR c/66208
* c-c++-common/pr66208.c: New file.
From-SVN: r232345
Jakub Jelinek [Wed, 13 Jan 2016 19:21:59 +0000 (20:21 +0100)]
re PR middle-end/69156 (gcc.dg/pr59630.c: ICE: verify_gimple failed: non-trivial conversion at assignment with -fno-tree-ccp)
PR tree-optimization/69156
* gimple.c (validate_type): Removed.
(gimple_builtin_call_types_compatible_p): Use
useless_type_conversion_p instead of validate_type.
* value-prof.c (gimple_stringop_fixed_value): Fold
icall_size to correct type.
* gcc.dg/pr69156.c: New test.
From-SVN: r232342
Jonathan Wakely [Wed, 13 Jan 2016 19:07:21 +0000 (19:07 +0000)]
Clarify __atomic_compare_exchange effects
* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
effects.
From-SVN: r232341
H.J. Lu [Wed, 13 Jan 2016 17:08:04 +0000 (17:08 +0000)]
Add another testcase for x86 FLT_EVAL_METHOD
* gcc.target/i386/pr69225-7.c: New test.
From-SVN: r232331
Richard Henderson [Wed, 13 Jan 2016 17:03:42 +0000 (09:03 -0800)]
re PR target/68964 (Internal compiler error for test case gcc.dg/tm/
20100610.c since r231674)
PR 68964
gcc/
PR tree-opt/68964
* target.def (builtin_tm_load, builtin_tm_store): Remove.
* config/i386/i386.c (ix86_builtin_tm_load): Remove.
(ix86_builtin_tm_store): Remove.
(TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
* doc/tm.texi: Rebuild.
* gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
(BUILT_IN_TM_MEMCPY_RTWN): New.
* trans-mem.c (tm_log_emit_stmt): Rearrange code for better
fallback from vector to integer helpers.
(build_tm_load): Handle vector types directly, instead of
via target hook.
(build_tm_store): Likewise.
(expand_assign_tm): Prepare for register types not handled by
the above. Copy them to memory and use memcpy.
* 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.
From-SVN: r232330
Uros Bizjak [Wed, 13 Jan 2016 16:50:17 +0000 (17:50 +0100)]
pr45685.c (dg-options): Add -mno-sse4.
* gcc.target/i386/pr45685.c (dg-options): Add -mno-sse4.
* gcc.target/i386/pr68432-1.c (dg-options): Ditto.
* gcc.target/i386/pr68432-2.c (dg-options): Ditto.
* gcc.target/i386/pr68432-3.c (dg-options): Ditto.
From-SVN: r232329