Commit Graph

154499 Commits

Author SHA1 Message Date
Segher Boessenkool
afb0e4255a rs6000: Remove SPE_CONST_OFFSET_OK
* config/rs6000/rs6000.c (SPE_CONST_OFFSET_OK): Delete.
	(rs6000_legitimate_offset_address_p): Return false for anything in
	V2SImode or V2SFmode.

From-SVN: r249163
2017-06-13 19:06:37 +02:00
Segher Boessenkool
5b1ebbca8d rs6000: Sanitize vector modes
This removes the vector modes that were only used by SPE.  It also
rearranges things so it is easier to see what is there, and for what.


	* config/rs6000/rs6000-modes.def: Remove all 8-byte vector modes
	except V2SF and V2SI.  Rearrange the vector modes, and add comments.
	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Remove V8QImode
	and V4HImode.
	(reg_offset_addressing_ok_p): Remove V4HImode and V1DImode.
	(rs6000_legitimate_offset_address_p): Ditto.
	(rs6000_emit_move): Ditto.
	(rs6000_init_builtins): Remove V4HI_type_node.

From-SVN: r249162
2017-06-13 19:05:26 +02:00
Ian Lance Taylor
78a88fb63f compiler: containing small bfunction mixup in Gogo::write_globals
Fix buglet in Gogo::write_globals-- in a couple of places the
    wrong Bfunction was being used for the containing (not target)
    function when creating calls for init functions.
    
    Reviewed-on: https://go-review.googlesource.com/45510

From-SVN: r249159
2017-06-13 14:26:07 +00:00
Martin Liska
45b2222a13 Implement no_sanitize function attribute
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* c-c++-common/ubsan/attrib-2.c (float_cast2): Enhance the
	test by adding no_sanitize attribute.
	* gcc.dg/asan/use-after-scope-4.c: Likewise.
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* c-attribs.c (add_no_sanitize_value): New function.
	(handle_no_sanitize_attribute): Likewise.
	(handle_no_sanitize_address_attribute): Use the function.
	(handle_no_sanitize_thread_attribute): New function.
	(handle_no_address_safety_analysis_attribute): Use
	add_no_sanitize_value.
	(handle_no_sanitize_undefined_attribute): Likewise.
	* c-common.h: Declare new functions.
	* c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
	(ubsan_instrument_shift): Likewise.
	(ubsan_instrument_bounds): Likewise.
	(ubsan_maybe_instrument_array_ref): Likewise.
	(ubsan_maybe_instrument_reference_or_call): Likewise.
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* asan.c (asan_sanitize_stack_p): Use sanitize_flags_p.
	(gate_asan): Likewise.
	* asan.h (asan_no_sanitize_address_p): Remove the function.
	(sanitize_flags_p): New function.
	* builtins.def: Fix coding style.
	* common.opt: Use renamed enum value.
	* convert.c (convert_to_integer_1): Use sanitize_flags_p.
	* doc/extend.texi: Document no_sanitize attribute.
	* flag-types.h (enum sanitize_code): Rename SANITIZE_NONDEFAULT
	to SANITIZE_UNDEFINED_NONDEFAULT.
	* gcc.c (sanitize_spec_function): Use the renamed enum value.
	* gimple-fold.c (optimize_atomic_compare_exchange_p):
	Use sanitize_flags_p.
	* gimplify.c (gimplify_function_tree): Likewise.
	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Likewise.
	* opts.c (parse_no_sanitize_attribute): New function.
	(common_handle_option): Use renamed enum value.
	* opts.h (parse_no_sanitize_attribute): Declare.
	* tree.c (sanitize_flags_p): New function.
	* tree.h: Declared here.
	* tsan.c: Use sanitize_flags_p.
	* ubsan.c (ubsan_expand_null_ifn): Likewise.
	(instrument_mem_ref): Likewise.
	(instrument_bool_enum_load): Likewise.
	(do_ubsan_in_current_function): Remove the function.
	(pass_ubsan::execute): Use sanitize_flags_p.
	* ubsan.h: Remove do_ubsan_in_current_function
	* tree-cfg.c (print_no_sanitize_attr_value): New function.
	(dump_function_to_file): Use it here.
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* class.c (build_base_path): Use sanitize_flags_p.
	* cp-gimplify.c (cp_genericize_r): Likewise.
	(cp_genericize_tree): Likewise.
	(cp_genericize): Likewise.
	* cp-ubsan.c (cp_ubsan_instrument_vptr_p): Likewise.
	* decl.c (compute_array_index_type): Likewise.
	(start_preparsed_function): Likewise.
	* decl2.c (one_static_initialization_or_destruction): Likewise.
	* init.c (finish_length_check): Likewise.
	* lambda.c (maybe_add_lambda_conv_op): Likewise.
	* typeck.c (cp_build_binary_op): Likewise.
	(build_static_cast_1): Likewise.
2017-06-13  Martin Liska  <mliska@suse.cz>

	PR sanitize/78204
	* c-convert.c (convert): Use sanitize_flags_p.
	* c-decl.c (grokdeclarator): Likewise.
	* c-typeck.c (convert_for_assignment): Likewise.
	(c_finish_return): Likewise.
	(build_binary_op): Likewise.

From-SVN: r249158
2017-06-13 13:59:05 +00:00
Renlin Li
ef0e344124 [ARM][Testsuite]make dump_stack function call conditional in cold-lc.c
After r249013, die () and dump_stack () are both in cold section. This makes
the compiler generate bl instruction for the function call, instead of
honoring the -mlong-calls option.

This patch changes the dump_stack function call conditional, which fixes the
regression.

gcc/testsuite/

	* gcc.target/arm/cold-lc.c: Update coding style, call dump_stack
	conditionally.

From-SVN: r249157
2017-06-13 13:57:45 +00:00
Ian Lance Taylor
09a871c466 runtime: don't always show frames with no function in traceback
If there is no function name, the traceback is generally
    uninformative.  In earlier versions we did not show such frames.
    Restore that behavior.  These frames can be seen with GOTRACEBACK=system.
    
    Reviewed-on: https://go-review.googlesource.com/45431

From-SVN: r249156
2017-06-13 13:29:26 +00:00
Martin Jambor
5622463a6d Fixed spelling mistake in gcc/ChangeLog
From-SVN: r249155
2017-06-13 13:46:14 +02:00
Martin Jambor
345683a95f [PR80803 2/2] Diligent queuing in SRA grp_write prop
2017-06-13  Martin Jambor  <mjambor@suse.cz>

	PR tree-optimization/80803
	PR tree-optimization/81063
	* tree-sra.c (subtree_mark_written_and_enqueue): Move up in the file.
	(propagate_subaccesses_across_link): Enqueue subtree whneve necessary
	instead of relying on the caller.

testsuite/
	gcc.dg/tree-ssa/pr80803.c: New test.
	gcc.dg/tree-ssa/pr81063.c: Likewise.

From-SVN: r249154
2017-06-13 13:40:24 +02:00
Martin Jambor
35a952ba70 [PR80803 1/2] Streamline SRA access enqueuing
2017-06-13  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (add_access_to_work_queue): Only enqueue accesses
	that have a first_link.
	(sort_and_splice_var_accesses): Do not check first_link before
	enquing.
	(subtree_mark_written_and_enqueue): Likewise.
	(propagate_all_subaccesses): Likewise and do not stop at first
	parent with a first_link.

From-SVN: r249153
2017-06-13 13:34:51 +02:00
Martin Jambor
7aa923e02f Trivial fix in dump_access_tree_1
2017-06-13  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (dump_access_tree_1): Fix accidental dumping to stderr
	instead of f.

From-SVN: r249152
2017-06-13 13:32:02 +02:00
Yury Gribov
9ebc3467fe match.pd: New pattern.
2017-06-13  Yury Gribov  <tetra2005@gmail.com>

gcc/
	* match.pd: New pattern.

gcc/testsuite/
	* c-c++-common/fold-masked-cmp-3.c: New test.

From-SVN: r249151
2017-06-13 14:19:23 +03:00
Yury Gribov
df06757229 tree-vrp.c (is_masked_range_test): New function.
2017-06-13  Yury Gribov  <tetra2005@gmail.com>

gcc/
	* tree-vrp.c (is_masked_range_test): New function.
	(register_edge_assert_for): Determine ranges for
	some bit tests.

From-SVN: r249150
2017-06-13 14:16:15 +03:00
Yury Gribov
16842d34e7 re PR tree-optimization/67328 (range test rather than single bit test for code testing enum values)
2017-06-13  Yury Gribov  <tetra2005@gmail.com>

gcc/
	PR tree-optimization/67328
	* fold-const.c (maskable_range_p): New function.
	(build_range_check): Generate bittests if possible.

gcc/testsuite/
	PR tree-optimization/67328
	* c-c++-common/fold-masked-cmp-1.c: New test.
	* c-c++-common/fold-masked-cmp-2.c: Likewise.
	* gcc.dg/pr46309.c: Fix pattern.
	* gcc.dg/pr46309-2.c: Likewise.

From-SVN: r249149
2017-06-13 14:13:52 +03:00
Tamar Christina
ba593ad58f sdiv_costs_1.c: Require arm_arch_v8a_ok and add march option.
2017-06-13  Tamar Christina  <tamar.christina@arm.com>

	* gcc.target/arm/sdiv_costs_1.c:
	Require arm_arch_v8a_ok and add march option.

From-SVN: r249148
2017-06-13 10:23:51 +00:00
Martin Liska
9ab5a235c5 Enhance dump_probability function.
2017-06-13  Martin Liska  <mliska@suse.cz>

	* gimple-pretty-print.c (dump_probability): Add new argument.
	(dump_edge_probability): Dump both probability and count.
	(dump_gimple_label): Likewise.
	(dump_gimple_bb_header): Likewise.
2017-06-13  Martin Liska  <mliska@suse.cz>

	* gcc.dg/tree-ssa/builtin-sprintf-2.c: Adjust scanned pattern.
	* gcc.dg/tree-ssa/dump-2.c: Likewise.
	* gcc.dg/tree-ssa/vrp101.c: Likewise.

From-SVN: r249147
2017-06-13 08:59:28 +00:00
Georg-Johann Lay
da8b0b2b25 re PR target/81072 ([avr] Support some XMEGA devices with flash seen in RAM address space.)
PR target/81072
	* config/avr/avr-devices.c: Fix indentation.
	* config/avr/gen-avr-mmcu-specs.c: Dito.

From-SVN: r249146
2017-06-13 08:25:07 +00:00
Richard Biener
bae6eef009 tree-vect-loop.c (vect_model_reduction_cost): Do not fail, instead get vector type from stmt_info.
2017-06-13  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (vect_model_reduction_cost): Do not fail,
	instead get vector type from stmt_info.
	(vectorizable_reduction): Adjust.  Remove dead code.

From-SVN: r249145
2017-06-13 07:10:06 +00:00
Richard Biener
4f2c198d76 re PR sanitizer/81065 (UBSAN: false positive as a result of distribution involving different types)
2017-06-13  Richard Biener  <rguenther@suse.de>

	PR middle-end/81065
	* fold-const.c (extract_muldiv_1): Remove bogus distribution
	case of C * (x * C2 + C3).
	(fold_addr_of_array_ref_difference): Properly fold index difference.

	* c-c++-common/ubsan/pr81065.c: New testcase.

From-SVN: r249144
2017-06-13 07:07:08 +00:00
Ian Lance Taylor
cd34e54306 runtime: clear isSystemGoroutine in goexit
Otherwise it may be set when the g struct is reused via gfput/gfget.
    
    Test is golang.org/x/net/http2 with GOMAXPROCS=12.
    
    Reviewed-on: https://go-review.googlesource.com/45430

From-SVN: r249143
2017-06-13 00:43:56 +00:00
GCC Administrator
67972c9038 Daily bump.
From-SVN: r249142
2017-06-13 00:16:26 +00:00
Ian Lance Taylor
a282a875c8 runtime: ignore _Gscan bit when checking status in CgocallDone
Also always access the atomicstatus field atomically.
    
    The effect of not checking the _Gscan bit is that if the GC decides to
    scan the stack just as the goroutine is leaving the system call, the
    goroutine might fail to call exitsyscall.  Then then typically causes
    a runtime assertion failure later on.  If we do call exitsyscall as we
    should, it will stall (in casgstatus) until the _Gscan bit is cleared.
    
    No separate test.  I've observed causing sporadic failures running the
    misc/cgo tests, but we don't currently have a way to run those
    routinely for gccgo.  I should fix that.
    
    Reviewed-on: https://go-review.googlesource.com/45392

From-SVN: r249138
2017-06-12 23:14:05 +00:00
Pedro Alves
b51483f48f Finish implementing P0426R1 "Constexpr for std::char_traits" for C++17
As discussed in PR c++/80265 ("__builtin_{memcmp,memchr,strlen} are
not usable in constexpr functions"), use __builtin_constant_p to tell
whether we can defer to a constexpr algorithm.

I used __always_inline__ just to be thorough.  It isn't really really
necessary as far as I could determine.

Changes like these:

	 if (__n == 0)
	   return 0;
 -	return wmemcmp(__s1, __s2, __n);
 +	else
 +	  return wmemcmp(__s1, __s2, __n);

are necessary otherwise G++ complains that we're calling a
non-constexpr function, which looks like a a manifestation of PR67026
to me.

libstdc++-v3:
2017-06-12  Pedro Alves  <palves@redhat.com>

	* doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr
	char_traits status.
	* doc/html/*: Regenerate.

	* include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if
	not already defined.
	(__cpp_lib_constexpr_char_traits): Uncomment.
	(__constant_string_p, __constant_char_array_p): New.
	(std::char_traits<char>, std::char_traits<wchar_t>): Add
	_GLIBCXX17_CONSTEXPR on compare, length and find and use
	__constant_string_p, __constant_char_array_p and
	__builtin_constant_p to defer to __gnu_cxx::char_traits at compile
	time.

	* testsuite/21_strings/char_traits/requirements/
	constexpr_functions_c++17.cc: Uncomment
	__cpp_lib_constexpr_char_traits tests.  Uncomment
	test_compare<char>, test_length<char>, test_find<char>,
	test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t>
	static_assert tests.

From-SVN: r249137
2017-06-12 22:22:39 +00:00
François Dumont
07cfc2d75d stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator default init.
2017-06-12  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator
	default init.
	* testsuite/util/testsuite_allocator.h
	(__gnu_test::default_init_allocator<>) New.
	* testsuite/23_containers/set/allocator/default_init.cc: New.
	* testsuite/23_containers/map/allocator/default_init.cc: New.

From-SVN: r249136
2017-06-12 20:38:16 +00:00
David S. Miller
6d1ea02a6c More refinements to fixing sparc's PR target/80968.
gcc/

	PR target/80968
	* config/sparc/sparc.md (return expander): Emit frame blockage if
	function uses alloca.

From-SVN: r249134
2017-06-12 12:30:45 -07:00
Ian Lance Taylor
20d5c8731f compiler: avoid orphaning Bexpressions when processing conversions
The method Type_conversion_expression::do_get_backend was (in some
    circumstances) creating a Bexpression for the source expression of the
    conversion and then throwing it away before using it. Fix up this
    method to insure that the call to get_backend() on the source
    expression is only made when the result will be used.
    
    Reviewed-on: https://go-review.googlesource.com/45350

From-SVN: r249131
2017-06-12 17:51:52 +00:00
Jonathan Wakely
754d67d5ba PR libstdc++/55917 do not handle exceptions in std::thread
PR libstdc++/55917
	* src/c++11/thread.cc (execute_native_thread_routine): Remove
	try-block so that exceptions propagate out of the thread and terminate
	is called by the exception-handling runtime.
	(execute_native_thread_routine_compat): Likewise.
	* testsuite/30_threads/thread/cons/terminate.cc: New.

From-SVN: r249130
2017-06-12 17:37:28 +01:00
Ian Lance Taylor
196ed8eae5 split-1.c: Require split_stack, don't require freorder.
* gcc.dg/tree-prof/split-1.c: Require split_stack, don't require
	freorder.  Update comment to explain test.

From-SVN: r249129
2017-06-12 16:15:53 +00:00
Richard Sandiford
e701e0b9e8 Fix pessimistic DImode handling in combine.c:make_field_assignment
The make_field_assignment code:

      src = force_to_mode (src, mode,
		       GET_MODE_PRECISION (mode) >= HOST_BITS_PER_WIDE_INT
		       ? HOST_WIDE_INT_M1U
		       : (HOST_WIDE_INT_1U << len) - 1,
		       0);

would ignore the field length len for DImode, even though DImode can be
handled using HWIs.  I think the code should be testing len instead.

2017-06-12  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* combine.c (make_field_assignment): Check len rather than the mode
	precision when calling force_to_mode.

From-SVN: r249128
2017-06-12 16:06:38 +00:00
Tamar Christina
64ff4f60d0 inline-lrint_1.c: Broaden regexp.
2017-06-12  Tamar Christina  <tamar.christina@arm.com>

	* gcc.target/aarch64/inline-lrint_1.c: Broaden regexp.
	* gcc.target/aarch64/inline-lrint_2.c: Likewise.
	* gcc.target/aarch64/no-inline-lrint_1.c: Likewise.
	* gcc.target/aarch64/no-inline-lrint_2.c: Likewise.

From-SVN: r249127
2017-06-12 14:23:22 +00:00
Tamar Christina
5ed2fdfee4 sdiv_costs_1.c: Require arm_v8_vfp_ok.
2017-06-12  Tamar Christina  <tamar.christina@arm.com>

	* gcc.target/arm/sdiv_costs_1.c: Require arm_v8_vfp_ok.

From-SVN: r249125
2017-06-12 13:24:37 +00:00
Georg-Johann Lay
3266ddb36a Support multilibs and devices that see flash in RAM address range.
gcc/
	Support multilibs and devices that see flash in RAM address range.

	PR target/81072
	* config/avr/avr-arch.h (avr_arch_id) <ARCH_AVRXMEGA3>: New enum.
	(avr_mcu_t) <flash_pm_offset>: New field.
	(avr_device_specific_features) <AVR_ISA_RCALL>: New enum.
	* config/avr/avr.h (AVR_SHORT_CALLS): New define.
	(AVR_HAVE_JMP_CALL): Don't set if AVR_SHORT_CALLS.
	(AVR_TINY_PM_OFFSET): Remove macro.
	* config/avr/avr.opt (-mshort-calls): New option.
	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
	[*self_spec]: Add / remove -mshort-calls depending on AVR_ISA_RCALL.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins)
	<__AVR_SHORT_CALLS__>: Built-in define if AVR_SHORT_CALLS.
	<__AVR_HAVE_JMP_CALL__>: Use AVR_HAVE_JMP_CALL as condition
	instead of avr_arch->have_jmp_call.
	<__AVR_PM_BASE_ADDRESS__>: Built-in define if avr_arch->flash_pm_offset.
	[AVR_TINY] <__AVR_TINY_PM_BASE_ADDRESS__>: Use
	avr_arch->flash_pm_offset to define.
	* config/avr/avr-devices.c (avr_arch_types): Add initializers for
	new field flash_pm_offset.  Add entry for avrxmega3.
	(avr_texinfo): Add entry for avrxmega3.
	* config/avr/avr-mcus.def: Add entries for: avrxmega3,
	attiny212, attiny214,
	attiny412, attiny414, attiny416, attiny417,
	attiny814, attiny816, attiny817,
	attiny1614, attiny1616, attiny1617,
	attiny3214, attiny3216, attiny3217.
	* config/avr/avr.c (avr_assemble_integer)[AVR_TINY]: Use
	avr_arch->flash_pm_offset instead of AVR_TINY_PM_OFFSET.
	(avr_print_operand_address) [AVR_TINY]: Same.
	(avr_asm_init_sections) <readonly_data_section>: Only patch
	callback if avr_arch->flash_pm_offset = 0.
	(avr_asm_named_section) <avr_need_copy_data_p>: Skip setting it
	for rodata if avr_arch->flash_pm_offset != 0.
	(avr_encode_section_info) [AVR_TINY]: Adjust comment.
	* config/avr/genmultilib.awk (dir_rcall, opt_rcall): New vars.
	(opts) [AVR_ISA_RCALL]: Append opt_rcall.
	(m_options): Append opt_rcall.
	(m_dirnames): Append dir_rcall.
	* config/avr/t-multilib: Regenerate.
	* configure.ac [target=avr]: Check whether avrxmega3 default
	linker description file works as needed.
	* configure: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.
	* doc/invoke.texi (AVR Options) <-mshort-calls>: Document it.
	<__AVR_ARCH__>: Document avrxmega3 and 103.
	<__AVR_HAVE_JMP_CALL__>: Adjust documentation.
	<__AVR_SHORT_CALLS__>: Document it.
	<__AVR_PM_BASE_ADDRESS__>: Document it.
	* doc/extend.texi (AVR Options) <-mshort-calls>: Document it.
	(AVR Variable Attributes) <progmem>: Document this is
	not needed for avrxmega3.
	(AVR Named Address Spaces) <__flash>: Dito.

From-SVN: r249124
2017-06-12 12:52:30 +00:00
Jan Hubicka
7c41b76e9f * cgraph.c (cgraph_node::dump): Complain about profile insanities.
From-SVN: r249123
2017-06-12 12:36:47 +00:00
Tamar Christina
6cddb61ca1 sdiv_costs_1.c: Disable on softfloat.
2017-06-12  Tamar Christina  <tamar.christina@arm.com>

	* gcc.target/arm/sdiv_costs_1.c: Disable on softfloat.

From-SVN: r249122
2017-06-12 12:32:45 +00:00
Doug Rupp
a476498c30 config.gcc (*-*-vxworks*): Set use_gcc_stdint to "provide".
2017-06-12  Doug Rupp  <rupp@adacore.com>

	gcc/
	* config.gcc (*-*-vxworks*): Set use_gcc_stdint to "provide".
	Append vxworks-stdint.h to the tm_file list.
	* config/vxworks-stdint.h: New file.

	fixincludes/
	* inclhack.def (AAB_vxworks_stdint): Remove hack.
	* fixincl.x: Regenerate.

From-SVN: r249121
2017-06-12 12:10:12 +00:00
Martin Liska
c9c15e2749 Create an extra BB in profile-generate (PR tree-optimization/81041).
2017-06-12  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/81041
	* tree-profile.c (gimple_gen_ic_func_profiler):
	Create an extra BB in profile-generate
	(gimple_gen_time_profiler): Likewise.

From-SVN: r249120
2017-06-12 11:56:32 +00:00
Eric Botcazou
3b387bff56 re PR bootstrap/80897 (gnat bootstrap broken on SPARC64/Linux)
PR bootstrap/80897
	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Use Positive index.

From-SVN: r249119
2017-06-12 11:28:33 +00:00
Segher Boessenkool
c725f69cdb rs6000: Remove e500.h from config.gcc some more
* config.gcc: Remove rs6000/e500.h from tm_file for all targets.

From-SVN: r249117
2017-06-12 13:16:11 +02:00
Eric Botcazou
cdf2dd41b5 re PR ada/81070 (build failure for s-intrr.adb)
PR ada/81070
	* s-interr-hwint.adb: Reinstate.
	* gcc-interface/Makefile.in (RTEMS): Use it again.

From-SVN: r249115
2017-06-12 10:47:36 +00:00
Jakub Jelinek
aebce39694 re PR tree-optimization/81003 (ICE: tree check: expected ssa_name, have integer_cst in optimize_range_tests_to_bit_test, at tree-ssa-reassoc.c:2782)
PR tree-optimization/81003
	* tree-ssa-reassoc.c (force_into_ssa_name): New function.
	(update_range_test): Use it instead of force_gimple_operand_gsi.

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

From-SVN: r249114
2017-06-12 12:45:52 +02:00
Richard Biener
3fd7fe218b re PR tree-optimization/81053 (ICE on valid code at -O3 on x86_64-linux-gnu: in as_a, at is-a.h:192)
2017-06-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/81053
	* tree-vect-loop.c (vect_is_simple_reduction): Handle PHI
	with backedge value not defined in loop.  Simplify def stmt
	compute.

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

From-SVN: r249113
2017-06-12 10:42:57 +00:00
Ian Lance Taylor
d1609a2326 elf.c (backtrace_initialize): Always set *fileline_fn.
* elf.c (backtrace_initialize): Always set *fileline_fn.
	* ttest.c: New file.
	* btest.c: Move support functions into testlib.c.  Change calls to
	check to pass file name.
	* testlib.c: New file, copied from (part of) btest.c.
	* testlib.h: New file, declarations for testlib.c.
	* edtest.c: Use testlib.h and testlib.c.
	* configure.ac: Test for -pthread, set HAVE_PTHREAD conditional.
	* Makefile.am (btest_SOURCES): Add testlib.c.
	(edtest_SOURCES): Likewise.
	(CHECK_PROGRAMS): Add ttest if HAVE_PTHREAD.
	(ttest_SOURCES, ttest_CFLAGS, ttest_LDADD): Define.
	* configure, Makefile.in: Rebuild.

From-SVN: r249111
2017-06-12 03:25:04 +00:00
GCC Administrator
1e7a4be3a1 Daily bump.
From-SVN: r249110
2017-06-12 00:16:33 +00:00
Tom de Vries
e053f7109f Disable constant pool for nvptx
2017-06-11  Tom de Vries  <tom@codesourcery.com>

	PR target/79939
	* config/nvptx/nvptx.c (nvptx_cannot_force_const_mem): New function.
	Return true.
	(TARGET_CANNOT_FORCE_CONST_MEM): Redefine to
	nvptx_cannot_force_const_mem.

From-SVN: r249106
2017-06-11 21:54:00 +00:00
Jan Hubicka
227b76c3b4 opts.c (finish_options): Move test for flag_split_stack after it has been initialized.
* opts.c (finish_options): Move test for flag_split_stack after
	it has been initialized.

From-SVN: r249105
2017-06-11 09:33:22 +00:00
Jason Merrill
c3b0f4c600 * error.c (dump_expr): Use is_this_parameter.
From-SVN: r249104
2017-06-11 01:29:34 -04:00
Jason Merrill
a01f151f1e tree.h (id_equal): New.
* tree.h (id_equal): New.

	* dwarf2out.c, hsa-gen.c, ipa-devirt.c, omp-expand.c,
	omp-simd-clone.c, read-rtl-function.c, tree-chkp.c, tree.c: Use it
	instead of strcmp of IDENTIFIER_POINTER.
c-family/
	* c-ada-spec.c, c-pragma.c: Use it.
cp/
	* cp-tree.h, decl2.c, mangle.c, parser.c, pt.c, semantics.c: Use it.

From-SVN: r249103
2017-06-11 01:29:14 -04:00
GCC Administrator
dc77253832 Daily bump.
From-SVN: r249102
2017-06-11 00:16:34 +00:00
Jan Hubicka
09fcc0c01d ipa-inline-transform.c: Include function.h, cfg.h and basic-block.h
* ipa-inline-transform.c: Include function.h, cfg.h and basic-block.h
	(mark_all_inlined_calls_cdtor): Fix formating.
	(inline_transform): Rescale profile before inlining.

From-SVN: r249098
2017-06-10 23:18:44 +00:00
Jan Hubicka
1511c8c005 cgraph.h (cgraph_edge::clone): Update prototype.
* cgraph.h (cgraph_edge::clone): Update prototype.
	* cgraphclones.c (cgraph_edge::clone): Update profile scaling.
	(cgraph_node::create_clone): Update.
	(cgraph_node::create_version_clone): Update.
	* tree-inline.c (copy_bb): Update.
	(expand_call_inline): Update.

From-SVN: r249097
2017-06-10 23:07:11 +00:00
Segher Boessenkool
9a58d6cdbf rs6000: Factor out emit_vrsave_prologue
This is a second patch to make the prologue code more manageable.


	* config/rs6000/rs6000.c (emit_vrsave_prologue): New function,
	factored out from ...
	(rs6000_emit_prologue): ... here.

From-SVN: r249096
2017-06-11 00:22:54 +02:00