diff options
Diffstat (limited to 'gcc/tree.def')
-rw-r--r-- | gcc/tree.def | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/gcc/tree.def b/gcc/tree.def index e09debf0cdd..493c75e79af 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -416,15 +416,11 @@ DEFTREECODE (ARRAY_RANGE_REF, "array_range_ref", tcc_reference, 4) /* The ordering of the following codes is optimized for the checking macros in tree.h. Changing the order will degrade the speed of the - compiler. INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF. */ + compiler. INDIRECT_REF, MISALIGNED_INDIRECT_REF. */ /* C unary `*' or Pascal `^'. One operand, an expression for a pointer. */ DEFTREECODE (INDIRECT_REF, "indirect_ref", tcc_reference, 1) -/* Like above, but aligns the referenced address (i.e, if the address - in P is not aligned on TYPE_ALIGN boundary, then &(*P) != P). */ -DEFTREECODE (ALIGN_INDIRECT_REF, "align_indirect_ref", tcc_reference, 1) - /* Same as INDIRECT_REF, but also specifies the alignment of the referenced address: Operand 0 is the referenced address (a pointer); @@ -970,6 +966,16 @@ DEFTREECODE (REALIGN_LOAD_EXPR, "realign_load", tcc_expression, 3) DEFTREECODE (TARGET_MEM_REF, "target_mem_ref", tcc_reference, 6) +/* Memory addressing. Operands are a pointer and a tree constant integer + byte offset of the pointer type that when dereferenced yields the + type of the base object the pointer points into and which is used for + TBAA purposes. + The type of the MEM_REF is the type the bytes at the memory location + are interpreted as. + MEM_REF <p, c> is equivalent to ((typeof(c))p)->x... where x... is a + chain of component references offsetting p by c. */ +DEFTREECODE (MEM_REF, "mem_ref", tcc_reference, 2) + /* The ordering of the codes between OMP_PARALLEL and OMP_CRITICAL is exposed to TREE_RANGE_CHECK. */ /* OpenMP - #pragma omp parallel [clause1 ... clauseN] |