Fix UBSAN errors in dse.c (PR rtl-optimization/82044).

2017-11-21  Martin Liska  <mliska@suse.cz>

	PR rtl-optimization/82044
	PR tree-optimization/82042
	* dse.c (check_mem_read_rtx): Check for overflow.

From-SVN: r255001
This commit is contained in:
Martin Liska 2017-11-21 14:39:14 +01:00 committed by Martin Liska
parent ddc1759a35
commit 938f9248db
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2017-11-21 Martin Liska <mliska@suse.cz>
PR rtl-optimization/82044
PR tree-optimization/82042
* dse.c (check_mem_read_rtx): Check for overflow.
2017-11-21 Aldy Hernandez <aldyh@redhat.com>
* tree-ssa-threadbackward.c (find_jump_threads_backwards): Fix

View file

@ -1981,6 +1981,12 @@ check_mem_read_rtx (rtx *loc, bb_info_t bb_info)
else
width = GET_MODE_SIZE (GET_MODE (mem));
if (offset > HOST_WIDE_INT_MAX - width)
{
clear_rhs_from_active_local_stores ();
return;
}
read_info = read_info_type_pool.allocate ();
read_info->group_id = group_id;
read_info->mem = mem;