mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-26 12:23:59 +08:00
tree-ssa-pre.c (find_or_generate_expression): CALL_EXPR is okay too.
2005-05-17 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-pre.c (find_or_generate_expression): CALL_EXPR is okay too. From-SVN: r99882
This commit is contained in:
parent
a21946f5a4
commit
a3cf80ecc7
@ -1,3 +1,8 @@
|
||||
2005-05-17 Daniel Berlin <dberlin@dberlin.org>
|
||||
|
||||
* tree-ssa-pre.c (find_or_generate_expression): CALL_EXPR
|
||||
is okay too.
|
||||
|
||||
2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
|
||||
|
||||
* timevar.def (TV_SCEV_CONST): New timevar.
|
||||
|
8
gcc/testsuite/gcc.dg/20050517-1.c
Normal file
8
gcc/testsuite/gcc.dg/20050517-1.c
Normal file
@ -0,0 +1,8 @@
|
||||
/* Tree PRE is going to transform this so that it doesn't call cos on the
|
||||
d = 0 path, and in doing so, it needs to regenerate the cos call.
|
||||
This was ICE'ing due to an overly strict check on what it knew how
|
||||
to regenerate. */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -ffast-math" } */
|
||||
double cos(double);
|
||||
double f(double d, double i, int j) { if (j == 1) d = 0; return d * cos(i); }
|
@ -1467,7 +1467,8 @@ find_or_generate_expression (basic_block block, tree expr, tree stmts)
|
||||
gcc_assert (UNARY_CLASS_P (genop)
|
||||
|| BINARY_CLASS_P (genop)
|
||||
|| COMPARISON_CLASS_P (genop)
|
||||
|| REFERENCE_CLASS_P (genop));
|
||||
|| REFERENCE_CLASS_P (genop)
|
||||
|| TREE_CODE (genop) == CALL_EXPR);
|
||||
genop = create_expression_by_pieces (block, genop, stmts);
|
||||
}
|
||||
return genop;
|
||||
|
Loading…
Reference in New Issue
Block a user