[tree-ssa] PATCH to &&/|| gimplification

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Fri May 30 15:37:00 GMT 2003


    Then we are talking at cross-purposes.  What exactly do you mean by
    memory tracking here?  Could you give me an example?

I'm talking about the content of MEM_EXPR, especially as used in
output_asm_operand_names.

So, for

struct r1 {int x;};
struct foo {int a; struct r1 f;};

int
bar (struct foo *p)
{
  return p->a + p->f.x;
}

on Alpha, we have:

	ldl $1,4($16)	 # <variable>.f.x, <variable>.f.x
	ldl $0,0($16)	 # <variable>.a, <variable>.a
	addl $0,$1,$0	 # <variable>.a, <variable>.b, tmp75
	ret $31,($26),1

The issue is how to preserve which field you are referencing if you
convert all COMPONENT_REF/ARRAY_REF nestings into address calculations.



More information about the Gcc-patches mailing list