Commit b3421a06 by Tom de Vries Committed by Tom de Vries

re PR middle-end/43513 (The stack pointer is adjusted twice)

2011-07-30  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/43513
	* tree-ssa-dce.c (ref_may_be_aliased): Add assert.
	(propagate_necessity): Handle WITH_SIZE_EXPR call arg.

From-SVN: r176959
parent ee27f97b
2011-07-30 Tom de Vries <tom@codesourcery.com>
PR middle-end/43513
* tree-ssa-dce.c (ref_may_be_aliased): Add assert.
(propagate_necessity): Handle WITH_SIZE_EXPR call arg.
2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/mips/driver-native.c [__sgi__]: Include <invent.h>,
......
......@@ -490,6 +490,7 @@ find_obviously_necessary_stmts (struct edge_list *el)
static bool
ref_may_be_aliased (tree ref)
{
gcc_assert (TREE_CODE (ref) != WITH_SIZE_EXPR);
while (handled_component_p (ref))
ref = TREE_OPERAND (ref, 0);
if (TREE_CODE (ref) == MEM_REF
......@@ -850,6 +851,8 @@ propagate_necessity (struct edge_list *el)
if (TREE_CODE (arg) == SSA_NAME
|| is_gimple_min_invariant (arg))
continue;
if (TREE_CODE (arg) == WITH_SIZE_EXPR)
arg = TREE_OPERAND (arg, 0);
if (!ref_may_be_aliased (arg))
mark_aliased_reaching_defs_necessary (stmt, arg);
}
......
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