### 10.3 Annotations

The optimizers need to associate attributes with statements and variables during the optimization process. For instance, we need to know what basic block a statement belongs to or whether a variable has aliases. All these attributes are stored in data structures called annotations which are then linked to the field `ann` in `struct tree_common`.

Presently, we define annotations for statements (`stmt_ann_t`), variables (`var_ann_t`) and SSA names (`ssa_name_ann_t`). Annotations are defined and documented in `tree-flow.h`.