+static inline int is_op_constlike(const ir_op *op) {
+ return op->flags & irop_flag_constlike;
+}
+
+static inline int is_op_uses_memory(const ir_op *op) {
+ return op->flags & irop_flag_uses_memory;
+}
+
+/** Returns non-zero if operation must always be optimized */
+static inline int is_op_always_opt(const ir_op *op) {
+ return op->flags & irop_flag_always_opt;
+}
+
+/** Returns non-zero if operation is a keep-like op */
+static inline int is_op_keep(const ir_op *op) {
+ return op->flags & irop_flag_keep;
+}
+
+/** Returns non-zero if operation must always be placed in the start block. */
+static inline int is_op_start_block_placed(const ir_op *op) {
+ return op->flags & irop_flag_start_block;