RFC: merging MEM_ATTRS

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Tue Feb 10 19:46:00 GMT 2004


    With the way the rtl generators work, the MEM_EXPR is guaranteed to be
    created for a plain variable reference - and we can have only those
    if the address was not taken.

You mean it *is* generated.  That's implementation.  There is no specification
guaranteeing it to do so and I'd be opposed to making one.

    But that soon leads to a combinatorial explosion when you have thirty
    such variables...  most of the time, you'll want the set that contains
    none of these variables, sometimes you'll want to include one or more
    likely two of them, but conceptually we could have many of them.

No, that's not what I meant: I meant one alias set for all.
    
    Maybe a combination of the two concepts would work best: one alias set
    per type which means: doesn't reference anything that isn't mentioned in
    the MEM_EXPR.

Essentially, except that it doesn't mean MEM_EXPR but you do it by alias set.

I think it's critical to the MEM_ATTRS implementation to be able to have
some value for each attribute that means "don't know".



More information about the Gcc mailing list