On 03/16/2012 02:46 PM, Richard Guenther wrote: > We do have three pointer offsetting operations at the moment, > POINTER_PLUS_EXPR, &MEM_REF and &TARGET_MEM_REF. > All of which expect C pointer semantics (if they can see the base > pointer, which is why I suggested to create a TARGET_MEM_REF > with a NULL pointer TMR_BASE and shove the base pointer to > TMR_INDEX2 (which incidentially needs to be an integer type ...).
Oh; looks like misunderstood your suggestion about TARGET_MEM_REF. Maybe I'll just have to bite the bullet and make a new tree code. > Btw, how do you handle pointer differences? The frontend already > lowers them to (intptr_t)ptr1 - (intptr_t)ptr2. More new stuff: targetm.pointer_mode_real_precision. Also, modifications in tree-ssa-loop-niter to use the new baseptr capability in tree-affine and subtract just the offsets in sizetype if possible. Bernd