This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: g++ and aliasing bools



On Friday, January 25, 2002, at 09:31  AM, Richard Kenner wrote:

>     Errr, not really.
>     They just happen to be our representation of aliases for types.
>
> In some sense, but they avoid undecidability problems because you just
> need to look at language semantics, not run-time behavior of a
> particular program.
>
They don't avoid undecidability, or else we wouldn't have alias set 0.
If we could determine what everything aliases, we wouldn't need a set 
that aliases everything.
We can't.
Undecidability is not just based on run-time behavior of the program.  
It's also undecidable in the static case.
may-alias is undecidable statically, as is must-alias (Unless i'm 
misremembering).
IIRC, these  were proven on either C or modula-3, so the language 
semantics don't help us at all.

> The issue with alias sets is whether you can prove from the language
> specification that two objects *cannot* alias each other.  If and only
> if you can, they are in different alias sets.

Of course.
I know how alias sets in gcc/g++ work, i know how non-type-based alias 
analysis works.
I know how non-type-based alias analysis with type based disambiguation 
work.
That doesn't make it any easier.
--Dan


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]