Commit ba2e294d by Richard Kenner Committed by Richard Kenner

tree-tailcall.c (find_tail_calls): Also fail is statement has volatile operands.

	* tree-tailcall.c (find_tail_calls): Also fail is statement has
	volatile operands.

From-SVN: r86938
parent 73022c2a
2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 2004-09-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree-tailcall.c (find_tail_calls): Also fail is statement has
volatile operands.
* tree-ssa.c (propagate_into_addr): Properly test for LHR. * tree-ssa.c (propagate_into_addr): Properly test for LHR.
* doc/c-tree.texi: Document new operands for ARRAY_REF and * doc/c-tree.texi: Document new operands for ARRAY_REF and
......
...@@ -395,11 +395,12 @@ find_tail_calls (basic_block bb, struct tailcall **ret) ...@@ -395,11 +395,12 @@ find_tail_calls (basic_block bb, struct tailcall **ret)
if (TREE_CODE (call) == CALL_EXPR) if (TREE_CODE (call) == CALL_EXPR)
break; break;
/* If the statement has virtual operands, fail. */ /* If the statement has virtual or volatile operands, fail. */
ann = stmt_ann (stmt); ann = stmt_ann (stmt);
if (NUM_V_MAY_DEFS (V_MAY_DEF_OPS (ann)) if (NUM_V_MAY_DEFS (V_MAY_DEF_OPS (ann))
|| NUM_V_MUST_DEFS (V_MUST_DEF_OPS (ann)) || NUM_V_MUST_DEFS (V_MUST_DEF_OPS (ann))
|| NUM_VUSES (VUSE_OPS (ann))) || NUM_VUSES (VUSE_OPS (ann))
|| ann->has_volatile_ops)
return; return;
} }
......
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