diff mbox

Fix PR77677

Message ID alpine.LSU.2.11.1609221412220.26629@t29.fhfr.qr
State New
Headers show

Commit Message

Richard Biener Sept. 22, 2016, 12:13 p.m. UTC
This avoids some more TREE_OVERFLOWs in the IL (which now confuses IPA
VRP).

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk.

Richard.

2016-09-22  Richard Biener  <rguenther@suse.de>

	PR middle-end/77677
	* gimple-match-head.c (gimple_resimplify1): Drop TREE_OVERFLOW
	from constant folding results.
	(gimple_resimplify2): Likewise.
	(gimple_resimplify3): Likewise.
diff mbox

Patch

Index: gcc/gimple-match-head.c
===================================================================
--- gcc/gimple-match-head.c	(revision 240342)
+++ gcc/gimple-match-head.c	(working copy)
@@ -89,6 +89,8 @@  gimple_resimplify1 (gimple_seq *seq,
       if (tem != NULL_TREE
 	  && CONSTANT_CLASS_P (tem))
 	{
+	  if (TREE_OVERFLOW_P (tem))
+	    tem = drop_tree_overflow (tem);
 	  res_ops[0] = tem;
 	  res_ops[1] = NULL_TREE;
 	  res_ops[2] = NULL_TREE;
@@ -134,6 +136,8 @@  gimple_resimplify2 (gimple_seq *seq,
       if (tem != NULL_TREE
 	  && CONSTANT_CLASS_P (tem))
 	{
+	  if (TREE_OVERFLOW_P (tem))
+	    tem = drop_tree_overflow (tem);
 	  res_ops[0] = tem;
 	  res_ops[1] = NULL_TREE;
 	  res_ops[2] = NULL_TREE;
@@ -194,6 +198,8 @@  gimple_resimplify3 (gimple_seq *seq,
       if (tem != NULL_TREE
 	  && CONSTANT_CLASS_P (tem))
 	{
+	  if (TREE_OVERFLOW_P (tem))
+	    tem = drop_tree_overflow (tem);
 	  res_ops[0] = tem;
 	  res_ops[1] = NULL_TREE;
 	  res_ops[2] = NULL_TREE;