mtp_property_runtime = 0x00000100, /**< This method represents a runtime routine. */
mtp_property_private = 0x00000200, /**< All method invocations are known, the backend is free to
optimize the call in any possible way. */
+ mtp_property_has_loop = 0x00000400, /**< Set, if this method contains one possible endless loop. */
mtp_property_inherited = (1<<31) /**< Internal. Used only in irg's, means property is
inherited from type. */
} mtp_additional_property;
* 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