tree-ssa-pre.c (is_exception_related): New function

2007-06-30  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-pre.c (is_exception_related): New function
	(can_value_number_operation): Use it.

From-SVN: r126162
This commit is contained in:
Daniel Berlin 2007-07-01 02:20:06 +00:00 committed by Daniel Berlin
parent c0333e3dca
commit b941a8ae18
2 changed files with 16 additions and 1 deletions

View File

@ -24,6 +24,11 @@
* pa-protos.h (hppa_can_use_return_insn_p): Delete declaration.
* pa.c (hppa_can_use_return_insn_p): Delete function. Include "df.h".
2007-06-30 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-pre.c (is_exception_related): New function
(can_value_number_operation): Use it.
2007-06-30 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/32540

View File

@ -2122,13 +2122,23 @@ can_value_number_call (tree stmt)
return false;
}
/* Return true if OP is an exception handler related operation, such as
FILTER_EXPRor EXC_PTR_EXPR. */
static bool
is_exception_related (tree op)
{
return TREE_CODE (op) == FILTER_EXPR || TREE_CODE (op) == EXC_PTR_EXPR;
}
/* Return true if OP is a tree which we can perform value numbering
on. */
static bool
can_value_number_operation (tree op)
{
return UNARY_CLASS_P (op)
return (UNARY_CLASS_P (op)
&& !is_exception_related (TREE_OPERAND (op, 0)))
|| BINARY_CLASS_P (op)
|| COMPARISON_CLASS_P (op)
|| REFERENCE_CLASS_P (op)