re PR tree-optimization/39829 (ICE with some code that produces VCE)
2009-04-21 Richard Guenther <rguenther@suse.de> PR middle-end/39829 * gimple.c (walk_stmt_load_store_addr_ops): Catch addresses inside VIEW_CONVERT_EXPRs. * gcc.dg/torture/pr39829.c: New testcase. From-SVN: r146521
This commit is contained in:
parent
7156c8abaf
commit
ad8a1ac09d
|
@ -1,3 +1,9 @@
|
|||
2009-04-21 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/39829
|
||||
* gimple.c (walk_stmt_load_store_addr_ops): Catch addresses
|
||||
inside VIEW_CONVERT_EXPRs.
|
||||
|
||||
2009-04-21 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
* tree-switch-conversion.c (build_constructors): Split a long line.
|
||||
|
|
|
@ -3231,6 +3231,8 @@ walk_stmt_load_store_addr_ops (gimple stmt, void *data,
|
|||
ret |= visit_store (stmt, lhs, data);
|
||||
}
|
||||
rhs = gimple_assign_rhs1 (stmt);
|
||||
while (handled_component_p (rhs))
|
||||
rhs = TREE_OPERAND (rhs, 0);
|
||||
if (visit_addr)
|
||||
{
|
||||
if (TREE_CODE (rhs) == ADDR_EXPR)
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2009-04-21 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR middle-end/39829
|
||||
* gcc.dg/torture/pr39829.c: New testcase.
|
||||
|
||||
2009-04-21 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
* gcc.dg/tree-ssa/cswtch-2.c: New test.
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-w" } */
|
||||
|
||||
void foo (void * DAG_temp117584)
|
||||
{
|
||||
char uA;
|
||||
void* pA;
|
||||
void* pB;
|
||||
void* pC;
|
||||
do {
|
||||
int DAG_temp117585;
|
||||
int DAG_temp117586;
|
||||
void ** __indir_union1 = (void**)DAG_temp117584;
|
||||
DAG_temp117585 = (long)*__indir_union1;
|
||||
DAG_temp117586 = DAG_temp117585;
|
||||
if ( DAG_temp117586 != (int)268435456 )
|
||||
pA = (void*)&uA;
|
||||
pB = (void*)&pA;
|
||||
pC = pB;
|
||||
union __block_indir0_u { struct { long val; } __indir_struct; }
|
||||
* __indir_union = (union __block_indir0_u*)pC;
|
||||
f(__indir_union->__indir_struct.val);
|
||||
|
||||
DAG_temp117584 += 64;
|
||||
} while (1);
|
||||
}
|
||||
|
Loading…
Reference in New Issue