Commit b941a8ae by Daniel Berlin Committed by Daniel Berlin

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
parent c0333e3d
...@@ -25,6 +25,11 @@ ...@@ -25,6 +25,11 @@
* pa.c (hppa_can_use_return_insn_p): Delete function. Include "df.h". * pa.c (hppa_can_use_return_insn_p): Delete function. Include "df.h".
2007-06-30 Daniel Berlin <dberlin@dberlin.org> 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 Fix PR tree-optimization/32540
Fix PR tree-optimization/31651 Fix PR tree-optimization/31651
......
...@@ -2122,13 +2122,23 @@ can_value_number_call (tree stmt) ...@@ -2122,13 +2122,23 @@ can_value_number_call (tree stmt)
return false; 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 /* Return true if OP is a tree which we can perform value numbering
on. */ on. */
static bool static bool
can_value_number_operation (tree op) 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) || BINARY_CLASS_P (op)
|| COMPARISON_CLASS_P (op) || COMPARISON_CLASS_P (op)
|| REFERENCE_CLASS_P (op) || REFERENCE_CLASS_P (op)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment