Commit Graph

149184 Commits

Author SHA1 Message Date
Richard Biener 8a7c91cd62 2016-10-12 Richard Biener <rguenther@suse.de>
* tree-ssa-propagate.c
	(substitute_and_fold_dom_walker::before_dom_children): Do not
	ignore ASSERT_EXPRs but only preserve them.
	* tree-vrp.c (remove_range_assertions): Deal with ASSERT_EXPRs
	that have been propagated into.
	(vrp_finalize): Enable DCE for substitute_and_fold.

	* gcc.dg/tree-ssa/vrp35.c: Adjust.
	* gcc.dg/tree-ssa/vrp36.c: Likewise.
	* gcc.dg/tree-ssa/vrp46.c: Likewise.

From-SVN: r241021
2016-10-12 07:10:07 +00:00
Richard Biener 7dc2f5f123 re PR middle-end/77920 (186.crafty doesn't compile)
2016-10-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/77920
	* tree-vrp.c (simplify_div_or_mod_using_ranges): Simplify.
	(simplify_min_or_max_using_ranges): Pass in gsi and use it.
	(simplify_abs_using_ranges): Likewise.
	(simplify_conversion_using_ranges): Likewise.
	(simplify_stmt_using_ranges): Adjust.

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

From-SVN: r241020
2016-10-12 07:08:49 +00:00
Jakub Jelinek 4a8b97cb8a re PR tree-optimization/77929 (ICE: verify_gimple failed (error: non-trivial conversion at assignment))
PR tree-optimization/77929
	* tree-ssa-reassoc.c (optimize_range_tests_var_bound): Handle
	(*ops)[ranges[i].idx]->op != ranges[i].exp case.

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

From-SVN: r241019
2016-10-12 09:07:33 +02:00
Aaron Sawdey 83d3ca2849 re PR target/77934 (pattern for mtvsrdd needs to use b constraint not r)
2016-10-12  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>

	PR target/77934
	* config/rs6000/vmx.md (vsx_concat_<mode>): The mtvsrdd instruction
	needs a base register for arg 1.

From-SVN: r241017
2016-10-11 21:12:06 -05:00
GCC Administrator 9833e9315b Daily bump.
From-SVN: r241016
2016-10-12 00:16:12 +00:00
Jakub Jelinek 70f6d5e19b gcc/
* common.opt (Wimplicit-fallthrough) Turn into alias to
	-Wimplicit-fallthrough=3.  Remove EnabledBy.
	(Wimplicit-fallthrough=): New option.
	* gimplify.c (warn_implicit_fallthrough_r): Use
	OPT_Wimplicit_fallthrough_ instead of OPT_Wimplicit_fallthrough.
	* doc/invoke.texi (-Wimplicit-fallthrough): Document as alias
	to -Wimplicit-fallthrough=3.
	(-Wimplicit-fallthrough=): Document.
gcc/c-family/
	* c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
	(Wimplicit-fallthrough=): Enable for these languages by -Wextra.
	* c-opts.c (sanitize_cpp_opts): Initialize
	cpp_opts->cpp_warn_implicit_fallthrough.
gcc/testsuite/
	* c-c++-common/Wimplicit-fallthrough-25.c: New test.
	* c-c++-common/Wimplicit-fallthrough-26.c: New test.
	* c-c++-common/Wimplicit-fallthrough-27.c: New test.
	* c-c++-common/Wimplicit-fallthrough-28.c: New test.
	* c-c++-common/Wimplicit-fallthrough-29.c: New test.
	* c-c++-common/Wimplicit-fallthrough-30.c: New test.
	* c-c++-common/Wimplicit-fallthrough-31.c: New test.
	* c-c++-common/Wimplicit-fallthrough-32.c: New test.
	* c-c++-common/Wimplicit-fallthrough-33.c: New test.
libcpp/
	* include/cpplib.h (struct cpp_options): Add
	cpp_warn_implicit_fallthrough.
	* init.c (cpp_create_reader): Initialize it to 0.
	* lex.c (fallthrough_comment_p): Handle different
	cpp_warn_implicit_fallthrough levels.  Whitespace fixes.

From-SVN: r241013
2016-10-12 01:19:06 +02:00
Eric Botcazou 4803de58c5 sparc.c (emit_scc_insn): Remove direct support for EQ and GEU in DImode if TARGET_SUBXC.
* config/sparc/sparc.c (emit_scc_insn): Remove direct support for EQ
	and GEU in DImode if TARGET_SUBXC.
	* config/sparc/sparc.md (seqdi<W:mode>_zero): Remove TARGET_SUBXC.
	(seqdi<W:mode>_zero_subxc): Delete.
	(neg_seqdi<W:mode>_zero): Remove TARGET_VIS3.
	(neg_seqdi<W:mode>_zero_vis3): Delete.
	(plus_seqdi<W:mode>_zero): Likewise.
	(minus_seqdi<W:mode>_zero): Likewise.
	(plus_plus_sltu<W:mode>): Accept only register.
	(addx<W:mode>): Likewise.
	(plus_sltu<W:mode>_vis3): Likewise.
	(plus_plus_sltu<W:mode>_vis3): Likewise.
	(neg_sgeu<W:mode>_vis3): Delete.
	(minus_sgeu<W:mode>_vis3): Likewise.
	(addxc<W:mode>): Accept only registers.
	(neg_sltu<W:mode>_subxc): Write %%g0 instead of 0.
	(minus_neg_sltu<W:mode>_subxc): Accept only register.
	(neg_plus_sltu<W:mode>_subxc): Likewise.
	(minus_sltu<W:mode>_subxc): Write %%g0 instead of 0.
	(minus_minus_sltu<W:mode>_subxc): Accept only register.
	(sgeu<W:mode>_insn_subxc): Delete.
	(plus_sgeu<W:mode>_subxc): Likewise.
	(subxc<W:mode>): Accept only register.
	(scc splitter): Split always GEU again.

From-SVN: r241012
2016-10-11 22:22:38 +00:00
Jakub Jelinek 0a4613f0c5 iresolve.c (is_trig_resolved, [...]): Formatting fixes.
* iresolve.c (is_trig_resolved, resolve_trig_call): Formatting fixes.
	* simplify.c (simplify_trig_call, degrees_f, radians_f,
	gfc_simplify_atrigd, gfc_simplify_cotan): Likewise.

From-SVN: r241010
2016-10-11 23:45:34 +02:00
Jeff Law 1fdf74c7c9 re PR tree-optimization/77424 (Identical statements in if-else branches)
PR tree-optimization/77424
	* tree-ssa-threadupdate.c (thread_through_all_blocks): Remove
	dead conditionals.  Assert that all e->aux fields are NULL.

From-SVN: r241009
2016-10-11 15:41:51 -06:00
Steven G. Kargl f6cf4810e9 re PR fortran/77942 (ICE: Floating point exception, in gfc_simplify_cshift, at fortran/simplify.c:1845)
2016-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77942
	* simplify.c (gfc_simplify_cshift): Check for zero.

2016-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/77942
	* gfortran.dg/pr77942.f90

From-SVN: r241008
2016-10-11 21:03:04 +00:00
Eric Botcazou 2560723055 system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
* system-linux-armeb.ads (Backend_Overflow_Checks): Change to True.
	* system-linux-mips.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-mips64el.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-mipsel.ads (Backend_Overflow_Checks): Likewise.
	* system-linux-sparcv9.ads (Backend_Overflow_Checks): Likewise.
	* system-rtems.ads: Likewise.

From-SVN: r241003
2016-10-11 19:50:31 +00:00
David Malcolm acda0629ff Split print_rtx into subroutines
gcc/ChangeLog:
	* print-rtl.c (print_rtx): Rename "i" to "idx".  Split out the
	operand-printing "switch" statement into...
	(print_rtx_operand_code_0): ...this new function, ...
	(print_rtx_operand_code_e): ...this new function, ...
	(print_rtx_operand_codes_E_and_V): ...this new function, ...
	(print_rtx_operand_code_i): ...this new function, ...
	(print_rtx_operand_code_r): ...this new function, ...
	(print_rtx_operand_code_u): ...this new function, ...
	(print_rtx_operand): ...and this new function.

From-SVN: r241002
2016-10-11 19:19:05 +00:00
Fritz Reese ec08df86cb Fix bad commit for -fdec-math.
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

Fix bad commit for -fdec-math.

	* iresolve.c (get_radians, get_degrees): Fix sloppy commit.
	* simplify.c (degrees_f, radians_f): Ditto.

From-SVN: r241001
2016-10-11 18:44:05 +00:00
Jerry DeLisle e8e5329d0c simplify.c (radians_f): Fix mpdr_mod.
2016-10-11  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* simplify.c (radians_f): Fix mpdr_mod.
	* ireolce.c (get_degrees): Declare tmp.

From-SVN: r241000
2016-10-11 18:31:50 +00:00
Andris Pavenis 91f2eb13cb adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* adaint.c: Include process.h, signal.h, dir.h and utime.h for DJGPP.
	ISALPHA: include <ctype.h> and define to isalpha for DJGPP when IN_RTS is defined.
	(DIR_SEPARATOR) define to '\\' for DJGPP.
	(__gnat_get_file_names_case_sensitive): return 0 for DJGPP unless
	overriden in environment
	(__gnat_is_absolute_path): Support MS-DOS style absolute paths for DJGPP.
	(__gnat_portable_spawn): Use spewnvp for DJGPP.
	(__gnat_portable_no_block_spawn): Use spawnvp for DJGPP.
	(__gnat_portable_wait): Return 0 for DJGPP.

From-SVN: r240999
2016-10-11 21:24:45 +03:00
Andris Pavenis a5297b0470 Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP target
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Define for DJGPP target
	(EH_MECHANISM): Define to -gcc for DJGPP
	* system-djgpp.ads: New file

From-SVN: r240998
2016-10-11 21:19:07 +03:00
Andris Pavenis 4f100fd7db ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
2016-10-11  Andris Pavenis  <andris.pavenis@iki.fi>

	* ctrl_c.c: Do not use macro SA_RESTART for DJGPP.
	* gsocket.h: Do not support sockets for DJGPP.
	* init.c (__gnat_install_handler): Implememt for DJGPP
	* sysdep.c: Include <io.h> for DJGPP
	(_setmode): Define to setmode for DJGPP
	(__gnat_set_mode): Add implementation for DJGPP
	(__gnat_localtime_tzoff): Use localtime_r for DJGPP
	* terminals.c: Add DJGPP to list of unsupported platforms.
	* env.c (__gnat_clearenv): use _gnat_unsetenv on all entries for DJGPP

From-SVN: r240997
2016-10-11 21:12:52 +03:00
Uros Bizjak a32fc2165b alpha-passes.def: New file.
* config/alpha/alpha-passes.def: New file.
	* config/alpha/t-alpha: New file.
	* config/alpha/alpha-protos.h (gcc::context, rtl_opt_pass): Declare.
	(make_pass_handle_trap_shadows): New prototype.
	(make_pass_align_insns): Ditto.
	* config/alpha/alpha.c (alpha_option_override): Don't register
	passes here.
	* config.gcc (alpha*-*-*) Add alpha/t-alpha to tmake_file.

From-SVN: r240996
2016-10-11 18:30:45 +02:00
Michael Meissner 66d76fc91e re PR target/77924 (-mfloat128-type change broke AIX)
2016-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/77924
	* config/rs6000/rs6000.c (rs6000_init_builtins): Only create the
	distinct __ibm128 IBM extended double type if long doubles are
	128-bits and the default format for long double is IEEE 128-bit.

From-SVN: r240994
2016-10-11 14:12:09 +00:00
Ian Lance Taylor 207f844e6e configure: redirect -fsplit-stack compilation to dev/null
Avoid an error message in the middle of the configure output.
    
    Patch by Eric Botcazou.
    
    Reviewed-on: https://go-review.googlesource.com/30813

From-SVN: r240993
2016-10-11 13:13:17 +00:00
Richard Biener a26ff5b549 dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
2016-10-11  Richard Biener  <rguenther@suse.de>

	* dwarf2out.c (DEBUG_STR_OFFSETS_SECTION): Remove conditional.
	(init_sections_and_labels): Use DEBUG_DWO_STR_OFFSETS_SECTION.
	(verify_die): New function.
	(dwarf2out_finish): Call it.
	(output_line_info): Handle case of -gsplit-dwarf without
	DWARF2_ASM_LINE_DEBUG_INFO.

From-SVN: r240992
2016-10-11 12:56:49 +00:00
Richard Biener b13ff1f5e2 re PR debug/77931 (PASS->FAIL: gdb.cp/namespace.exp: print ina)
2016-10-11  Richard Biener  <rguenther@suse.de>

	PR debug/77931
	* gimple-low.c (lower_gimple_bind): Handle arbitrary common
	sub-chains of BLOCK_VARS and gimple_bind_vars.

From-SVN: r240991
2016-10-11 12:52:44 +00:00
Venkataramanan Kumar 1d0eabee39 Fix integer load reservation for -march=znver1
2016-10-11  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

	* config/i386/znver1.md : Fix imov/imovx load type reservations.

From-SVN: r240990
2016-10-11 11:49:32 +00:00
Fritz Reese 8e8c2744fa New flag -fdec-math for COTAN and degree trig intrinsics.
2016-10-11  Fritz Reese  <fritzoreese@gmail.com>

New flag -fdec-math for COTAN and degree trig intrinsics.

	gcc/fortran/
	* lang.opt: New flag -fdec-math.
	* options.c (set_dec_flags): Enable with -fdec.
	* invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
	* intrinsics.c (add_functions, do_simplify): New intrinsics
	with -fdec-math.
	* gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
	* gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
	gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
	* iresolve.c (resolve_trig_call, get_degrees, get_radians,
	is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
	gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
	* intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
	gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
	* simplify.c (simplify_trig_call, degrees_f, radians_f,
	gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
	gfc_simplify_atan2d): New functions.

	gcc/testsuite/gfortran.dg/
	* dec_math.f90: New testsuite.

From-SVN: r240989
2016-10-11 11:21:07 +00:00
Eric Botcazou 9760fbe005 Minor tweaks
From-SVN: r240988
2016-10-11 10:37:24 +00:00
Nathan Sidwell fbf4c5021d * MAINTAINERS: Update email address.
From-SVN: r240987
2016-10-11 10:36:33 +00:00
Senthil Kumar Selvaraj ddefad9a08 Fix gcc.dg/tree-ssa/pr59597.c failure for avr
Declare loop index variable j as a 32 bit int instead of assuming ints 
are 32 bits. The smaller int size on the avr makes prior passes optimize
away the loop exit check (j < 10000000), as the constant is outside
the range of a 16 bit int.

gcc/testsuite/ChangeLog

2016-10-11  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/tree-ssa/pr59597.c: Typedef  __INT32_TYPE__ to i32.
	(main): Declare j as i32 instead of int.

From-SVN: r240986
2016-10-11 10:35:57 +00:00
Pierre-Marie de Rodat 656b031126 exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
* exp_dbug.adb (Debug_Renaming_Declaration): Process underlying types.
	Emit GNAT encodings for object renamings involving record components
	whose normalized bit offset is not null.
	* uintp.h (UI_No_Uint): Declare.
	* gcc-interface/gigi.h (can_materialize_object_renaming_p): New.
	* gcc-interface/utils.c (can_materialize_object_renaming_p): New
	function.
	* gcc-interface/trans.c (gnat_to_gnu) <N_Object_Renaming_Declaration>:
	In code generation mode, materialize all renamings as long as they need
	debug info and we are not optimizing.

From-SVN: r240985
2016-10-11 10:35:43 +00:00
Jonathan Wakely 4bb4acee68 Optimise std::list::assign(initializer_list<T>) slightly
* include/bits/stl_list.h (assign(initializer_list<value_type>)): Call
	_M_assign_dispatch directly with correct tag.

From-SVN: r240984
2016-10-11 11:33:41 +01:00
Jonathan Wakely 0470fad0d6 Simplify std::rethrow_if_nested definition
* doc/xml/manual/intro.xml: Document LWG 2484 status.
	* libsupc++/nested_exception.h (_Throw_with_nested_impl)
	(_Throw_with_nested_helper): Remove.
	(__throw_with_nested_impl): New overloaded functions to implement
	throw_with_nested logic.
	(throw_with_nested): Call __throw_with_nested_impl.
	(_Rethrow_if_nested_impl): Remove
	(__rethrow_if_nested_impl): New overloaded functions to implement
	rethrow_if_nested logic.
	(rethrow_if_nested): Call __rethrow_if_nested_impl.
	* testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test
	problem cases from LWG 2484.

From-SVN: r240983
2016-10-11 11:33:36 +01:00
Jonathan Wakely bf1de1ac98 Enable printers and xmethods for std::__cxx11::list
* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
	Register printer for std::__cxx11::list.
	* python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
	std::__cxx11::list as well as std::list.

From-SVN: r240982
2016-10-11 11:33:29 +01:00
Jonathan Wakely 7571121f10 Remove redundant const qualifliers from string_view
* include/experimental/string_view (basic_string_view::_S_compare):
	Remove redundant const from return type.
	* include/std/string_view (basic_string_view:_S_compare): Likewise.

From-SVN: r240981
2016-10-11 11:33:24 +01:00
Jonathan Wakely 2c15eace95 More noexcept for standard mutex types and locks
* include/bits/std_mutex.h (mutex::native_handle)
	(lock_guard(mutex_type&, adopt_lock_t)
	(unique_lock(mutex_type&, adopt_lock_t): Add noexcept.
	* include/std/mutex (recursive_mutex, timed_mutex)
	(recursive_timed_mutex): Likewise.

From-SVN: r240980
2016-10-11 11:33:16 +01:00
Thomas Preud'homme e7b08761c7 PR77710: fix triplet in builtin-sprintf-warn-4.c
2016-10-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/testsuite/
    PR testsuite/PR77710
    * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Use *-*-* as catch-all
    target triplet instead of *-*-*-*.

From-SVN: r240979
2016-10-11 10:26:10 +00:00
Pierre-Marie de Rodat 08ef2c1677 utils2.c (build_binary_op): Add a NO_FOLD argument.
* gcc-interface/utils2.c (build_binary_op): Add a NO_FOLD
	argument.  Disable folding when true.
	* gcc-interface/gigi.h (choices_to_gnu): Remove declaration.
	(build_binary_op): Update signature and comment.
	* gcc-interface/decl.c (choices_to_gnu): Make static.  Disable
	folding for all calls to build_binary_op.

From-SVN: r240978
2016-10-11 10:19:39 +00:00
Tristan Gingold abb3ea16fa fe.h (Constant_Value): Declare.
* fe.h (Constant_Value): Declare.
	* gcc-interface/decl.c (compile_time_known_address_p): Also consider
	references to constants.

From-SVN: r240977
2016-10-11 10:11:49 +00:00
Eric Botcazou 87e25aac8e trans.c (gnat_to_gnu): Adjust comment.
* gcc-interface/trans.c (gnat_to_gnu) <N_Op_Add>: Adjust comment.
	<N_Op_Minus>: Add comment and missing guard.
	* gcc-interface/trans.c (build_binary_op_trapv): Use an explicit test.

From-SVN: r240976
2016-10-11 10:03:49 +00:00
Eric Botcazou 9fd7cd44d6 utils.c (type_unsigned_for_rm): New predicate.
* gcc-interface/utils.c (type_unsigned_for_rm): New predicate.
	(make_type_from_size): Use it.
	(unchecked_convert): Likewise.  Do not skip the extension step if the
	source type is not integral.

From-SVN: r240975
2016-10-11 09:52:35 +00:00
Marek Polacek 78f6129427 c-common.c (warning_candidate_p): Change the return type to bool and return true/false instead of 1/0.
* c-common.c (warning_candidate_p): Change the return type to bool
	and return true/false instead of 1/0.
	(vector_mode_valid_p): Likewise.

From-SVN: r240974
2016-10-11 09:32:44 +00:00
Eric Botcazou f153e9d5b0 system-linux-ppc64.ads: Delete.
* system-linux-ppc64.ads: Delete.
	* system-linux-ppc.ads: Make 32-bit/64-bit neutral.
	* gcc-interface/Makefile.in (PowerPC/Linux): Simplify.

Co-Authored-By: Tristan Gingold <gingold@adacore.com>

From-SVN: r240973
2016-10-11 09:12:25 +00:00
Eric Botcazou d2d58b10b9 Add missing file
From-SVN: r240972
2016-10-11 08:55:31 +00:00
Eric Botcazou ff7e7ee099 sparc.opt (msubxc): New option.
* config/sparc/sparc.opt (msubxc): New option.
	* doc/invoke.texi (SPARC options): Document it and tidy up.
	* doc/tm.texi.in (Condition Codes): Adjust SPARC example.
	* doc/tm.texi: Regenerate.
	* config/sparc/sparc-modes.def (CC_NOOV): Rename into...
	(CCNZ): ...this.
	(CCX_NOOV): Rename into...
	(CCXNZ): ...this.
	(CCC): New.
	(CCXC): Likewise.
	* config/sparc/predicates.m (fcc_register_operand): Simplify.
	(fcc0_register_operand): Likewise.
	(icc_register_operand): New.
	(icc_or_fcc_register_operand): Simplify.
	(nz_comparison_operator): New.
	(c_comparison_operator): Likewise.
	(noov_compare_operator): Rename into...
	(icc_comparison_operator): ...this.  Use above predicates.
	(noov_compare64_operator): Rename into...
	(v9_comparison_operator): ...this and tidy up.
	(fcc_comparison_operator): New.
	(icc_or_fcc_comparison_operator): Likewise.
	(v9_register_compare_operator): Rename info...
	(v9_register_comparison_operator): ...this.
	* config/sparc/sparc.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
	(sparc_option_override): Remove redundant VIS masks and add MASK_SUBXC
	for Niagara-7.
	(sparc_fixed_condition_code_regs): New function.
	(select_cc_mode): Remove ATTRIBUTE_UNUSED.  Adjust for CCNZ/CCXNZ
	renaming and add support for CCC/CCXC.
	(output_cbranch): Likewise.
	(sparc_print_operand): Likewise.
	(gen_v9_scc): Remove obsolete assertion.
	(emit_scc_insn): Emit RTL directly for EQ and NE.  Add direct support
	for EQ in DImode if TARGET_SUBXC.  Remove test on TARGET_VIS3 for GEU.
	(output_cbcond): Remove bogus handling of CC modes.
	(sparc_register_move_cost): Return 100 for NO_REGS.
	* config/sparc/sparc.md (W): New mode iterator.
	(length): Adjust for noov_compare64_operator renaming.
	(cmpsi_sne): New instruction.
	(cmpdi_sne): Likewise.
	(seqdi_special): Delete.
	(seqdi_special): Likewise.
	(snesi<P:mode>_special): Likewise.
	(snedi_special): Likewise.
	(snedi_special_vis3): Likewise.
	(snesi patterns): Use W iterator.
	(snedi patterns): Likewise.  Add TARGET_SUBXC patterns.
	(sltu patterns): Likewise.
	(sgeu patterns): Likewise.
	(scc splitter): Do not split GEU in DImode if TARGET_SUBXC.
	(normal_branch): Use icc_comparison_operator predicate.
	(inverted_branch): Likewise.
	(cbcond_sp32): Use comparison_operator predicate.
	(cbcond_sp64): Likewise.
	(normal_int_branch_sp64): Adjust for renaming
	(inverted_int_branch_sp64): Likewise.
	(mov<I:mode>_cc_reg_sp64): Likewise.
	(movsf_cc_reg_sp6): Likewise.
	(movdf_cc_reg_sp64): Likewise.
	(movtf_cc_reg_hq_sp64): Likewise.
	(movtf_cc_reg_sp64): Likewise.
	(mov<I:mode>_cc_v9): Use icc_or_fcc_comparison_operator predicate.
	(movsf_cc_v9): Likewise.
	(movdf_cc_v9): Likewise.
	(movtf_cc_hq_v9): Likewise.
	(movtf_cc_v9): Likewise.
	(adddi3): Call gen_adddi3_sp32.
	(adddi3_insn_sp32): Rename to...
	(adddi3_sp32): ...this.  Accept only register_operand as operand #1
	and use CCCmode for the carry.
	(addx_extend_sp32): Use CCCmode for the carry.
	(addx_extend_sp64): Delete.
	(adddi3_extend_sp32): Use CCCmode for the carry.
	(cmp_plus patterns): Use CCNZ/CCXNZ mode and add C variants.
	(subdi3): Call gen_subdi3_sp32.
	(subdi3_insn_sp32): Rename to...
	(subdi3_sp32): ...this and use CCmode for the carry.
	(subx_extend_sp32): Use CCCmode for the carry.
	(subx_extend_sp64): Delete.
	(subdi3_extend_sp32): Use CCmode for the carry.
	(cmp_minus patterns): Use CCNZ/CCXNZ mode and add C variants.
	(negdi3): Call gen_negdi3_sp32.
	(negdi3_sp32): Use CCCmode for the carry.
	(cmp_neg patterns): Use CCNZ/CCXNZ mode and add C variants.
	(cmp_nz_ashift_1): Use CCNZ mode.
	(cmp_nz_set_ashift_1): Likewise.
	(ctrapsi4): Use comparison_operator predicate.
	(ctrapdi4): Likewise.
	(trapsi_insn): Use icc_comparison_operator predicate.
	(trapdi_insn): Likewise.
	(edge8 patterns): Use CCNZmode.
	(edge16 patterns): Likewise.
	(edge32 patterns): Likewise.

From-SVN: r240971
2016-10-11 08:54:56 +00:00
Eric Botcazou 8d946ecc46 visium-modes.def (CC_NOOV): Rename into...
* config/visium/visium-modes.def (CC_NOOV): Rename into...
	(CCNZ): ...this.
	(CC_BTST): Rename into...
	(CCC): ...this.
	* config/visium/predicates.md (real_add_operand): New.
	(visium_btst_operator): Rename into...
	(visium_equality_comparison_operator): ...this.
	(visium_noov_operator): Rename into...
	(visium_nz_comparison_operator): ...this.
	(visium_c_comparison_operator): New.
	(visium_branch_operator): Adjust and deal with all CC modes.
	* config/visium/visium.c (visium_adjust_cost): Adjust.
	(visium_split_double_add): Use the *_set_carry patterns.
	(visium_select_cc_mode): Add support for CCC mode and adjust.
	(output_cbranch): Adjust and use the carry-based operators for
	floating-point comparisons.
	* config/visium/visium.md (flags_subst_arith): Adjust.
	(addsi3_insn_set_carry): New instruction.
	(subsi3_insn_set_carry): Likewise.
	(negsi2_insn_set_carry): Likewise.
	(btst): Adjust.
	(cmp<mode>_sne): Likewise.
	(cbranch<mode>4): Use ordered_comparison_operator.
	(cbranch<mode>4_insn): Likewise.
	(cbranchsi4_btst_insn): Adjust.

From-SVN: r240969
2016-10-11 08:19:17 +00:00
Tom de Vries 431e31a9f4 Remove RECORD_TYPE special-casing in std_canonical_va_list_type
2016-10-11  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/77558
	* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
	special-casing.

From-SVN: r240968
2016-10-11 08:16:11 +00:00
Eric Botcazou 2e33e1c46f tree.h (build_complex_type): Add second parameter with default.
* tree.h (build_complex_type): Add second parameter with default.
	* tree.c (build_complex_type): Add NAMED second parameter and adjust
	recursive call.  Create a TYPE_DECL only if NAMED is true.
	(build_common_tree_nodes): Pass true in calls to build_complex_type.

From-SVN: r240967
2016-10-11 08:05:31 +00:00
Georg-Johann Lay 76beabf41a New avr-passes.def to register AVR specific passes.
* config/avr/avr-passes.def: New file.
	* config/avr/t-avr (PASSES_EXTRA): Add avr-passes.def.
	* config/avr/avr-protos.h (gcc::context, rtl_opt_pass): Declare.
	(make_avr_pass_recompute_note): New proto.
	* config/avr/avr.c (make_avr_pass_recompute_notes): New function.
	(avr_pass_recompute_notes): Use anonymous namespace.
	(avr_register_passes): Remove function...
	(avr_option_override): ...and its call.

From-SVN: r240966
2016-10-11 08:02:48 +00:00
Robert Suchanek 7c50766489 [MIPS] Disable -mbranch-likely for -Os when targetting generic arch
gcc/
	* config/mips/mips-cpus.def: Replace PTF_AVOID_BRANCHLIKELY with
	PTF_AVOID_BRANCHLIKELY_ALWAYS for generic architecture and with
	PTF_AVOID_BRANCHLIKELY_SPEED for others.
	(mips2, mips3, mips4): Add PTF_AVOID_BRANCHLIKELY_SIZE to tune flags.
	* config/mips/mips.c (mips_option_override): Enable the branch likely
	depending on the tune flags and optimization level.
	* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): Remove.
	(PTF_AVOID_BRANCHLIKELY_SPEED): Define.
	(PTF_AVOID_BRANCHLIKELY_SIZE): Likewise.
	(PTF_AVOID_BRANCHLIKELY_ALWAYS): Likewise.

From-SVN: r240965
2016-10-11 07:58:54 +00:00
Richard Biener ec1db2a994 lto-streamer-out.c (collect_block_tree_leafs): New helper.
2016-10-11  Richard Biener  <rguenther@suse.de>

	* lto-streamer-out.c (collect_block_tree_leafs): New helper.
	(output_function): Properly stream the whole block tree.
	* lto-streamer-in.c (input_function): Likewise.

From-SVN: r240964
2016-10-11 07:38:08 +00:00
Marek Polacek 038b5cc0d5 Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.
* Makefile.in (C_COMMON_OBJS): Add c-family/c-warn.o.

	* c-common.c (fold_for_warn): No longer static.
	(bool_promoted_to_int_p): Likewise.
	(c_common_get_narrower): Likewise.
	(constant_expression_warning): Move to c-warn.c.
	(constant_expression_error): Likewise.
	(overflow_warning): Likewise.
	(warn_logical_operator): Likewise.
	(find_array_ref_with_const_idx_r): Likewise.
	(warn_tautological_cmp): Likewise.
	(expr_has_boolean_operands_p): Likewise.
	(warn_logical_not_parentheses): Likewise.
	(warn_if_unused_value): Likewise.
	(strict_aliasing_warning): Likewise.
	(sizeof_pointer_memaccess_warning): Likewise.
	(check_main_parameter_types): Likewise.
	(conversion_warning): Likewise.
	(warnings_for_convert_and_check): Likewise.
	(match_case_to_enum_1): Likewise.
	(match_case_to_enum): Likewise.
	(c_do_switch_warnings): Likewise.
	(warn_for_omitted_condop): Likewise.
	(readonly_error): Likewise.
	(lvalue_error): Likewise.
	(invalid_indirection_error): Likewise.
	(warn_array_subscript_with_type_char): Likewise.
	(warn_about_parentheses): Likewise.
	(warn_for_unused_label): Likewise.
	(warn_for_div_by_zero): Likewise.
	(warn_for_memset): Likewise.
	(warn_for_sign_compare): Likewise.
	(do_warn_double_promotion): Likewise.
	(do_warn_unused_parameter): Likewise.
	(record_locally_defined_typedef): Likewise.
	(maybe_record_typedef_use): Likewise.
	(maybe_warn_unused_local_typedefs): Likewise.
	(maybe_warn_bool_compare): Likewise.
	(maybe_warn_shift_overflow): Likewise.
	(warn_duplicated_cond_add_or_warn): Likewise.
	(diagnose_mismatched_attributes): Likewise.
	* c-common.h: Move the declarations from c-warn.c to its own section.
	* c-warn.c: New file.

From-SVN: r240963
2016-10-11 07:02:40 +00:00
GCC Administrator 07f5170726 Daily bump.
From-SVN: r240962
2016-10-11 00:16:14 +00:00