re PR tree-optimization/55111 (ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:89)
2012-10-30 Richard Biener <rguenther@suse.de> PR tree-optimization/55111 * tree-ssa-pre.c (eliminate_insert): Properly fold the built stmt. * gcc.dg/torture/pr55111.c: New testcase. From-SVN: r192984
This commit is contained in:
parent
01850a764f
commit
c96cab6e77
4 changed files with 37 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-10-30 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/55111
|
||||
* tree-ssa-pre.c (eliminate_insert): Properly fold the built
|
||||
stmt.
|
||||
|
||||
2012-10-30 Oleg Endo <olegendo@gcc.gnu.org>
|
||||
|
||||
PR target/54963
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-10-30 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/55111
|
||||
* gcc.dg/torture/pr55111.c: New testcase.
|
||||
|
||||
2012-10-30 Oleg Endo <olegendo@gcc.gnu.org>
|
||||
|
||||
PR target/54988
|
||||
|
|
24
gcc/testsuite/gcc.dg/torture/pr55111.c
Normal file
24
gcc/testsuite/gcc.dg/torture/pr55111.c
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* { dg-do compile } */
|
||||
|
||||
int a, b, c;
|
||||
long d;
|
||||
unsigned long *e;
|
||||
|
||||
int f(void)
|
||||
{
|
||||
for(;; a++)
|
||||
{
|
||||
if(c)
|
||||
{
|
||||
for(b = d = 0; b < 1; b++)
|
||||
e = &d;
|
||||
|
||||
--*e;
|
||||
|
||||
if(d > 0)
|
||||
a = 0;
|
||||
|
||||
return d;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3996,8 +3996,8 @@ eliminate_insert (gimple_stmt_iterator *gsi, tree val)
|
|||
|
||||
tree res = make_temp_ssa_name (TREE_TYPE (val), NULL, "pretmp");
|
||||
gimple tem = gimple_build_assign (res,
|
||||
build1 (TREE_CODE (expr),
|
||||
TREE_TYPE (expr), leader));
|
||||
fold_build1 (TREE_CODE (expr),
|
||||
TREE_TYPE (expr), leader));
|
||||
gsi_insert_before (gsi, tem, GSI_SAME_STMT);
|
||||
VN_INFO_GET (res)->valnum = val;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue