Re: Making a variable addressable in GIMPLE

2006-01-27 Thread Yoav Etsion
Frank Ch. Eigler wrote: Yoav Etsion <[EMAIL PROTECTED]> writes: The pointer variable's address is used as the pointer's unique ID in a database, collecting information about each pointer variable - mostly its legal bounds. That way I can test when a pointer crosses its object's bounds. ..

Re: Making a variable addressable in GIMPLE

2006-01-27 Thread Frank Ch. Eigler
Yoav Etsion <[EMAIL PROTECTED]> writes: > The pointer variable's address is used as the pointer's unique ID in > a database, collecting information about each pointer variable - > mostly its legal bounds. That way I can test when a pointer crosses > its object's bounds. If I understand correctly

Re: Making a variable addressable in GIMPLE

2006-01-27 Thread Yoav Etsion
The pointer variable's address is used as the pointer's unique ID in a database, collecting information about each pointer variable - mostly its legal bounds. That way I can test when a pointer crosses its object's bounds. Terrible overhead, I know. Just need it to collect statistics about pr

Re: Making a variable addressable in GIMPLE

2006-01-27 Thread Frank Ch. Eigler
Yoav Etsion <[EMAIL PROTECTED]> writes: > The transformation is simple: mudflap already injects a call to > __mf_register when an addressable variable is declared. I want to do > the same for all pointer variables [...] Why? If those pointers are not themselves taken address of, what kind access

Re: Making a variable addressable in GIMPLE

2006-01-27 Thread Yoav Etsion
Hi Diego, Diego Novillo wrote: > Yoav Etsion wrote: > > >>The problem is that the first mudflap pass takes place at the GIMPLE >>level, at which point all variables have their >>addressable/non-addressable attributes set, which forbids me to build an >>ADDR_EXPR node for a non-addressable pointer

Re: Making a variable addressable in GIMPLE

2006-01-27 Thread Diego Novillo
Yoav Etsion wrote: > The problem is that the first mudflap pass takes place at the GIMPLE > level, at which point all variables have their > addressable/non-addressable attributes set, which forbids me to build an > ADDR_EXPR node for a non-addressable pointer variable ("invalid operand > to unary