Commit Graph

145670 Commits

Author SHA1 Message Date
Andrew MacLeod 9f405ce1b5 c-array-notation.c (fix_builtin_array_notation_fn): Fix final argument to build_modify_expr in two cases.
2016-04-28  Andrew MacLeod  <amacleod@redhat.com>

	* c-array-notation.c (fix_builtin_array_notation_fn): Fix final
	argument to build_modify_expr in two cases.

From-SVN: r235614
2016-04-28 16:00:19 -06:00
Ian Lance Taylor f22693cb96 compiler: Mark concurrent calls.
If a call expression is executed in an independent goroutine via
    use of a Go statement, mark it as concurrent.
    
    Reviewed-on: https://go-review.googlesource.com/18700

From-SVN: r235608
2016-04-28 19:43:20 +00:00
Jakub Jelinek 6181bc30ab re PR target/70858 (__builtin_ia32_bextr_u64 ICE with '-m32 -march=core-avx2')
PR target/70858
	* config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT
	to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64.
	(bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64,
	__builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di,
	__builtin_ia32_pdep_di and __builtin_ia32_pext_di.

	* gcc.target/i386/pr70858.c: New test.

From-SVN: r235607
2016-04-28 21:33:34 +02:00
Segher Boessenkool 77dbb21488 rs6000: Clean up rs6000_stack_info a bit
- Rename "info_ptr" to "info", as in all other routines;
- Don't set fields to 0, the whole struct already is set to 0;
- Fix formatting a bit.


	* config/rs6000/rs6000.c (compute_save_world_info): Rename info_ptr
	to info.  Don't initialize separate fields to 0.  Clean up
	formatting a bit.

From-SVN: r235606
2016-04-28 21:23:55 +02:00
Andrew Burgess f4cb361287 nps400-1.c: New file.
2016-04-28  Andrew Burgess  <andrew.burgess@embecosm.com>

        * gcc.target/arc/nps400-1.c: New file.

From-SVN: r235603
2016-04-28 20:13:47 +01:00
Ian Lance Taylor 913a9fbb4f compiler: Export String_index_expression.
Exports String_index_expression and adds the getter `string` that
    returns the underlying string.  This will be used to handle string
    indexing different from array indexing in escape analysis.
    
    Reviewed-on: https://go-review.googlesource.com/18545

From-SVN: r235602
2016-04-28 19:12:13 +00:00
Uros Bizjak 9fae9ece6a i386.md (peephole2s for operations with memory inputs): Use SWI mode iterator.
* config/i386/i386.md (peephole2s for operations with memory inputs):
	Use SWI mode iterator.
	(peephole2s for operations with memory outputs): Ditto.
	Do not check for stack checking probe.

	(probe_stack): Remove expander.

From-SVN: r235601
2016-04-28 21:11:25 +02:00
Joern Rennecke 8ad9df624c arc.c (arc_print_operand): Print integer 'H' / 'L'
2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
            Andrew Burgess  <andrew.burgess@embecosm.com>
gcc:
        * config/arc/arc.c (arc_print_operand): Print integer 'H' / 'L'
gcc/testsuite:
        * gcc.target/arc/movh_cl-1.c: New file.

Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com>

From-SVN: r235600
2016-04-28 20:08:28 +01:00
Jason Merrill 0d1892d2d5 * gdbinit.in: Skip line-map.h.
From-SVN: r235598
2016-04-28 15:04:23 -04:00
Jason Merrill b632761d2c Implement C++17 [[nodiscard]] attribute.
PR c++/38172
	PR c++/54379
gcc/c-family/
	* c-lex.c (c_common_has_attribute): Handle nodiscard.
gcc/cp/
	* parser.c (cp_parser_std_attribute): Handle [[nodiscard]].
	* tree.c (handle_nodiscard_attribute): New.
	(cxx_attribute_table): Add [[nodiscard]].
	* cvt.c (cp_get_fndecl_from_callee, cp_get_callee_fndecl): New.
	(maybe_warn_nodiscard): New.
	(convert_to_void): Call it.

From-SVN: r235597
2016-04-28 15:01:19 -04:00
Jason Merrill babaa9df02 cvt.c (cp_get_callee): New.
* cvt.c (cp_get_callee): New.

	* constexpr.c (get_function_named_in_call): Use it.
	* cxx-pretty-print.c (postfix_expression): Use it.
	* except.c (check_noexcept_r): Use it.
	* method.c (check_nontriv): Use it.
	* tree.c (build_aggr_init_expr): Use it.
	* cp-tree.h: Declare it.

From-SVN: r235596
2016-04-28 15:01:13 -04:00
Joern Rennecke ceaaa9fe93 arc.h (SYMBOL_FLAG_CMEM): Define.
2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
            Andrew Burgess  <andrew.burgess@embecosm.com>
gcc:
        * config/arc/arc.h (SYMBOL_FLAG_CMEM): Define.
        (TARGET_NPS_CMEM_DEFAULT): Provide default definition.
        * config/arc/arc.c (arc_address_cost): Return 0 for cmem_address.
        (arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated.
        * config/arc/arc.opt (mcmem): New option.
        * config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative,
        supply length for r/m alternative.
        (*extendqisi2_ac): Likewise.
        (*extendhisi2_i): Add r/Uex alternative, supply length for r/m and
        r/Uex alternative.
        (movqi_insn): Add r/Ucm and Ucm/?Rac alternatives.
        (movhi_insn): Likewise.
        (movsi_insn): Add r/Ucm,Ucm/w alternatives.
        (*zero_extendqihi2_i): Add r/Ucm alternative.
        (*zero_extendqisi2_ac): Likewise.
        (*zero_extendhisi2_i): Likewise.
        * config/arc/constraints.md (Uex): New memory constraint.
        (Ucm): New define_constraint.
        * config/arc/predicates.md (long_immediate_loadstore_operand):
        Return 0 for MEM with cmem_address address.
        (cmem_address_0): New predicates.
        (cmem_address_1): Likewise.
        (cmem_address_2): Likewise.
        (cmem_address): Likewise.
gcc/testsuite:
        * gcc.target/arc/cmem-1.c: New file.
        * gcc.target/arc/cmem-2.c: New file.
        * gcc.target/arc/cmem-3.c: New file.
        * gcc.target/arc/cmem-4.c: New file.
        * gcc.target/arc/cmem-5.c: New file.
        * gcc.target/arc/cmem-6.c: New file.
        * gcc.target/arc/cmem-7.c: New file.
        * gcc.target/arc/cmem-ld.inc: New file.
        * gcc.target/arc/cmem-st.inc: New file.

Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com>

From-SVN: r235595
2016-04-28 19:48:43 +01:00
Segher Boessenkool dc236a9d78 sbitmap: Remove popcount
In r193072 sbitmap_popcount was removed, so we cannot ask for the popcount
of an sbitmap anymore.  Nothing calls sbitmap_alloc_with_popcount either.
This patch removes everything else popcount-related from sbitmap.


	* cfganal.c (bitmap_intersection_of_succs): Delete assert checking
	dst->popcount.
	(bitmap_intersection_of_preds): Ditto.
	(bitmap_union_of_succs): Ditto.
	(bitmap_union_of_preds): Ditto.
	* sbitmap.c (do_popcount): Delete.
	(BITMAP_DEBUGGING): Delete.
	(sbitmap_verify_popcount): Delete.
	(sbitmap_alloc): Don't initialize the popcount field.
	(sbitmap_alloc_with_popcount): Delete.
	(sbitmap_resize): Don't resize the popcount array.
	(sbitmap_vector_alloc): Don't initialize the popcount field.
	(bitmap_copy): Don't copy the popcount array.
	(bitmap_clear): Don't clear the popcount array.
	(bitmap_clear): Delete the popcount array handling.
	(bitmap_ior_and_compl): Delete the popcount assert.
	(bitmap_not): Ditto.
	(bitmap_and_compl): Ditto.
	(bitmap_and): Delete the popcount array handling.
	(bitmap_xor): Ditto.
	(bitmap_ior): Ditto.
	(bitmap_or_and): Delete the popcount assert.
	(bitmap_and_or): Ditto.
	(popcount_table): Delete.
	(sbitmap_elt_popcount): Delete.
	* sbitmap.h (simple_bitmap_def): Delete the popcount field.
	(bitmap_set_bit): Delete the popcount assert.
	(bitmap_clear_bit): Ditto.
	(sbitmap_free): Don't free the popcount array.
	(sbitmap_alloc_with_popcount): Delete declaration.
	(sbitmap_popcount): Ditto.

From-SVN: r235592
2016-04-28 20:43:12 +02:00
Uros Bizjak eb74cda0a5 * ChangeLog: Remove duplicate entry.
From-SVN: r235591
2016-04-28 20:29:33 +02:00
Joern Rennecke 4d03dc2fdf arc.h (SYMBOL_FLAG_CMEM): Define.
2016-04-28  Joern Rennecke  <joern.rennecke@embecosm.com>
            Andrew Burgess  <andrew.burgess@embecosm.com>
gcc:
        * config/arc/arc.h (SYMBOL_FLAG_CMEM): Define.
        (TARGET_NPS_CMEM_DEFAULT): Provide default definition.
        * config/arc/arc.c (arc_address_cost): Return 0 for cmem_address.
        (arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated.
        * config/arc/arc.opt (mcmem): New option.
        * config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative,
        supply length for r/m alternative.
        (*extendqisi2_ac): Likewise.
        (*extendhisi2_i): Add r/Uex alternative, supply length for r/m and
        r/Uex alternative.
        (movqi_insn): Add r/Ucm and Ucm/?Rac alternatives.
        (movhi_insn): Likewise.
        (movsi_insn): Add r/Ucm,Ucm/w alternatives.
        (*zero_extendqihi2_i): Add r/Ucm alternative.
        (*zero_extendqisi2_ac): Likewise.
        (*zero_extendhisi2_i): Likewise.
        * config/arc/constraints.md (Uex): New memory constraint.
        (Ucm): New define_constraint.
        * config/arc/predicates.md (long_immediate_loadstore_operand):
        Return 0 for MEM with cmem_address address.
        (cmem_address_0): New predicates.
        (cmem_address_1): Likewise.
        (cmem_address_2): Likewise.
        (cmem_address): Likewise.
gcc/testsuite:
        * gcc.target/arc/cmem-1.c: New file.
        * gcc.target/arc/cmem-2.c: New file.
        * gcc.target/arc/cmem-3.c: New file.
        * gcc.target/arc/cmem-4.c: New file.
        * gcc.target/arc/cmem-5.c: New file.
        * gcc.target/arc/cmem-6.c: New file.
        * gcc.target/arc/cmem-7.c: New file.
        * gcc.target/arc/cmem-ld.inc: New file.
        * gcc.target/arc/cmem-st.inc: New file.

Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com>

From-SVN: r235590
2016-04-28 19:21:42 +01:00
Segher Boessenkool c0b47f4bf9 rs6000: Rename insn_chain_scanned_p to spe_insn_chain_scanned_p
This makes it clearer this field is only for SPE.


	* config/rs6000/rs6000.c (machine_function): Rename
	insn_chain_scanned_p to spe_insn_chain_scanned_p.
	(rs6000_stack_info): Adjust.

From-SVN: r235588
2016-04-28 19:51:19 +02:00
Andrew Burgess c20ef9d233 constraints.md (Usd): Convert to define_constraint.
2016-04-28  Andrew Burgess  <andrew.burgess@embecosm.com>

        * config/arc/constraints.md (Usd): Convert to define_constraint.
        (Us<): Likewise.
        (Us>): Likewise.

From-SVN: r235587
2016-04-28 18:16:05 +01:00
Jakub Jelinek 81262dad15 re PR target/70821 (x86_64: __atomic_fetch_add/sub() uses XADD rather than DECL in some cases)
PR target/70821
	* config/i386/sync.md (define_peephole2 *atomic_fetch_add_cmp<mode>):
	Add new peephole2 where the first insn is *mov<mode>_or instead of
	*mov<mode>_internal.

	* gcc.target/i386/pr70821.c: New test.

From-SVN: r235586
2016-04-28 19:10:14 +02:00
Segher Boessenkool 7ff75c4966 tracer: Make bb_seen static
bb_seen is not used outside of tracer.c.


	* tracer.c (bb_seen): Make static.

From-SVN: r235585
2016-04-28 19:08:39 +02:00
Andrew Burgess 87c509e078 arc-common.c (arc_handle_option): Add NPS400 support, setup defaults.
2016-04-28  Andrew Burgess  <andrew.burgess@embecosm.com>

        * common/config/arc/arc-common.c (arc_handle_option): Add NPS400
        support, setup defaults.
        * config/arc/arc-opts.h (enum processor_type): Add NPS400.
        * config/arc/arc.c (arc_init): Add NPS400 support.
        * config/arc/arc.h (CPP_SPEC): Add NPS400 defines.
        (TARGET_ARC700): NPS400 is also an ARC700.
        * config/arc/arc.opt: Add NPS400 options to -mcpu=.

From-SVN: r235584
2016-04-28 17:59:18 +01:00
Segher Boessenkool 9759608c89 nds32: Fix casesi (PR70668)
Expanders do not have more elements in the operands array than declared
in the pattern.  So, we cannot use operands[5] here.  Instead just
declare and use another rtx.


	PR target/70668
	* config/nds32/nds32.md (casesi): Don't access the operands array
	out of bounds.

From-SVN: r235583
2016-04-28 18:50:41 +02:00
Uros Bizjak e41ebdf1c8 i386.md (zeroing peephole2): Use general_reg_operand.
* config/i386/i386.md (zeroing peephole2): Use general_reg_operand.
	(or $-1,reg peephole2): Ditto.
	(strict_low_part zeroing peephole2): Use SWI12 mode iterator.

From-SVN: r235581
2016-04-28 18:35:03 +02:00
Markus Trippelsdorf 893100c3fa doc/extend.texi: Discourage use of the optimize attribute
* doc/extend.texi (Common Function Attributes) [optimize]:
	Discourage use of the optimize attribute.

From-SVN: r235580
2016-04-28 16:25:00 +00:00
Rainer Orth bf6b9e5d1c Forgotten gcc/java/ChangeLog entry.
From-SVN: r235579
2016-04-28 16:23:36 +00:00
Bill Seurer 0a31a09adf This patch adds support for the signed and unsigned int versions of the...
This patch adds support for the signed and unsigned int versions of the
vec_adde altivec builtins from the Power Architecture 64-Bit ELF V2 ABI
OpenPOWER ABI for Linux Supplement (16 July 2015 Version 1.1). There are
many of the builtins that are missing and this is the first of a series
of patches to add them.

There aren't instructions for the int versions of vec_adde so the
output code is built from other built-ins that do have instructions
which in this case is just two vec_adds with a vec_and to ensure the
carry vector is comprised of only the values 0 or 1.

The new test cases are executable tests which verify that the generated
code produces expected values. C macros were used so that the same
test case could be used for both the signed and unsigned versions. An
extra executable test case is also included to ensure that the modified
support for the __int128 versions of vec_adde is not broken. The same
test case could not be used for both int and __int128 because of some
differences in loading and storing the vectors.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no
regressions. Is this ok for trunk?

[gcc]

2016-04-28  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def (vec_adde): Change vec_adde to a
	special case builtin.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
	ALTIVEC_BUILTIN_VEC_ADDE.
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
	support for ALTIVEC_BUILTIN_VEC_ADDE.
	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
	for __builtin_vec_adde.

[gcc/testsuite]

2016-04-28  Bill Seurer  <seurer@linux.vnet.ibm.com>

	* gcc.target/powerpc/vec-adde.c: New test.
	* gcc.target/powerpc/vec-adde-int128.c: New test.

From-SVN: r235577
2016-04-28 16:01:52 +00:00
Jakub Jelinek 3ddffba914 i386.md (sse4_1_round<mode>2): Add avx512f alternative.
* config/i386/i386.md (sse4_1_round<mode>2): Add avx512f alternative.
	* config/i386/sse.md (sse4_1_round<ssescalarmodesuffix>): Likewise.

	* gcc.target/i386/avx-vround-1.c: New test.
	* gcc.target/i386/avx-vround-2.c: New test.
	* gcc.target/i386/avx512vl-vround-1.c: New test.
	* gcc.target/i386/avx512vl-vround-2.c: New test.

From-SVN: r235576
2016-04-28 17:57:16 +02:00
Rainer Orth 97fceb9fa9 Don't include minor version in GCJ ABI version (PR java/70839)
PR java/70839
	* decl.c (parse_version): Remove minor handling.

From-SVN: r235575
2016-04-28 15:25:14 +00:00
Rainer Orth 713dedcd5d Cilk Plus testsuite needs massive cleanup (PR testsuite/70595)
gcc:
	PR testsuite/70595
	* doc/sourcebuild.texi (Effective-Target Keywords, Other
	attributes): Document cilkplus_runtime.

	gcc/testsuite:
	PR testsuite/70595
	* lib/target-supports.exp (check_libcilkrts_available): Rename to ...
	(check_effective_target_cilkplus_runtime): ... this.
	* g++.dg/cilk-plus/cilk-plus.exp: Adapt to it.
	* gcc.dg/cilk-plus/cilk-plus.exp: Likewise.

	* c-c++-common/cilk-plus/CK/cilk-for-2.c: Remove dg-do target selector.
	Require cilkplus_runtime.
	Don't add -lcilkrts.
	* c-c++-common/cilk-plus/CK/cilk-fors.c: Likewise.
	* c-c++-common/cilk-plus/CK/cilk_for_grain.c: Likewise.
	* c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c: Likewise.
	* c-c++-common/cilk-plus/CK/fib.c: Likewise.
	* c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
	* c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
	* c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
	* c-c++-common/cilk-plus/CK/nested_cilk_for.c: Likewise.
	* c-c++-common/cilk-plus/CK/pr60586.c: Likewise.
	* c-c++-common/cilk-plus/CK/pr69826-1.c: Likewise.
	* c-c++-common/cilk-plus/CK/pr69826-2.c: Likewise.
	* c-c++-common/cilk-plus/CK/spawnee_inline.c: Likewise.
	* c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise.
	* c-c++-common/cilk-plus/CK/spawning_arg.c: Likewise.
	* c-c++-common/cilk-plus/CK/steal_check.c: Likewise.
	* c-c++-common/cilk-plus/CK/varargs_test.c: Likewise.
	* g++.dg/cilk-plus/CK/catch_exc.cc: Likewise.
	* g++.dg/cilk-plus/CK/cilk-for-tplt.cc: Likewise.
	* g++.dg/cilk-plus/CK/const_spawn.cc: Likewise.
	* g++.dg/cilk-plus/CK/fib-opr-overload.cc: Likewise.
	* g++.dg/cilk-plus/CK/fib-tplt.cc: Likewise.
	* g++.dg/cilk-plus/CK/for1.cc: Likewise.
	* g++.dg/cilk-plus/CK/lambda_spawns.cc: Likewise.
	* g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc: Likewise.
	* g++.dg/cilk-plus/CK/pr60586.cc: Likewise.
	* g++.dg/cilk-plus/CK/pr66326.cc: Likewise.
	* g++.dg/cilk-plus/CK/stl_iter.cc: Likewise.
	* g++.dg/cilk-plus/CK/stl_rev_iter.cc: Likewise.
	* g++.dg/cilk-plus/CK/stl_test.cc: Likewise.

	* c-c++-common/cilk-plus/CK/pr63307.c: Remove dg-do target selector.
	* c-c++-common/cilk-plus/SE/ef_error3.c: Likewise.

	* c-c++-common/cilk-plus/SE/ef_error2.c: Explain target selector.

	* c-c++-common/cilk-plus/CK/test__cilk.c: Run if
	cilkplus_runtime.

From-SVN: r235574
2016-04-28 15:16:57 +00:00
Joseph Myers ef2416508a Update .po files.
gcc/po:
	* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
	zh_TW.po: Update.

libcpp/po:
	* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
	id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
	vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r235571
2016-04-28 15:36:54 +01:00
Martin Jambor a6bf99f00f Verify that context of local DECLs is the current function
2016-04-28  Martin Jambor  <mjambor@suse.cz>

	* tree-cfg.c (verify_expr): Verify that local declarations belong to
	this function.  Call verify_expr on MEM_REFs and bases of other
	handled_components.

From-SVN: r235570
2016-04-28 16:35:04 +02:00
Kyrylo Tkachov 208b85bb91 [internal-fn.c][committed] Convert conditional compilation on WORD_REGISTER_OPERATIONS
* internal-fn.c (expand_arith_overflow): Convert preprocessor check
	for WORD_REGISTER_OPERATIONS to runtime check.

From-SVN: r235569
2016-04-28 13:38:18 +00:00
Claudiu Zissulescu 31ae5117dd [ARC] Pass mfpuda to assembler.
gcc/
2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.h (ASM_SPEC): Pass mfpuda to assembler.

From-SVN: r235568
2016-04-28 15:08:01 +02:00
Claudiu Zissulescu 7d81a56745 [ARC] Fix FPX/FPUDA code gen when compiling for big-endian.
gcc/
2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.c (arc_process_double_reg_moves): Fix for
	big-endian compilation.
	(arc_rtx_costs): Fix high/low naming.
	* config/arc/arc.md (addf3): Likewise.
	(subdf3): Likewise.
	(muldf3): Likewise.

From-SVN: r235567
2016-04-28 14:52:04 +02:00
Richard Biener de3fbea3b3 re PR tree-optimization/70840 (revisit reassoc handling of pow / powi, amend match.pd for powi)
2016-04-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70840
	* match.pd: powi(-x, y) and powi(|x|,y) -> powi(x,y) if y is even;
	Fix pow(copysign(x, y), z) -> pow(x, z) and add powi variant;
	Mark x * pow(x,c) -> pow(x,c+1) commutative.
	Add powi(x,y) * powi(z,y) -> powi(x*z,y).

From-SVN: r235566
2016-04-28 12:34:28 +00:00
Jonathan Wakely 9f9eb84eac libstdc++/70766 use std::addressof instead of operator&
PR libstdc++/70766
	* include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
	__addressof.
	* include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
	Likewise.
	* include/std/atomic (atomic<_Tp>): Likewise.
	* include/std/shared_mutex (shared_lock): Likewise.
	* testsuite/24_iterators/istream_iterator/70766.cc: New test.
	* testsuite/24_iterators/ostream_iterator/70766.cc : New test.
	* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
	* testsuite/29_atomics/atomic/70766.cc: New test.
	* testsuite/30_threads/shared_lock/70766.cc: New test.

From-SVN: r235565
2016-04-28 13:33:07 +01:00
Jonathan Wakely 272b2ce49f hashtable_policy.h (__detail::_Insert_base, [...]): Improve comments.
* include/bits/hashtable_policy.h (__detail::_Insert_base,
	__detail::_Insert): Improve comments.

From-SVN: r235564
2016-04-28 13:32:50 +01:00
Kyrylo Tkachov 56c9ef5f2f [AArch64] Define WORD_REGISTER_OPERATIONS to zero and comment why
* config/aarch64/aarch64.h (WORD_REGISTER_OPERATIONS): Define to 0
	and explain why in a comment.

From-SVN: r235563
2016-04-28 12:24:47 +00:00
Claudiu Zissulescu 4ac2f36e33 [ARC] Don't use drsub* instructions when selecting fpuda.
The double precision floating point assist instructions are not
implementing the reverse double subtract instruction (drsub) found in
the FPX extension.

gcc/
2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.md (cpu_facility): Add fpx variant.
	(subdf3): Prohibit use reverse sub when assist operations option
	is enabled.
	* config/arc/fpx.md (subdf3_insn, *dsubh_peep2_insn): Allow drsub
	instructions only when FPX is enabled.
        * testsuite/gcc.target/arc/trsub.c: New test.

From-SVN: r235562
2016-04-28 14:15:06 +02:00
Uros Bizjak e54a38e86b i386.md (*fop_<mode>_1_mixed): Do not check for mult_operator when calculating "type" attribute.
* config/i386/i386.md (*fop_<mode>_1_mixed): Do not check for
	mult_operator when calculating "type" attribute.
	(*fop_<mode>_1_i387): Ditto.
	(*fop_xf_1_i387): Ditto.
	(x87 stack loads peephole2): Add "reg = op (mem, reg)" peephole2.
	Use std::swap to swap operands.  Use RTL expressions to generate
	converted pattern.

From-SVN: r235561
2016-04-28 14:07:04 +02:00
Martin Liska 4877829bff Replace AWK script with the python script.
* analyze_brprob: Remove.
	* analyze_brprob.py: New file.

From-SVN: r235560
2016-04-28 12:02:37 +00:00
Claudiu Zissulescu 28633bbd10 [ARC] Add TLS support.
gcc/
2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
	    Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/arc-protos.h (arc_legitimize_pic_address): Remove
	declaration.
	(emit_pic_move): Remove.
	(arc_eh_uses, insn_is_tls_gd_dispatch): Declare.
	* config/arc/arc.c (emit_pic_move): Removed.
	(TARGET_HAVE_TLS): Define.
	(arc_conditional_register_usage): Test for arc_tp_regno.
	(arc_print_operand, arc_print_operand_address): Handle TLS
	unspecs.
	(arc_needs_pcl_p): New function.
	(arc_legitimate_pc_offset_p): Use arc_needs_pcl_p.
	(arc_legitimate_pic_addr_p): Handle TLS unspecs.
	(arc_raw_symbolic_reference_mentioned_p): Likewise.
	(arc_get_tp, arc_emit_call_tls_get_addr): New function.
	(arc_legitimize_tls_address): Likewise.
	(DTPOFF_ZERO_SYM): Define.
	(arc_legitimize_pic_address): Make it static, handle TLS cases.
	(arc_output_pic_addr_const): Print TLS unspecs.
	(prepare_pic_move): New function, replaces emit_pic_move.
	(arc_legitimate_constant_p): Handle TLS unspecs.
	(arc_legitimate_address_p): Likewise.
	(arc_rewrite_small_data_p): Use assert for TLS constants.
	(prepare_move_operands): Use prepare_pic_move.
	(arc_legitimize_address): Legitimize tls addresses.
	(arc_epilogue_uses): Check for arc_tp_regno.
	(arc_eh_uses, insn_is_tls_gd_dispatch): New function.
	* config/arc/arc.h [DEFAULT_LIBC != LIBC_UCLIBC] (EXTRA_SPECS):
	Define.
	[DEFAULT_LIBC != LIBC_UCLIBC] (ARC_TLS_EXTRA_START_SPEC):
	Likewise.
	[DEFAULT_LIBC != LIBC_UCLIBC] (STARTFILE_SPEC): Add
	%(arc_tls_extra_start_spec).
	(TARGET_CPU_CPP_BUILTINS): Define __ARC_TLS_REGNO__.
	(REGNO_OK_FOR_BASE_P): Check for arc_tp_regno.
	(EH_USES): Define.
	(INSN_REFERENCES_ARE_DELAYED): Use insn_is_tls_gd_dispatch.
	* config/arc/arc.md (UNSPEC_TLS_GD, UNSPEC_TLS_LD, UNSPEC_TLS_IE)
	(UNSPEC_TLS_OFF): Add.
	(R10_REG): Define.
	(tls_load_tp_soft, tls_gd_load, tls_gd_get_addr, tls_gd_dispatch)
	(get_thread_pointersi): New patterns.
	* config/arc/arc.opt (mtp-regno): New option.
	* config/arc/predicates.md (move_src_operand): Handle TLS symbols.
	(move_dest_operand): Likewise.
	* configure: Regenerate.
	* configure.ac: Add arc*-*-* case to test for tls.
	* doc/invoke.texi (ARC options): Document mtp-regno.

Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>

From-SVN: r235559
2016-04-28 13:53:46 +02:00
Claudiu Zissulescu 8b48923bac [ARC/LIBGCC] Add TLS support.
libgcc/
2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
	    Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/crttls.S: New file.
	* config/arc/t-arc: New rule.
	* config.host (arc*-*-elf*, arc*-*-linux*): Add crttls.o.

Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>

From-SVN: r235558
2016-04-28 13:53:34 +02:00
Eric Botcazou 24efbb3e41 re PR ada/70786 (Missing "not" breaks Ada.Text_IO.Get_Immediate(File, Item, Available))
PR ada/70786
	* a-textio.adb (Get_Immediate): Add missing 'not' in expression.

From-SVN: r235554
2016-04-28 10:58:38 +00:00
Claudiu Zissulescu 00c072ae51 [ARC] Add SIMD extensions for ARC HS
gcc/
2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.c (arc_vector_mode_supported_p): Add support for
	the new ARC HS SIMD instructions.
	(arc_preferred_simd_mode): New function.
	(arc_autovectorize_vector_sizes): Likewise.
	(TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
	(TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
	(arc_init_reg_tables): Accept new ARC HS SIMD modes.
	(arc_init_builtins): Add new SIMD builtin types.
	(arc_split_move): Handle 64 bit vector moves.
	* config/arc/arc.h (TARGET_PLUS_DMPY, TARGET_PLUS_MACD)
	(TARGET_PLUS_QMACW): Define.
	* config/arc/builtins.def (QMACH, QMACHU, QMPYH, QMPYHU, DMACH)
	(DMACHU, DMPYH, DMPYHU, DMACWH, DMACWHU, VMAC2H, VMAC2HU, VMPY2H)
	(VMPY2HU, VADDSUB2H, VSUBADD2H, VADDSUB, VSUBADD, VADDSUB4H)
	(VSUBADD4H): New builtins.
	* config/arc/simdext.md: Add new ARC HS SIMD instructions.
	* testsuite/gcc.target/arc/builtin_simdarc.c: New file.

From-SVN: r235551
2016-04-28 11:53:13 +02:00
Eduard Sanou 174f66220d c-common.c (get_source_date_epoch): New function...
gcc/c-family/ChangeLog:

2016-04-28  Eduard Sanou  <dhole@openmailbox.org>
	    Matthias Klose  <doko@debian.org>

	* c-common.c (get_source_date_epoch): New function, gets the environment
	variable SOURCE_DATE_EPOCH and parses it as long long with error 
	handling.
	* c-common.h (get_source_date_epoch): Prototype.
	* c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.

gcc/ChangeLog:

2016-04-28  Eduard Sanou  <dhole@openmailbox.org>
	    Matthias Klose  <doko@debian.org>

	* doc/cppenv.texi: Document SOURCE_DATE_EPOCH environment variable.

libcpp/ChangeLog:

2016-04-28  Eduard Sanou  <dhole@openmailbox.org>
	    Matthias Klose  <doko@debian.org>

	* include/cpplib.h (cpp_init_source_date_epoch): Prototype.
	* init.c (cpp_init_source_date_epoch): New function.
	* internal.h: Added source_date_epoch variable to struct
	cpp_reader to store a reproducible date.
	* macro.c (_cpp_builtin_macro_text): Set pfile->date timestamp from 
	pfile->source_date_epoch instead of localtime if source_date_epoch is 
	set, to be used for __DATE__ and __TIME__ macros to help reproducible 
	builds.

Co-Authored-By: Matthias Klose <doko@debian.org>

From-SVN: r235550
2016-04-28 09:12:05 +00:00
Matthias Klose a564d35095 decl.c (parse_version): Don't encode the minor version in the abi version.
2016-04-28  Matthias Klose  <doko@ubuntu.com>

        * decl.c (parse_version): Don't encode the minor version in the abi
        version.

From-SVN: r235546
2016-04-28 08:22:10 +00:00
Richard Biener cc5999c8e3 re PR tree-optimization/70777 (x*x pessimised to pow(x,2) with -Og -ffast-math)
2016-04-28  Richard Biener  <rguenther@suse.de>

	PR middle-end/70777
	* fold-const.c (fold_binary_loc): Remove x*x to pow(x,2.0)
	canonicalization.

From-SVN: r235545
2016-04-28 07:55:33 +00:00
Oleg Endo e1fab8ba23 sh-common.c: Remove SH5 support.
gcc/
	* common/config/sh/sh-common.c: Remove SH5 support.
	* config/sh/constraints.md: Likewise.
	* config/sh/config/sh/elf.h: Likewise.
	* config/sh/linux.h: Likewise.
	* config/sh/netbsd-elf.h: Likewise.
	* config/sh/predicates.md: Likewise.
	* config/sh/sh-c.c: Likewise.
	* config/sh/sh-protos.h: Likewise.
	* config/sh/sh.c: Likewise.
	* config/sh/sh.h: Likewise.
	* config/sh/sh.md: Likewise.
	* config/sh/sh.opt: Likewise.
	* config/sh/sync.md: Likewise.
	* config/sh/sh64.h: Delete.
	* config/sh/shmedia.h: Likewise.
	* config/sh/shmedia.md: Likewise.
	* config/sh/sshmedia.h: Likewise.
	* config/sh/t-netbsd-sh5-64: Likewise.
	* config/sh/t-sh64: Likewise.
	* config/sh/ushmedia.h: Likewise.

From-SVN: r235544
2016-04-28 01:18:13 +00:00
GCC Administrator 50e017d06c Daily bump.
From-SVN: r235543
2016-04-28 00:16:23 +00:00
Uros Bizjak c68439b9e4 i386.md (sign_extend to memory peephole2s): Use general_reg_operand instead of register_operand predicate.
* config/i386/i386.md (sign_extend to memory peephole2s): Use
	general_reg_operand instead of register_operand predicate.

From-SVN: r235539
2016-04-28 01:51:30 +02:00