Next: Conditional Expressions, Previous: Compound Expressions, Up: GIMPLE Expressions
Currently compound lvalues involving array and structure field references
are not broken down; an expression like a.b[2] = 42 is not reduced
any further (though complex array subscripts are). This restriction is a
workaround for limitations in later optimizers; if we were to convert this
to
T1 = &a.b;
T1[2] = 42;
alias analysis would not remember that the reference to T1[2] came
by way of a.b, so it would think that the assignment could alias
another member of a; this broke struct-alias-1.c. Future
optimizer improvements may make this limitation unnecessary.