ARRAY_REFand have the same meanings. The type of these expressions must be an array whose component type is the same as that of the first operand. The range of that array type determines the amount of data these expressions access.
TMR_SYMBOLand must be a
VAR_DECLof an object with a fixed address. The second argument is
TMR_BASEand the third one is
TMR_INDEX. The fourth argument is
TMR_STEPand must be an
INTEGER_CST. The fifth argument is
TMR_OFFSETand must be an
INTEGER_CST. Any of the arguments may be NULL if the appropriate component does not appear in the address. Address of the
TARGET_MEM_REFis determined in the following way.
&TMR_SYMBOL + TMR_BASE + TMR_INDEX * TMR_STEP + TMR_OFFSET
The sixth argument is the reference to the original memory access, which
is preserved for the purposes of the RTL alias analysis. The seventh
argument is a tag representing the results of tree level alias analysis.
As an extension, GCC allows users to take the address of a label. In
this case, the operand of the
ADDR_EXPR will be a
LABEL_DECL. The type of such an expression is
If the object addressed is not an lvalue, a temporary is created, and
the address of the temporary is used.
FIELD_DECLfor the data member. The third operand represents the byte offset of the field, but should not be used directly; call