Jeff Law [Mon, 25 Jan 2016 19:19:09 +0000 (12:19 -0700)]
re PR tree-optimization/69196 (code size regression with jump threading at -O2)
PR tree-optimization/69196
PR tree-optimization/68398
* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
tree-ssa-threadupdate.c.
(determine_bb_domination_status): Prototype
* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
(determine_bb_domination_status): No longer static.
(valid_jump_thread_path): Remove code to detect characteristics
of the jump thread path not associated with correctness.
* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
Correct test for thread path length. Count PHIs for real operands as
statements that need to be copied. Do not count ASSERT_EXPRs.
Look at all the blocks in the thread path. Compute and selectively
filter thread paths based on threading through the latch, threading
a multiway branch or crossing a multiway branch.
PR tree-optimization/69196
PR tree-optimization/68398
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output
* gcc.dg/tree-ssa/pr68198.c: Likewise.
From-SVN: r232802
Jonathan Wakely [Mon, 25 Jan 2016 16:44:30 +0000 (16:44 +0000)]
Avoid including all of <random> in <algorithm>
PR libstdc++/69464
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/bits/random.h (uniform_int_distribution): Move to
bits/uniform_int_dist.h.
* include/bits/random.tcc (uniform_int_distribution::operator(),
uniform_int_distribution::__generate_impl): Likewise.
* include/bits/uniform_int_dist.h: New header.
* include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
<bits/uniform_int_dist.h> instead of <random>.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
move_iterators/1.cc: Include correct header for uninitialized_copy.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/nth_element/58800.cc: Include correct
header for vector.
* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
From-SVN: r232798
David Edelsohn [Mon, 25 Jan 2016 16:16:21 +0000 (16:16 +0000)]
re PR target/69469 (test case gcc.target/powerpc/vsx-vector-2.c fails on power starting with r232632)
PR target/69469
* gcc.target/powerpc/vsx-vector-2.c: Adjust for Goldschmidt's
Algorithm.
From-SVN: r232796
Richard Biener [Mon, 25 Jan 2016 14:42:39 +0000 (14:42 +0000)]
re PR testsuite/69380 (FAIL: g++.dg/tree-ssa/pr69336.C scan-tree-dump-not optimized "cmap")
2016-01-25 Richard Biener <rguenther@suse.de>
PR testsuite/69380
* g++.dg/tree-ssa/pr69336.C: Restrict to x86_64 and i?86.
From-SVN: r232795
Bill Schmidt [Mon, 25 Jan 2016 14:06:28 +0000 (14:06 +0000)]
rs6000.c (rs6000_keep_leaf_when_profiled): Add decl with __attribute__ ((unused)) annotation.
2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
decl with __attribute__ ((unused)) annotation.
From-SVN: r232793
Ilya Enkovich [Mon, 25 Jan 2016 12:48:54 +0000 (12:48 +0000)]
re PR target/69421 (ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3)
gcc/
PR target/69421
* tree-vect-stmts.c (vectorizable_condition): Check vectype
of operands is compatible with a statement vectype.
gcc/testsuite/
PR target/69421
* gcc.dg/pr69421.c: New test.
From-SVN: r232792
Eric Botcazou [Mon, 25 Jan 2016 11:42:25 +0000 (11:42 +0000)]
extend.texi (scalar_storage_order type attribute): Fix typo and improve wording for mixed storage order support.
* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
improve wording for mixed storage order support.
From-SVN: r232791
Bilyan Borisov [Mon, 25 Jan 2016 11:32:07 +0000 (11:32 +0000)]
[AARCH64][ACLE][NEON] Implement vcvt*_s64_f64 and vcvt*_u64_f64 NEON intrinsics.
gcc/
* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
(vcvt_u64_f64): Likewise.
(vcvta_s64_f64): Likewise.
(vcvta_u64_f64): Likewise.
(vcvtm_s64_f64): Likewise.
(vcvtm_u64_f64): Likewise.
(vcvtn_s64_f64): Likewise.
(vcvtn_u64_f64): Likewise.
(vcvtp_s64_f64): Likewise.
(vcvtp_u64_f64): Likewise.
gcc/testsuite/
* gcc.target/aarch64/simd/vcvt_s64_f64_1.c: New.
* gcc.target/aarch64/simd/vcvt_u64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvta_s64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvta_u64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtm_s64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtm_u64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtn_s64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtn_u64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtp_s64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtp_u64_f64_1.c: Likewise.
From-SVN: r232789
Claudiu Zissulescu [Mon, 25 Jan 2016 11:15:58 +0000 (12:15 +0100)]
[ARC] Add basic support for double load and store instructions
gcc/
2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
(arc_init): Check validity mll64 option.
(arc_save_restore): Use double load/store instruction.
(arc_expand_movmem): Likewise.
(arc_split_move): Don't split if we have double load/store
instructions. Returns a boolean.
(arc_process_double_reg_moves): Change function to return boolean
instead of a sequence of instructions.
(arc_dwarf_register_span): New function.
* config/arc/arc-protos.h (arc_split_move): Change prototype.
* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
(*movdf_insn): Likewise.
* config/arc/arc.opt (mll64): New option.
* config/arc/predicates.md (even_register_operand): New predicate.
* doc/invoke.texi (ARC Options): Add mll64 documentation.
From-SVN: r232788
Richard Biener [Mon, 25 Jan 2016 09:31:47 +0000 (09:31 +0000)]
re PR lto/69393 (ICE in dwarf2out_finish, at dwarf2out.c:27175 with LTO)
2016-01-25 Richard Biener <rguenther@suse.de>
PR lto/69393
* dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
* tree-streamer-out.c (pack_ts_base_value_fields): Stream
DECL_NAMELESS.
* tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
* testsuite/libgomp.c++/pr69393.C: New testcase.
From-SVN: r232787
Richard Biener [Mon, 25 Jan 2016 09:05:47 +0000 (09:05 +0000)]
re PR tree-optimization/69376 (wrong code at -Os and above on x86_64-linux-gnu)
2016-01-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/69376
* tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
flag.
(VN_INFO_ANTI_RANGE_P): New inline.
(VN_INFO_RANGE_TYPE): Likewise.
* tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
SSA_NAME_ANTI_RANGE_P.
(free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Properly query VN_INFO_RANGE_TYPE.
* gcc.dg/torture/pr69376.c: New testcase.
From-SVN: r232786
Nick Clifton [Mon, 25 Jan 2016 08:57:02 +0000 (08:57 +0000)]
re PR target/66655 (miscompilation due to ipa-ra on MinGW)
PR target/66655
* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
From-SVN: r232785
GCC Administrator [Mon, 25 Jan 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232783
Jerry DeLisle [Sun, 24 Jan 2016 22:18:20 +0000 (22:18 +0000)]
[multiple changes]
2016-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/69397
PR fortran/68442
* interface.c (gfc_arglist_matches_symbol): Replace assert with
a return false if not a procedure.
* resolve.c (resolve_generic_f): Test if we are resolving an
initialization expression and adjust error message accordingly.
2016-01-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/69397
PR fortran/68442
* gfortran.dg/interface_38.f90: New test.
* gfortran.dg/interface_39.f90: New test.
From-SVN: r232780
Thomas Koenig [Sun, 24 Jan 2016 18:15:08 +0000 (18:15 +0000)]
re PR fortran/66094 (Handle transpose(A) in inline matmul)
2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66094
* frontend-passes.c (matmul_lhs_realloc): Add
forgotten break statement.
From-SVN: r232779
Patrick Palka [Sun, 24 Jan 2016 17:45:21 +0000 (17:45 +0000)]
Revert "Fix the remaining PR c++/24666 blockers"
gcc/cp/ChangeLog:
Revert:
2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/11858
PR c++/24663
PR c++/24664
* decl.c (grokdeclarator): Don't decay array parameter type to
a pointer type if it's dependent.
(grokparms): Invoke strip_top_quals instead of directly invoking
cp_build_qualified_type.
* pt.c (decay_dependent_array_parm_type): New static function.
(type_unification_real): Call decay_dependent_array_parm_type
to decay a dependent array parameter type to its corresponding
pointer type before unification.
(more_specialized_fn): Likewise.
(get_bindings): Likewise.
* tree.c (cp_build_qualified_type): Trivial typofix in
documentation.
gcc/testsuite/ChangeLog:
Revert:
2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/11858
PR c++/24663
PR c++/24664
* g++.dg/template/pr11858.C: New test.
* g++.dg/template/pr24663.C: New test.
* g++.dg/template/unify12.C: New test.
* g++.dg/template/unify13.C: New test.
* g++.dg/template/unify14.C: New test.
* g++.dg/template/unify15.C: New test.
* g++.dg/template/unify16.C: New test.
* g++.dg/template/unify17.C: New test.
From-SVN: r232778
Mikhail Maltsev [Sun, 24 Jan 2016 15:32:17 +0000 (15:32 +0000)]
Pass LSAN_OPTIONS to Makefiles in subdirectories
PR bootstrap/69329
* Makefile.tpl (BASE_FLAGS_TO_PASS): Add LSAN_OPTIONS.
* Makefile.in: Regenerate.
From-SVN: r232777
Dominique d'Humieres [Sun, 24 Jan 2016 13:13:38 +0000 (14:13 +0100)]
re PR fortran/68283 (ice: gfc_variable_attr(): Bad array reference)
2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/68283
gfortran.dg/pr68283.f90: New test.
From-SVN: r232776
Dominique d'Humieres [Sun, 24 Jan 2016 13:12:44 +0000 (14:12 +0100)]
[multiple changes]
2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/68283
* primary.c (gfc_variable_attr): revert revision r221955,
call gfc_internal_error only if there is no error.
2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/68283
gfortran.dg/pr68283.f90: New test.
From-SVN: r232775
Thomas Koenig [Sun, 24 Jan 2016 09:11:50 +0000 (09:11 +0000)]
re PR fortran/66094 (Handle transpose(A) in inline matmul)
2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66094
* frontend-passes.c (enum matrix_case): Add case A2B2T for
MATMUL(A,TRANSPoSE(B)) where A and B are rank 2.
(inline_limit_check): Also add A2B2T.
(matmul_lhs_realloc): Handle A2B2T.
(check_conjg_variable): Rename to
(check_conjg_transpose_variable): and also count TRANSPOSE.
(inline_matmul_assign): Handle A2B2T.
2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66094
* gfortran.dg/inline_matmul_13.f90: New test.
* gfortran.dg/matmul_bounds_8.f90: New test.
* gfortran.dg/matmul_bounds_9.f90: New test.
* gfortran.dg/matmul_bounds_10.f90: New test.
From-SVN: r232774
GCC Administrator [Sun, 24 Jan 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232773
John David Anglin [Sat, 23 Jan 2016 23:32:13 +0000 (23:32 +0000)]
re PR libfortran/68744 (FAIL: gfortran.dg/backtrace_1.f90 -O0 execution test)
PR libfortran/68744
* runtime/backtrace.c: Include gthr.h.
(show_backtrace): Use __gthread_active_p() to determine whether threads
are active. Return if lbstate is NULL.
From-SVN: r232770
John David Anglin [Sat, 23 Jan 2016 22:24:59 +0000 (22:24 +0000)]
re PR libstdc++/69446 (cow-stdexcept.cc:374:1: error: alias d efinitions not supported in this configuration)
PR libstdc++/69446
* config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
From-SVN: r232769
Tom de Vries [Sat, 23 Jan 2016 20:28:17 +0000 (20:28 +0000)]
Fix clobber removal in parloops
2016-01-23 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69426
* tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
removed clobber.
* gcc.dg/autopar/pr69426.c: New test.
From-SVN: r232767
Martin Sebor [Sat, 23 Jan 2016 16:01:47 +0000 (16:01 +0000)]
PR c++/58109 - alignas() fails to compile with constant expression
PR c++/58109 - alignas() fails to compile with constant expression
PR c++/69022 - attribute vector_size ignored with dependent bytes
gcc/testsuite/ChangeLog:
2016-01-23 Martin Sebor <msebor@redhat.com>
PR c++/58109
PR c++/69022
* g++.dg/cpp0x/alignas5.C: New test.
* g++.dg/ext/vector29.C: Same.
gcc/cp/ChangeLog:
2016-01-23 Martin Sebor <msebor@redhat.com>
PR c++/58109
PR c++/69022
* decl2.c (is_late_template_attribute): Handle dependent argument
to attribute align and attribute vector_size.
From-SVN: r232766
Jakub Jelinek [Sat, 23 Jan 2016 14:13:53 +0000 (15:13 +0100)]
tree-ssanames.c (release_free_names_and_compact_live_names): Replace "the the" with "the" in the comments.
* tree-ssanames.c (release_free_names_and_compact_live_names): Replace
"the the" with "the" in the comments.
* ipa-devirt.c (build_type_inheritance_graph,
update_type_inheritance_graph): Likewise.
* tree.c (build_function_type_list_1): Likewise.
* cfgloopmanip.c (scale_loop_profile): Likewise.
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
* gimple-ssa-split-paths.c
(find_block_to_duplicate_for_splitting_paths): Likewise.
* tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
* expr.c (convert_move): Likewise.
* var-tracking.c (vt_stack_adjustments): Likewise.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
* tree-vrp.c (test_for_singularity): Likewise.
From-SVN: r232765
Jakub Jelinek [Sat, 23 Jan 2016 09:54:53 +0000 (10:54 +0100)]
tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR directly instead of building a temporary tree.
* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
directly instead of building a temporary tree.
From-SVN: r232764
Jakub Jelinek [Sat, 23 Jan 2016 09:54:19 +0000 (10:54 +0100)]
re PR bootstrap/69434 (bootstrap failed with --with-arch=corei7 --with-cpu=corei7)
PR bootstrap/69434
* genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
remove <algorithm> include.
From-SVN: r232763
Uros Bizjak [Sat, 23 Jan 2016 09:29:12 +0000 (10:29 +0100)]
chkp-strlen-2.c: Define _GNU_SOURCE.
* gcc.target/i386/chkp-strlen-2.c: Define _GNU_SOURCE.
* gcc.target/i386/chkp-strlen-4.c: Move the definition of
_GNU_SOURCE from compile flags to the source.
* gcc.target/i386/chkp-stropt-12.c: Ditto.
* gcc.target/i386/chkp-stropt-16.c: Ditto.
* gcc.target/i386/chkp-stropt-4.c: Ditto.
* gcc.target/i386/chkp-stropt-8.c: Ditto.
From-SVN: r232762
GCC Administrator [Sat, 23 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232760
Edward Smith-Rowland [Fri, 22 Jan 2016 23:17:10 +0000 (23:17 +0000)]
TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
* include/c_compatibility/math.h: Import the TR29124 functions
into the global namespace.
* testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
xfail and make compile-only.
* testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
* testsuite/special_functions/03_beta/compile_2.cc: Ditto.
* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
* testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
* testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
* testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
* testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
* testsuite/special_functions/14_expint/compile_2.cc: Ditto.
* testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
* testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
* testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
* testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
* testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
* testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
* testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
From-SVN: r232755
Jakub Jelinek [Fri, 22 Jan 2016 23:14:27 +0000 (00:14 +0100)]
re PR other/69432 (ICE in connect_traces, at dwarf2cfi.c with -O3 -m32 -minline-stringops-dynamically)
PR target/69432
* config/i386/i386.c: Include dojump.h.
(expand_small_movmem_or_setmem,
expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
fixes.
(ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
if dynamic_check != -1.
* g++.dg/opt/pr69432.C: New test.
From-SVN: r232754
William Schmidt [Fri, 22 Jan 2016 22:06:06 +0000 (22:06 +0000)]
Fix ChangeLog entry in wrong file
From-SVN: r232750
Jonathan Wakely [Fri, 22 Jan 2016 21:15:41 +0000 (21:15 +0000)]
Constrain std::valarray functions and operators
PR libstdc++/69116
* include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
define result_type for types which can be safely used with valarrays.
* testsuite/26_numerics/valarray/69116.cc: New.
From-SVN: r232748
Jason Merrill [Fri, 22 Jan 2016 20:36:30 +0000 (15:36 -0500)]
re PR c++/69392 (G++ can't capture 'this' pointer to templated type using init-capture)
PR c++/69392
* lambda.c (lambda_capture_field_type): Handle 'this' specially
for init-capture, too.
From-SVN: r232746
Jeff Law [Fri, 22 Jan 2016 20:18:59 +0000 (13:18 -0700)]
re PR tree-optimization/69347 (excessive compile time with -O2)
PR middle-end/69347
* tree-ssa-dom.c (back_propagate_equivalences): Factored out of
record_temporary_equivalences. Rewritten to avoid unnecessary calls
into dominated_by_p.
(cprop_into_successor_phis): Avoid unnecessary tests.
From-SVN: r232745
Bill Schmidt [Fri, 22 Jan 2016 19:59:23 +0000 (19:59 +0000)]
pr63354c: Adjust target selector to include 32-bit targets testing an -m64 multilib.
2016-01-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr63354c: Adjust target selector to include
32-bit targets testing an -m64 multilib.
From-SVN: r232744
Bernd Edlinger [Fri, 22 Jan 2016 19:41:04 +0000 (19:41 +0000)]
- fix a ChangeLog entry
From-SVN: r232743
Richard Henderson [Fri, 22 Jan 2016 17:21:41 +0000 (09:21 -0800)]
re PR target/69416 (Nonsense rtl checking failure)
PR target/69416
* config/aarch64/aarch64.md (UNSPEC_NZCV): New.
(ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
From-SVN: r232737
Michael Matz [Fri, 22 Jan 2016 16:44:10 +0000 (16:44 +0000)]
system.h (string, algorithm): Include only conditionally.
* system.h (string, algorithm): Include only conditionally.
(new): Include always under C++.
* bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
* final.c (toplevel): Ditto.
* ipa-chkp.c (toplevel): Define INCLUDE_STRING.
* genconditions.c (write_header): Make gencondmd.c define
INCLUDE_STRING.
* mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
* config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
* common/config/aarch64/aarch64-common.c (toplevel): Ditto.
From-SVN: r232736
Torvald Riegel [Fri, 22 Jan 2016 16:13:06 +0000 (16:13 +0000)]
libitm: Fix HTM fastpath.
* beginend.cc (GTM::gtm_thread::serial_lock): Put on cacheline
boundary.
(htm_fastpath): Remove.
(gtm_thread::begin_transaction): Fix HTM fastpath.
(_ITM_commitTransaction): Adapt.
(_ITM_commitTransactionEH): Adapt.
* libitm/config/linux/rwlock.h (gtm_rwlock): Add htm_fastpath member
and accessors.
* libitm/config/posix/rwlock.h (gtm_rwlock): Likewise.
* libitm/config/posix/rwlock.cc (gtm_rwlock::gtm_rwlock): Adapt.
* libitm/config/x86/sjlj.S (_ITM_beginTransaction): Fix HTM fastpath.
* libitm/libitm_i.h (htm_fastpath): Remove declaration.
* libitm/method-serial.cc (htm_mg): Adapt.
(gtm_thread::serialirr_mode): Adapt.
* libitm/query.cc (_ITM_inTransaction, _ITM_getTransactionId): Adapt.
From-SVN: r232735
Bill Schmidt [Fri, 22 Jan 2016 15:02:14 +0000 (15:02 +0000)]
pr63354.c: Restrict to Linux targets with 64-bit support.
2016-01-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr63354.c: Restrict to Linux targets with
64-bit support.
From-SVN: r232732
James Greenhalgh [Fri, 22 Jan 2016 15:00:43 +0000 (15:00 +0000)]
[Patch Obvious] gcc.dg/vect/bb-slp-pr68892.c requires vectorization of doubles
gcc/testsuite/
* gcc.dg/vect/bb-slp-pr68892.c: Require vect_double.
From-SVN: r232731
Ilya Verbin [Fri, 22 Jan 2016 14:27:37 +0000 (14:27 +0000)]
target.c (gomp_get_target_fn_addr): Allow host fallback if target function wasn't mapped to the device with...
libgomp/
* target.c (gomp_get_target_fn_addr): Allow host fallback if target
function wasn't mapped to the device with non-shared memory.
From-SVN: r232729
Christian Bruel [Fri, 22 Jan 2016 14:16:47 +0000 (15:16 +0100)]
[multiple changes]
2016-01-22 Christian Bruel <christian.bruel@st.com>
PR target/68674
* expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
// testsuite
2016-01-21 Christian Bruel <christian.bruel@st.com>
PR target/68674
* gcc.target/i386/pr68674.c
* gcc.target/aarch64/pr68674.c
* gcc.target/arm/pr68674.c
From-SVN: r232728
Kyrylo Tkachov [Fri, 22 Jan 2016 13:58:11 +0000 (13:58 +0000)]
[ARM] Fix PR target/69403: Bug in thumb2_ior_scc_strict_it pattern
PR target/69403
* config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
define_insn_and_split. Ensure operands[1] and operands[0] do not
get assigned the same register.
* gcc.c-torture/execute/pr69403.c: New test.
From-SVN: r232727
Jonathan Wakely [Fri, 22 Jan 2016 12:47:26 +0000 (12:47 +0000)]
Allow _GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN to be overridden
PR libstdc++/69413
* config/os/gnu-linux/os_defines.h: Define
_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
* include/c_global/cmath (isinf, isnan): Check it.
* doc/xml/manual/internals.xml: Document it.
* doc/html/*: Regenerate.
From-SVN: r232726
Kugan Vivekanandarajah [Fri, 22 Jan 2016 12:09:58 +0000 (12:09 +0000)]
ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
gcc/ChangeLog:
2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
* ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
From-SVN: r232725
Christian Bruel [Fri, 22 Jan 2016 11:24:47 +0000 (12:24 +0100)]
missed : in log
From-SVN: r232724
Christian Bruel [Fri, 22 Jan 2016 11:20:08 +0000 (12:20 +0100)]
2016-01-22 Christian Bruel <christian.bruel@st.com>
* config/arm/arm-c.c (arm_pragma_target_parse)
Remove warn_builtin_macro_redefined overwrite.
From-SVN: r232723
Eric Botcazou [Fri, 22 Jan 2016 11:06:06 +0000 (11:06 +0000)]
ipa-inline.c (can_inline_edge_p): Back out overzealous check on flag_non_call_exceptions compatibility.
* ipa-inline.c (can_inline_edge_p): Back out overzealous check on
flag_non_call_exceptions compatibility.
From-SVN: r232722
Paolo Carlini [Fri, 22 Jan 2016 11:03:54 +0000 (11:03 +0000)]
re PR c++/55843 (ICE after exceeding template instantiation depth)
2016-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55843
* g++.dg/template/pr55843.C: New.
From-SVN: r232721
Alan Lawrence [Fri, 22 Jan 2016 10:56:43 +0000 (10:56 +0000)]
[Testsuite] Fix PR66877
* gcc.dg/vect/vect-over-widen-3-big-array.c: Only look for 1
vect_recog_over_widening_pattern in dump if we have vect_widen_shift.
From-SVN: r232720
Jakub Jelinek [Fri, 22 Jan 2016 09:40:54 +0000 (10:40 +0100)]
re PR debug/66668 (FAIL: gcc.dg/debug/dwarf2/stacked-qualified-types-3.c scan-assembler-times DIE \\([^\n]*\\) DW_TAG_(?:const|volatile|atomic|restrict)_type 8)
PR debug/66668
* dwarf2out.c (add_child_die_after): New function.
(dwarf_qual_info_t): New type.
(dwarf_qual_info): New variable.
(qualified_die_p): New function.
(modified_type_die): For -fdebug-types-section, ensure
canonical order of qualifiers. Put qualified DIEs adjacent
to the corresponding non-qualified type DIE and search there
for existing qualified DIEs.
From-SVN: r232719
Eric Botcazou [Fri, 22 Jan 2016 09:25:58 +0000 (09:25 +0000)]
extend.texi (scalar_storage_order type attribute): Document restriction on type punning and aliasing, and remove future tense.
* doc/extend.texi (scalar_storage_order type attribute): Document
restriction on type punning and aliasing, and remove future tense.
From-SVN: r232718
Bill Schmidt [Fri, 22 Jan 2016 03:01:27 +0000 (03:01 +0000)]
re PR testsuite/67489 (FAIL: gcc.target/powerpc/p8vector-builtin-8.c (test for excess errors))
2016-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR testsuite/67489
* gcc.target/powerpc/p8vector-builtin-8.c: Remove { target int128
} from dg-do compile directive, and instead add {
dg-require-effective-target int128 }.
From-SVN: r232717
GCC Administrator [Fri, 22 Jan 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r232716
Martin Sebor [Thu, 21 Jan 2016 23:19:05 +0000 (16:19 -0700)]
PR c/69405 - [6 Regression] ICE in c_tree_printer on an invalid
PR c/69405 - [6 Regression] ICE in c_tree_printer on an invalid
__atomic_fetch_add
gcc/testsuite/ChangeLog:
2016-01-20 Martin Sebor <msebor@redhat.com>
PR c/69405
* gcc.dg/sync-fetch.c: New test.
gcc/c-family/ChangeLog:
2016-01-20 Martin Sebor <msebor@redhat.com>
PR c/69405
* c-common.c (sync_resolve_size): Avoid printing diagnostic about
an incompatible argument when the argument isn't a valid tree node.
From-SVN: r232713
Jeff Law [Thu, 21 Jan 2016 22:58:29 +0000 (15:58 -0700)]
re PR target/69252 (gcc.dg/vect/vect-iv-9.c FAILs with -Os -fmodulo-sched -fmodulo-sched-allow-regmoves -fsched-pressure)
PR target/69252
* modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
first stage.
PR target/69252
* gcc.target/powerpc/pr69252.c: New test.
From-SVN: r232712
Jeff Law [Thu, 21 Jan 2016 22:21:55 +0000 (15:21 -0700)]
[PATCH] [PR tree-optimization/69347] Fix memory consumption in threader & minor speed improvement
PR middle-end/69347
* tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
useless call to record_temporary_equivalences.
* tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
allocate 10 slots in the bb_path vector and let it grow as needed.
(fsm_find_control_statement_thread_paths): Similarly for the next_path
vector.
From-SVN: r232711
Jerry DeLisle [Thu, 21 Jan 2016 21:08:00 +0000 (21:08 +0000)]
re PR fortran/65996 (gfortran ICE with -dH)
2016-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/65996
* error.c (gfc_error): Save the state of abort_on_error and set
it to false for buffered errors to allow normal processing.
Restore the state before leaving.
2016-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/65996
gfortran.dg/pr65996.f90: New test.
From-SVN: r232707
Dominik Vogt [Thu, 21 Jan 2016 20:29:33 +0000 (20:29 +0000)]
re PR c++/68810 (FAIL: g++.dg/cpp0x/constexpr-reinterpret1.C -- test for errors -- -m32)
PR c++/68810
* g++.dg/cpp0x/constexpr-reinterpret1.C: Fix line number that is
expected to generate an error.
From-SVN: r232705
Jason Merrill [Thu, 21 Jan 2016 20:26:26 +0000 (15:26 -0500)]
re PR c++/59281 (attribute((constructor)) accepts enum class as integer constant)
PR c++/59281
* g++.dg/ext/attr-constructor1.C: New.
From-SVN: r232704
Jason Merrill [Thu, 21 Jan 2016 20:26:21 +0000 (15:26 -0500)]
re PR c++/65687 (Inconsistent behavior for __attribute__((__deprecated__)) between C and C++.)
PR c++/65687
* decl.c (type_is_deprecated): Don't look into a typedef.
From-SVN: r232703
Jason Merrill [Thu, 21 Jan 2016 20:26:09 +0000 (15:26 -0500)]
re PR c++/40751 (G++ never packs typedef'd enums)
PR c++/40751
PR c++/64987
* decl.c (copy_type_enum): Respect TYPE_USER_ALIGN.
From-SVN: r232702
Jason Merrill [Thu, 21 Jan 2016 20:26:02 +0000 (15:26 -0500)]
re PR c++/43407 (Specifying visibility attribute of C++0x enum class emits warning)
PR c++/43407
* decl.c (start_enum): Add attributes parameter.
* parser.c (cp_parser_enum_specifier): Pass it.
* pt.c (lookup_template_class_1): Pass it.
* cp-tree.h: Adjust.
From-SVN: r232701
David Edelsohn [Thu, 21 Jan 2016 18:51:21 +0000 (13:51 -0500)]
Record configure regenerate
From-SVN: r232698
David Edelsohn [Thu, 21 Jan 2016 18:50:17 +0000 (18:50 +0000)]
configure.ac (gcc_cv_as_powerpc_mfcrf, [...]): Detangle.
* configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
Detangle.
From-SVN: r232697
Michael Meissner [Thu, 21 Jan 2016 18:45:26 +0000 (18:45 +0000)]
Add missing file
From-SVN: r232695
Pat Haugen [Thu, 21 Jan 2016 18:30:29 +0000 (18:30 +0000)]
aix71.h (ASM_CPU_SPEC): Add entry for Power9.
* config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
* config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
From-SVN: r232694
Torvald Riegel [Thu, 21 Jan 2016 18:25:42 +0000 (18:25 +0000)]
libitm: Disable testing transaction-safe exceptions on Darwin and AIX.
* testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin
or AIX.
From-SVN: r232693
Bernd Schmidt [Thu, 21 Jan 2016 18:11:10 +0000 (18:11 +0000)]
Fix missed comment fix in last change.
From-SVN: r232690
Bernd Schmidt [Thu, 21 Jan 2016 18:10:03 +0000 (18:10 +0000)]
Fix PR66178, ICE due to misexpansion of constant expressions involving labels.
PR middle-end/66178
* expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
drop EXPAND_INITIALIZER.
* rtl.h (contains_symbolic_reference_p): Declare.
* rtlanal.c (contains_symbolic_reference_p): New function.
* simplify-rtx.c (simplify_binary_operation_1): Don't turn
a subtraction into a NOT if symbolic constants are involved.
testsuite/
PR middle-end/66178
gcc.dg/torture/pr66178.c: New test.
From-SVN: r232689
Michael Meissner [Thu, 21 Jan 2016 17:52:33 +0000 (17:52 +0000)]
float128-sed: New files to convert TF names to KF names for PowerPC IEEE 128-bit floating...
2016-01-21 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/float128-sed: New files to convert TF names to KF
names for PowerPC IEEE 128-bit floating point support.
* config/rs6000/float128-sed-hw: Likewise.
* config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
floating point hardware support.
* 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/extendkftf2-sw.c: New file, convert IEEE 128-bit
floating point to IBM extended double.
* config/rs6000/trunctfkf2-sw.c: New file, convert IBM extended
double to 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/sfp-exceptions.c: New file to provide exception
support for IEEE 128-bit floating point.
* config/rs6000/floattikf.c: New files for converting between IEEE
128-bit floating point and signed/unsigned 128-bit integers.
* config/rs6000/fixunskfti.c: Likewise.
* config/rs6000/fixkfti.c: Likewise.
* config/rs6000/floatuntikf.c: Likewise.
* 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.
* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
VSX code, enable IEEE 128-bit floating point. If the compiler can
compile IEEE 128-bit floating point code with ISA 3.0 IEEE 128-bit
floating point hardware instructions and it supports declaring
functions with the ifunc attribute, enable ifunc functions to
switch between software and hardware support.
* configure.ac (powerpc*-*-linux*): Likewise.
* configure: Regenerate.
Co-Authored-By: Steven Munroe <munroesj@linux.vnet.ibm.com>
Co-Authored-By: Tulio Magno Quites Machado Filho <tulioqm@br.ibm.com>
From-SVN: r232685
Anton Blanchard [Thu, 21 Jan 2016 17:32:28 +0000 (17:32 +0000)]
re PR target/63354 (gcc -pg -mprofile-kernel creates unused stack frames on leaf functions on ppc64le)
[gcc]
2016-01-21 Anton Blanchard <anton@samba.org>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/63354
* config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
#define.
* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
function.
[gcc/testsuite]
2016-01-21 Anton Blanchard <anton@samba.org>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/63354
* gcc.target/powerpc/pr63354.c: New test.
Co-Authored-By: Bill Schmidt <wschmidt@linux.vnet.ibm.com>
From-SVN: r232684
Ajit Agarwal [Thu, 21 Jan 2016 17:15:52 +0000 (17:15 +0000)]
Issue wic prefetch instruction at call site.
This optimization is enabled with microblaze target flag mxl-prefetch.
From-SVN: r232683
Ajit Agarwal [Thu, 21 Jan 2016 17:10:54 +0000 (17:10 +0000)]
Mark r20 as fixed. Mark r21 not fixed & allocatable in callee.
From-SVN: r232682
Yuri Rumyantsev [Thu, 21 Jan 2016 16:05:14 +0000 (16:05 +0000)]
re PR rtl-optimization/68920 (Undesirable if-conversion for a rarely taken branch)
gcc/
2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
PR rtl-optimization/68920
* ifcvt.c (cond_move_process_if_block): Limit number of conditional
moves.
From-SVN: r232680
Vladimir Makarov [Thu, 21 Jan 2016 16:01:22 +0000 (16:01 +0000)]
re PR rtl-optimization/68990 (wrong code at -O3 on x86_64-pc-linux-gnu in 32-bit mode.)
2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/68990
* lra-coalesce.c (lra_coalesce): Invalidate value for the result
pseudo instead of inheritance ones.
2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/68990
* gcc.target/i386/pr68990: New.
From-SVN: r232679
David Edelsohn [Thu, 21 Jan 2016 14:08:35 +0000 (09:08 -0500)]
Fix typo
From-SVN: r232675
Nick Clifton [Thu, 21 Jan 2016 14:07:01 +0000 (14:07 +0000)]
re PR target/69129 (ICE in get_attr_got, at config/mips/mips.md:694 on mips-linux-gnu)
PR target/69129
PR target/69012
* config/mips/mips.c (mips_compute_frame_info): Initialise
args_size and hard_frame_pointer_offset fields of the frame
structure before calling mips_global_pointer.
PR target/69129
* gcc.target/mips/pr69129.c: New.
From-SVN: r232674
David Edelsohn [Thu, 21 Jan 2016 13:53:28 +0000 (13:53 +0000)]
configure.ac (gcc_cv_as_dwloc): Test support for debug frame section label reference.
* configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
label reference.
* configure: Regenerate.
From-SVN: r232673
Jonathan Wakely [Thu, 21 Jan 2016 13:33:27 +0000 (13:33 +0000)]
libstdc++/69406 Fix test to check for supported headers
PR libstdc++/69406
* include/bits/cpp_type_traits.h: Ensure C++ language linkage.
* include/ext/type_traits.h: Likewise.
* testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
for presence of C headers.
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
dg-error line number.
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
From-SVN: r232672
Paolo Carlini [Thu, 21 Jan 2016 10:55:30 +0000 (10:55 +0000)]
re PR c++/58046 (template operator= in SFINAE class)
2016-01-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58046
* g++.dg/cpp0x/pr58046.C: New.
From-SVN: r232671
Richard Biener [Thu, 21 Jan 2016 10:50:30 +0000 (10:50 +0000)]
graphite-optimize-isl.c (get_schedule_map): Fix typo.
2016-01-21 Richard Biener <rguenther@suse.de>
* graphite-optimize-isl.c (get_schedule_map): Fix typo.
From-SVN: r232670
Marcin Kościelnicki [Thu, 21 Jan 2016 09:55:38 +0000 (09:55 +0000)]
S/390: Fix missing .size directives.
It seems at some point the .size hook was hijacked to emit some
machine-specific directives, and the actual .size directive was
forgotten. This caused problems for split-stack support, since
linker couldn't scan the function body for non-split-stack calls.
gcc/ChangeLog:
* config/s390/s390.c (s390_asm_declare_function_size): Add code
to actually emit the .size directive.
From-SVN: r232669
Stefan Sørensen [Thu, 21 Jan 2016 09:52:46 +0000 (10:52 +0100)]
re PR target/69187 (ICE: Aborted when native compiling neon code with __builtin_neon_vmlals_lanev4hi)
PR target/69187
PR target/65624
* config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
args array size by one to avoid buffer overflow.
* gcc.target/arm/pr69187.c: New test.
From-SVN: r232668
Marcin Kościelnicki [Thu, 21 Jan 2016 09:45:42 +0000 (09:45 +0000)]
S/390: Use proper read-only data section for literals.
Previously, .rodata was hardcoded. For C++ vague linkage functions,
this resulted in needlessly duplicated literals. With the new split
stack support, this resulted in link errors, due to .rodata containing
relocations to the discarded text sections.
gcc/ChangeLog:
* config/s390/s390.md (pool_section_start): Use switch_to_section
to select proper read-only data section instead of hardcoding .rodata.
(pool_section_end): Use switch_to_section to match the above.
From-SVN: r232667
Richard Biener [Thu, 21 Jan 2016 08:50:38 +0000 (08:50 +0000)]
re PR tree-optimization/69378 (FAIL: g++.dg/tree-ssa/pr61034.C)
2016-01-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/69378
* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
(set_ssa_val_to): Use it for dominance checks taking into
account not executable edges.
From-SVN: r232666
Jakub Jelinek [Thu, 21 Jan 2016 07:59:32 +0000 (08:59 +0100)]
re PR tree-optimization/69355 (Wrong results with -O1 optimization)
PR c++/69355
* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
for bitsize instead of GET_MODE_PRECISION (mode).
* g++.dg/torture/pr69355.C: New test.
From-SVN: r232663
Martin Sebor [Thu, 21 Jan 2016 03:38:32 +0000 (03:38 +0000)]
PR c/52291 - __sync_fetch_and_add and friends poorly specified for pointer
PR c/52291 - __sync_fetch_and_add and friends poorly specified for pointer
types
2016-01-20 Martin Sebor <msebor@redhat.com>
* extend.texi (__sync Builtins): Clarify the semantics of
__sync_fetch_and_OP built-ins on pointers.
(__atomic Builtins): Same.
From-SVN: r232662
Aditya Kumar [Thu, 21 Jan 2016 02:14:12 +0000 (02:14 +0000)]
fix codegen error exposed by compute isl flow patch
we used to fail using an iv from a different loop.
* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
(is_valid_rename): Same.
(translate_isl_ast_to_gimple::get_rename): Same.
(translate_isl_ast_to_gimple::rename_all_uses): Same.
(translate_isl_ast_to_gimple::rename_uses): Same.
(get_new_name): Check for close_phi nodes.
(copy_loop_phi_args): Use phi_node_kind.
(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
gcc/testsuite
* gfortran.dg/graphite/interchange-3.f90: Adjust pattern.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232660
Aditya Kumar [Thu, 21 Jan 2016 02:14:01 +0000 (02:14 +0000)]
fix pr68692: reinstantiate the copy of internal parameters
Adding a testcase and reverting this patch:
[PATCH] remove parameter_rename_map
This map was used in the transition to the new scop detection: with the new scop
detection, we do not need this map anymore.
* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
Remove use of parameter_rename_map.
(copy_def): Remove.
(copy_internal_parameters): Remove.
(graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
* sese.c (new_sese_info): Do not initialize parameter_rename_map.
(free_sese_info): Do not free parameter_rename_map.
(set_rename): Do not use parameter_rename_map.
(rename_uses): Update call to set_rename.
(graphite_copy_stmts_from_block): Do not use parameter_rename_map.
* sese.h (parameter_rename_map_t): Remove.
(struct sese_info_t): Remove field parameter_rename_map.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232659
Aditya Kumar [Thu, 21 Jan 2016 02:13:52 +0000 (02:13 +0000)]
fix PR68976: only add loop close phi for names defined in loop
* graphite-isl-ast-to-gimple.c: Fix comment.
* graphite-scop-detection.c (defined_in_loop_p): New.
(canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
names defined in loop.
gcc/testsuite
* gcc.dg/graphite/pr68976.c: New test.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232658
Aditya Kumar [Thu, 21 Jan 2016 02:13:42 +0000 (02:13 +0000)]
check for unstructured control flow
* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
Discard unstructured if-then-else regions.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232657
Aditya Kumar [Thu, 21 Jan 2016 02:13:33 +0000 (02:13 +0000)]
rewrite computation of iteration domains
* graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
(cleanup_loop_iter_dom): Remove.
(build_loop_iteration_domains): Remove.
(build_scop_context): Remove.
(build_scop_iteration_domain): Remove.
(add_loop_constraints): New.
(build_iteration_domains): New.
(build_poly_scop): Call build_iteration_domains.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232656
Aditya Kumar [Thu, 21 Jan 2016 02:13:24 +0000 (02:13 +0000)]
fix memory leak in scop-detection
* graphite-scop-detection.c
(scop_detection::harmful_loop_in_region): Free dom and loops.
(scop_detection::loop_body_is_valid_scop): Free bbs.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232655
Aditya Kumar [Thu, 21 Jan 2016 02:13:14 +0000 (02:13 +0000)]
record loops in execution order
* graphite-scop-detection.c (record_loop_in_sese): New.
(gather_bbs::before_dom_children): Call record_loop_in_sese.
(build_scops): Remove call to build_sese_loop_nests.
* sese.c (sese_record_loop): Remove.
(build_sese_loop_nests): Remove.
(new_sese_info): Remove region->loops.
(free_sese_info): Same.
* sese.h (sese_contains_loop): Same.
(build_sese_loop_nests): Remove.
(sese_contains_loop): Remove.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232654
Aditya Kumar [Thu, 21 Jan 2016 02:13:05 +0000 (02:13 +0000)]
check that all loops are valid in the combined region
the bug was exposed by rewriting an if condition into an assert in the computation
of the loop iteration domains.
* graphite-scop-detection.c (loop_is_valid_scop): Renamed loop_is_valid_in_scop.
(scop_detection::harmful_stmt_in_region): Renamed harmful_loop_in_region.
Call loop_is_valid_in_scop.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232653
Aditya Kumar [Thu, 21 Jan 2016 02:12:56 +0000 (02:12 +0000)]
add missing ast node for isl 0.15
* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
isl_ast_node_mark.
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
From-SVN: r232652