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
This commit is contained in:
parent
ee27f97bd8
commit
b3421a06f9
2 changed files with 9 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
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);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue