1. 10 Dec, 2014 40 commits
    • 40x.md (ppc403-compare): Remove "compare". · f5ae5a23
      	* config/rs6000/40x.md (ppc403-compare): Remove "compare".
      	config/rs6000/440.md (ppc440-compare): Remove "compare".
      	config/rs6000/476.md (ppc476-compare): Remove "compare".
      	config/rs6000/601.md (ppc601-compare): Remove "compare".
      	config/rs6000/603.md (ppc603-compare): Remove "compare".
      	config/rs6000/6xx.md (ppc604-compare): Remove "compare".
      	config/rs6000/7450.md (ppc7450-compare): Remove "compare".
      	config/rs6000/7xx.md (ppc750-compare): Remove "compare".
      	config/rs6000/8540.md (ppc8540_su): Remove "compare".
      	config/rs6000/cell.md (cell-fast-cmp, cell-cmp-microcoded): Remove
      	"compare".
      	config/rs6000/e300c2c3.md (ppce300c3_cmp): Remove "compare".
      	config/rs6000/e500mc.md (e500mc_su): Remove "compare".
      	config/rs6000/e500mc64.md (e500mc64_su2): Remove "compare".
      	config/rs6000/e5500.md (e5500_sfx2): Remove "compare".
      	config/rs6000/e6500.md (e6500_sfx2): Remove "compare".
      	config/rs6000/mpc.md (mpccore-compare): Remove "compare".
      	config/rs6000/power4.md (power4-compare): Remove "compare".
      	config/rs6000/power5.md (power5-compare): Remove "compare".
      	config/rs6000/power6.md (power6-compare): Remove "compare".
      	config/rs6000/power7.md (power7-compare): Remove "compare".
      	config/rs6000/power8.md (power8-compare): Remove "compare".  Update
      	comment.
      	config/rs6000/rs6000.c (rs6000_adjust_cost) <TYPE_COMPARE>: Remove
      	(three times).
      	(is_cracked_insn): Remove TYPE_COMPARE case.
      	(insn_must_be_first_in_group) <TYPE_COMPARE>: Remove (twice).
      	config/rs6000/rs6000.md (type): Remove "compare".
      	(cell_micro): Remove "compare".
      	config/rs6000/rs64.md (rs64a-compare): Remove "compare".
      
      From-SVN: r218597
      Segher Boessenkool committed
    • rs6000.md (*anddi3_2rld_dot, [...]): Change type from "compare" to "two". · 823dc8bd
      	* config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
      	Change type from "compare" to "two".
      
      From-SVN: r218596
      Segher Boessenkool committed
    • re PR target/64180 (PowerPC carry bit improvements) · a935964d
      	PR target/64180
      	* config/rs6000/predicates.md (unsigned_comparison_operator): New.
      	(signed_comparison_operator): New.
      	* config/rs6000/rs6000-protos.h (rs6000_emit_eqne): Declare.
      	* config/rs6000/rs6000.c (rs6000_emit_eqne): New function.
      	(rs6000_emit_sCOND): Remove ISEL test (move it to the expander).
      	* config/rs6000/rs6000.md (add<mode>3 for SDI): Expand DImode
      	add to addc,adde directly, if !TARGET_POWERPC64.
      	(sub<mode>3 for SDI): Expand DImode sub to subfc,subfe directly,
      	if !TARGET_POWERPC64.
      	(neg<mode>2): Delete expander.
      	(*neg<mode>2): Rename to "neg<mode>2".
      	(addti3, subti3): Delete.
      	(addti3, subti3): New expanders.
      	(*adddi3_noppc64, *subdi3_noppc64, *negdi2_noppc64): Delete.
      	(cstore<mode>4_unsigned): New expander.
      	(cstore<mode>4): Allow GPR as output (not just SI).  Rewrite.
      	(cstore<mode>4 for FP): Remove superfluous quotes.
      	(*eq<mode>, *eq<mode>_compare, *plus_eqsi and splitter,
      	*compare_plus_eqsi and splitter, *plus_eqsi_compare and splitter,
      	*neg_eq0<mode>, *neg_eq<mode>, *ne0_<mode>, plus_ne0_<mode>,
      	compare_plus_ne0_<mode> and splitter, *compare_plus_ne0_<mode>_1 and
      	splitter, *plus_ne0_<mode>_compare and splitter, *leu<mode>,
      	*leu<mode>_compare and splitter, *plus_leu<mode>, *neg_leu<mode>,
      	*and_neg_leu<mode>, *ltu<mode>, *ltu<mode>_compare, *plus_ltu<mode>,
      	*plus_ltu<mode>_1, *plus_ltu<mode>compare, *neg_ltu<mode>, *geu<mode>,
      	*geu<mode>_compare and splitter, *plus_geu<mode>, *neg_geu<mode>,
      	*and_neg_geu<mode>, *plus_gt0<mode>, *gtu<mode>, *gtu<mode>_compare,
      	*plus_gtu<mode>, *plus_gtu<mode>_1, *plus_gtu<mode>_compare,
      	*neg_gtu<mode>, 12 anonymous insns, and 12 anonymous splitters):
      	Delete.
      	(eq<mode>3, ne<mode>3): New.
      	(*neg_eq_<mode>, *neg_ne_<mode>): New.
      	(*plus_eq_<mode>, *plus_ne_<mode>): New.
      	(*minus_eq_<mode>, *minus_ne_<mode>): New.
      
      From-SVN: r218595
      Segher Boessenkool committed
    • re PR target/64180 (PowerPC carry bit improvements) · 969ce0b0
      	PR target/64180
      	* config/rs6000/predicates.md (adde_operand): New.
      	* config/rs6000/rs6000.md (add<mode>3_carry): New.
      	(*add<mode>3_imm_carry_pos): New.
      	(*add<mode>3_imm_carry_0): New.
      	(*add<mode>3_imm_carry_m1): New.
      	(*add<mode>3_imm_carry_neg): New.
      	(add<mode>3_carry_in): New.
      	(*add<mode>3_carry_in_internal): New.
      	(add<mode>3_carry_in_0): New.
      	(add<mode>3_carry_in_m1): New.
      	(subf<mode>3_carry): New.
      	(*subf<mode>3_imm_carry_0): New.
      	(*subf<mode>3_imm_carry_m1): New.
      	(subf<mode>3_carry_in): New.
      	(*subf<mode>3_carry_in_internal): New.
      	(subf<mode>3_carry_in_0): New.
      	(subf<mode>3_carry_in_m1): New.
      	(subf<mode>3_carry_in_xx): New.
      
      From-SVN: r218594
      Segher Boessenkool committed
    • re PR target/64180 (PowerPC carry bit improvements) · 46121d60
      	PR target/64180
      	* config/rs6000/rs6000.md (*add<mode>3_internal1): Rename to
      	"*add<mode>3".
      	(*add<mode>3_internal2, *add<mode>3_internal3, and (their splitters):
      	Delete.
      	(*add<mode>3_dot, *add<mode>3_dot2): New.
      	(*add<mode>3_imm_dot, *add<mode>3_imm_dot2): New.
      
      From-SVN: r218593
      Segher Boessenkool committed
    • re PR target/64180 (PowerPC carry bit improvements) · d262c86c
      	PR target/64180
      	* config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic
      	alternative.
      
      From-SVN: r218592
      Segher Boessenkool committed
    • re PR target/64180 (PowerPC carry bit improvements) · 79cdc851
      	PR target/64180
      	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
      	*ctr<mode>_internal5, *ctr<mode>_internal6): Change "r" alternatives
      	to "b".  Increase length.
      	(splitters for these): Split to cmp+addi instead of addic.
      
      From-SVN: r218591
      Segher Boessenkool committed
    • re PR target/64180 (PowerPC carry bit improvements) · 76f93d99
      	PR target/64180
      	* config/rs6000/darwin.md (macho_low_si): Remove "r" alternative.
      	(macho_low_di): Ditto.
      	* config/rs6000/rs6000.md (*largetoc_low): Ditto.
      	(tocref<mode>): Ditto.
      	(elf_low): Ditto.
      	* config/rs6000/spe.md (mov_si<mode>_e500_subreg0_elf_low_be): Ditto.
      	(mov_si<mode>_e500_subreg0_elf_low_le): Ditto.
      	(mov_si<mode>_e500_subreg4_elf_low_be): Ditto.  Reformat condition.
      	(mov_si<mode>_e500_subreg4_elf_low_le): Ditto.
      
      From-SVN: r218590
      Segher Boessenkool committed
    • re PR target/64180 (PowerPC carry bit improvements) · 7b781771
      	PR target/64180
      	* config/rs6000/rs6000.c (TARGET_MD_ASM_CLOBBERS): Define.
      	(rs6000_md_asm_clobbers): New function.
      
      From-SVN: r218589
      Segher Boessenkool committed
    • Document libgccjit++.h · 29df5715
      gcc/jit/ChangeLog:
      	* docs/cp/index.rst: New file.
      	* docs/cp/intro/index.rst: New file.
      	* docs/cp/intro/tutorial01.rst: New file.
      	* docs/cp/intro/tutorial02.rst: New file.
      	* docs/cp/intro/tutorial03.rst: New file.
      	* docs/cp/intro/tutorial04.rst: New file.
      	* docs/cp/topics/contexts.rst: New file.
      	* docs/cp/topics/expressions.rst: New file.
      	* docs/cp/topics/functions.rst: New file.
      	* docs/cp/topics/index.rst: New file.
      	* docs/cp/topics/locations.rst: New file.
      	* docs/cp/topics/objects.rst: New file.
      	* docs/cp/topics/results.rst: New file.
      	* docs/cp/topics/types.rst: New file.
      	* docs/examples/tut01-hello-world.cc: New file.
      	* docs/examples/tut02-square.c: Fix missing newline in output.
      	* docs/examples/tut02-square.cc: New file.
      	* docs/examples/tut03-sum-of-squares.cc: New file.
      	* docs/examples/tut04-toyvm/toyvm.cc: New file.
      	* docs/index.rst: Move summary to above the table of contents.
      	Add text about the C vs C++ APIs.
      	* docs/topics/contexts.rst: Fix a typo.
      
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      	* docs/_build/texinfo/factorial1.png: New file.
      	* docs/_build/texinfo/sum-of-squares1.png: New file.
      
      From-SVN: r218588
      David Malcolm committed
    • re PR testsuite/64048 (UNRESOLVED: gcc.dg/tree-prof/peel-1.c scan-rtl-dump loop2_unroll) · e56e603b
      2014-12-10  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/64048
      	* gcc.dg/tree-prof/peel-1.c: Update dump scanning.
      
      From-SVN: r218585
      Richard Biener committed
    • re PR fortran/60718 (Test case gfortran.dg/select_type_4.f90 fails on ARM) · 301375fd
      2014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
      	PR fortran/60718
      	* trans-expr.c (gfc_conv_procedure_call): Fix a strict aliasing
      	violation when passing a class object to a formal parameter which has
      	different pointer or allocatable attributes.
      
      testsuite:
      2014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
      	PR fortran/60718
      	* gfortran.dg/class_alias.f90: New.
      
      From-SVN: r218584
      Bernd Edlinger committed
    • forwprop-29.c: Add -fno-ipa-icf. · d7290d1c
      2014-12-10  Richard Biener  <rguenther@suse.de>
      
      	* gcc.dg/tree-ssa/forwprop-29.c: Add -fno-ipa-icf.
      
      From-SVN: r218583
      Richard Biener committed
    • aarch64-protos.h (aarch64_function_profiler): Remove declaration of removed function. · e9ecbf4b
              * config/aarch64/aarch64-protos.h (aarch64_function_profiler): Remove
              declaration of removed function.
      
      From-SVN: r218582
      Felix Yang committed
    • 2014-12-10 Richard Biener <rguenther@suse.de> · 07faade6
      	 * tree-ssa-loop-im.c
      	 (move_computations_dom_walker::before_dom_children): Clear
      	 SSA_NAME_RANGE_INFO on moved stmts.
      
      From-SVN: r218580
      Richard Biener committed
    • New sreal implementation which uses int64_t as m_sig. · d1704358
      	* sreal.c (sreal::shift_right): New implementation
      	for int64_t as m_sig.
      	(sreal::normalize): Likewise.
      	(sreal::to_int): Likewise.
      	(sreal::operator+): Likewise.
      	(sreal::operator-): Likewise.
      	(sreal::operator*): Likewise.
      	(sreal::operator/): Likewise.
      	(sreal::signedless_minus): Removed.
      	(sreal::signedless_plus): Removed.
      	(sreal::debug): const keyword is added.
      	* sreal.h (sreal::operator<): New implementation
      	for int64_t as m_sig.
      	* ipa-inline.c (recursive_inlining): LONG_MIN is replaced
      	with sreal::min ().
      
      From-SVN: r218579
      Martin Liska committed
    • re PR ipa/63909 (ICE: SIGSEGV in ipa_icf_gimple::func_checker::compare_bb()) · 42c0b54d
      PR ipa/63909
      
              * gimple-iterator.h (gsi_start_bb_nondebug): New function.
      	* ipa-icf-gimple.c (func_checker::compare_bb): Correct iteration
      	replaces loop based on precomputed number of non-debug statements.
      	* gcc.dg/ipa/pr63909.c: New test.
      
      From-SVN: r218578
      Martin Liska committed
    • linux.c (linux_has_ifunc_p): Remove. · ef9b7fad
      
      gcc/
      	* config/linux.c (linux_has_ifunc_p): Remove.
      	* config/linux.h (TARGET_HAS_IFUNC_P): Use default version.
      
      From-SVN: r218577
      Alexander Ivchenko committed
    • config.h.in: Regenerate. · f50eecba
      
      libgomp/
              * config.h.in: Regenerate.
              * configure: Regenerate.
              * configure.ac: Add GCC_CHECK_EMUTLS.
              * libgomp.h: Add check for USE_EMUTLS: this case
              is equal to HAVE_TLS.
              * team.c: Likewise.
      
      From-SVN: r218576
      Varvara Rainchik committed
    • check_GNU_style.sh "80 characters exceeded" error fix · d0d7c357
      2014-12-10  Mantas Mikaitis  <mantas.mikaitis@arm.com>
      
      	* contrib/check_GNU_style.sh (col): Got rid of cut operation
      	from the pipe chain and instead added cut inside awk command.
      
      From-SVN: r218575
      Mantas Mikaitis committed
    • re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have… · 73d17363
      re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)
      
      	PR c++/64127
      	* g++.dg/cpp/pr64127.C: New file.
      
      From-SVN: r218574
      Kai Tietz committed
    • re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have… · e6f2df09
      re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)
      
      	PR c++/64127
      	* parser.c (cp_parser_diagnose_invalid_type_name): Check id
      	for being an identifier before accessing it.
      
      From-SVN: r218573
      Kai Tietz committed
    • re PR c++/64100 (A static assert using the the current class in a noexcept test… · 6cc92f7d
      re PR c++/64100 (A static assert using the the current class in a noexcept test leads to a segfault)
      
      	PR c++/64100
      	* g++.dg/template/pr64100.C: New file.
      
      From-SVN: r218572
      Kai Tietz committed
    • re PR c++/64100 (A static assert using the the current class in a noexcept test… · e383e095
      re PR c++/64100 (A static assert using the the current class in a noexcept test leads to a segfault)
      
      	PR c++/64100
      	* typeck.c (lookup_destructor): Handle incomplete type.
      
      From-SVN: r218571
      Kai Tietz committed
    • ChangeLog fix for r218307 · e2c04e08
      Remove entry from ChangeLog.
      Insert entry into appropriate location of gcc/ChangeLog.
      
      From-SVN: r218570
      Matthew Fortune committed
    • re PR tree-optimization/64191 (indirect clobbers messes up dead code elimination… · 12822768
      re PR tree-optimization/64191 (indirect clobbers messes up dead code elimination in loop calling dtor)
      
      2014-12-10  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/64191
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not
      	mark clobbers as necessary.
      	(eliminate_unnecessary_stmts): Keep clobbers live if we can.
      
      	* g++.dg/pr64191.C: Make sure we can DCE empty loops with
      	indirect clobbers.
      
      From-SVN: r218566
      Richard Biener committed
    • re PR target/63594 (ICE: in ix86_vector_duplicate_value, at… · 092444af
      re PR target/63594 (ICE: in ix86_vector_duplicate_value, at config/i386/i386.c:39831 with -mavx512f)
      
      	PR target/63594
      	* config/i386/sse.md (vec_dupv4sf): Move after
      	<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name> pattern.
      	(*vec_dupv4si, *vec_dupv2di): Likewise.
      	(<mask_codefor><avx512>_vec_dup_mem<mode><mask_name>): Merge into ...
      	(<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>): ... this
      	pattern.
      	(*vec_dup<mode> AVX2_VEC_DUP_MODE splitter): Disable for
      	TARGET_AVX512VL (for QI/HI scalar modes only if TARGET_AVX512BW
      	is set too).
      	* config/i386/i386.c (enum ix86_builtins): Remove
      	IX86_BUILTIN_PBROADCASTQ256_MEM_MASK,
      	IX86_BUILTIN_PBROADCASTQ128_MEM_MASK and
      	IX86_BUILTIN_PBROADCASTQ512_MEM.
      	(bdesc_args): Use __builtin_ia32_pbroadcastq512_gpr_mask,
      	__builtin_ia32_pbroadcastq256_gpr_mask and
      	__builtin_ia32_pbroadcastq128_gpr_mask instead of *_mem_mask
      	regardless of OPTION_MASK_ISA_64BIT.
      	* config/i386/avx512fintrin.h (_mm512_set1_epi64,
      	_mm512_mask_set1_epi64, _mm512_maskz_set1_epi64): Use *_gpr_mask
      	builtins regardless of whether TARGET_64BIT is defined or not.
      	* config/i386/avx512vlintrin.h (_mm256_mask_set1_epi64,
      	_mm256_maskz_set1_epi64, _mm_mask_set1_epi64, _mm_maskz_set1_epi64):
      	Likewise.
      
      From-SVN: r218565
      Jakub Jelinek committed
    • sse.md (*mov<mode>_internal, [...]): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode). · f2864cc4
      	* config/i386/sse.md (*mov<mode>_internal, *avx512f_gatherdi<mode>_2):
      	Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
      
      From-SVN: r218564
      Jakub Jelinek committed
    • re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support) · da57182d
      gcc/
      	PR target/53513
      	* doc/extend.texi (__builtin_sh_set_fpscr): Fix typo.
      
      From-SVN: r218563
      Oleg Endo committed
    • re PR tree-optimization/61686 (Incorrect check in comparison function… · 77e60088
      re PR tree-optimization/61686 (Incorrect check in comparison function range_entry_cmp() in tree_ssa_reassoc.c)
      
      	PR tree-optimization/61686
      	* tree-ssa-reassoc.c (range_entry_cmp): Use q->high instead of
      	p->high.
      
      From-SVN: r218560
      Marek Polacek committed
    • libgcc.texi: Update text to match implementation in libgcc/libgcc2.c · 5d56a585
      	* doc/libgcc.texi: Update text to match implementation in
      	libgcc/libgcc2.c
      
      From-SVN: r218559
      Kito Cheng committed
    • remove gengtype support for param_is use_param, if_marked and splay tree allocators · 63f5d5b8
      gcc/
      
      	* plugin.c, plugin.def, ggc.h, ggc-common.c, gengtype.h, gengtype.c,
      	gengtype-state.c, gengtype-parse.c, gentype-lex.l, gcc-plugin.h,
      	doc/plugins.texi, doc/gty.texi: Remove support for if_marked and
      	param_is.
      
      include/
      
      	* hashtab.h, splay-tree.h: Remove GTY markers.
      
      From-SVN: r218558
      Trevor Saunders committed
    • re PR c++/64129 (ICE on invalid: in grokfndecl, at cp/decl.c:7658) · 59bce713
      	PR c++/64129
      	* decl.c (grokdeclarator): Recover from variable template
      	specialization declared as function.
      
      From-SVN: r218557
      Jason Merrill committed
    • re PR c++/64222 (error: ‘__FUNCTION__’ was not declared in this scope) · 9c78f8e6
      	PR c++/64222
      	* parser.c (cp_parser_unqualified_id): Don't declare fname while
      	parsing function parms.
      
      From-SVN: r218556
      Jason Merrill committed
    • Implement LWG DR 2329 and DR 2332. · 6789ccfa
      	* include/bits/regex.h (regex_match, regex_search): LWG DR 2329,
      	add deleted overloads for rvalue strings.
      	(regex_iterator, regex_token_iterator): LWG DR 2332, add deleted
      	constructors for rvalue regexes.
      	* testsuite/28_regex/algorithms/regex_match/dr2329_neg.cc: New.
      	* testsuite/28_regex/algorithms/regex_search/dr2329_neg.cc: New.
      	* testsuite/28_regex/iterators/regex_iterator/ctors/char/dr2332_neg.cc:
      	New.
      	* testsuite/28_regex/iterators/regex_token_iterator/ctors/char/
      	dr2332_neg.cc: New.
      
      From-SVN: r218555
      Jonathan Wakely committed
    • compiler: Don't track fields in compiler-generated hash and eq funcs. · 2a664a27
      Also, lower field tracking calls.
      
      From-SVN: r218554
      Ian Lance Taylor committed
    • future (__future_base::_Setter::operator(), [...]): Make call operators const. · 9131b509
      	* include/std/future (__future_base::_Setter::operator(),
      	__future_base::_Task_setter::operator()): Make call operators const.
      
      From-SVN: r218553
      Jonathan Wakely committed
    • locale_facets.tcc (numpunct::_M_cache): Avoid calling virtual functions twice. · d6f64424
      	* include/bits/locale_facets.tcc (numpunct::_M_cache): Avoid calling
      	virtual functions twice. Only update _M_allocated after all
      	allocations have succeeded.
      	* include/bits/locale_facets_nonio.tcc (moneypunct::_M_cache):
      	Likewise.
      	* include/bits/locale_facets_nonio.h (__timepunct::_M_cache): Remove
      	unused declaration.
      
      From-SVN: r218552
      Jonathan Wakely committed
    • re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support) · 9c53a5b4
      gcc/
      	PR target/53513
      	* doc/extend.texi (__builtin_sh_get_fpscr, __builtin_sh_get_fpscr):
      	Document it.
      
      From-SVN: r218551
      Oleg Endo committed