*
* - owner: A compound type this entity is a part of.
* - type: The type of this entity.
- * - name: The string that represents this entity in the source program. * - allocation: A flag saying whether the entity is dynamically or statically * allocated (values: dynamic_allocated, static_allocated,
+ * - name: The string that represents this entity in the source program.
+ * - allocation: A flag saying whether the entity is dynamically or statically
+ * allocated (values: dynamic_allocated, static_allocated,
* automatic_allocated).
* - visibility: A flag indicating the visibility of this entity (values: local,
* external_visible, external_allocated)
* Bitfield type indicating the way an entity is used.
*/
typedef enum {
- ir_usage_address_taken = 1 << 0,
- ir_usage_write = 1 << 1,
- ir_usage_read = 1 << 2,
- ir_usage_reinterpret_cast = 1 << 3,
+ ir_usage_none = 0, /**< This entity is unused. */
+ ir_usage_address_taken = 1 << 0, /**< The address of this entity was taken. */
+ ir_usage_write = 1 << 1, /**< The entity was written to. */
+ ir_usage_read = 1 << 2, /**< The entity was read. */
+ ir_usage_reinterpret_cast = 1 << 3, /**< The entity was read but with a wrong mode
+ (an implicit reinterpret cast) */
+ /** Unknown access */
ir_usage_unknown
= ir_usage_address_taken | ir_usage_write | ir_usage_read
| ir_usage_reinterpret_cast