[RFH] Copyprop through aggregates

Richard Guenther rguenther@suse.de
Wed Jan 25 16:48:00 GMT 2006


On Wed, 25 Jan 2006, Richard Guenther wrote:

> Eh - ignore that.  That's disabling everything.  More like
> 
>       if (size == -1 || size != maxsize
>           || !SSA_VAR_P (base)
>           || !AGGREGATE_TYPE_P (TREE_TYPE (base)))
>         return SSA_PROP_VARYING;

With this bootstrap is ok, but the following still ICEs becaus of the
same problemi (-O -fno-tree-salias):

struct set {
    int src_hash;
} sets;
void cse_insn (int* j, int* k)
{
    sets.src_hash = (*j && *k)
        ? *(int*)0
        : *(int*)1;
    lookup (sets.src_hash);
}

cse.min2.i: In function ‘cse_insn’:
cse.min2.i:5: error: definition in block 5 does not dominate use in block 
6
for SSA_NAME: iftmp.0_8 in statement:
#   sets_13 = V_MAY_DEF <sets_5>;
lookup (iftmp.0_8);
cse.min2.i:5: internal compiler error: verify_ssa failed

Richard.


More information about the Gcc-patches mailing list