X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbesched_t.h;h=2aa075c5fc35d9fff7b5a7528580016b31b98f5e;hb=1894b7dd99b524c25c8fa18c33c250ea2cde2e36;hp=3e874f5c771e144bfc06b6d1ab3cfdaa78c0c655;hpb=0e5f781d021c0b1e20ba08f583d4971419fedb5d;p=libfirm diff --git a/ir/be/besched_t.h b/ir/be/besched_t.h index 3e874f5c7..2aa075c5f 100644 --- a/ir/be/besched_t.h +++ b/ir/be/besched_t.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -58,6 +58,16 @@ typedef struct _sched_info_t { #define get_irn_sched_info(irn) ((sched_info_t *) get_or_set_irn_phase_info(skip_Proj_const(irn), PHASE_BE_SCHED)) #define get_sched_info_irn(irg, sched_info) get_idx_irn((irg), (sched_info)->idx) +/** + * Returns non-zero if schedule information is available + * for a given graph. + * @param irg The graph. + */ +static INLINE int _have_sched_info(const ir_graph *irg) +{ + return get_irg_phase(irg, PHASE_BE_SCHED) != NULL; +} + /** * Check, if the node is scheduled. * @param irn The node. @@ -65,7 +75,7 @@ typedef struct _sched_info_t { */ static INLINE int _sched_is_scheduled(const ir_node *irn) { - return get_irn_sched_info(irn)->scheduled; + return get_irn_sched_info(irn)->scheduled; } /** @@ -338,6 +348,7 @@ int sched_skip_phi_predicator(const ir_node *irn, void *data); */ ir_node *sched_skip(ir_node *from, int forward, sched_predicator_t *predicator, void *data); +#define have_sched_info(irg) _have_sched_info(irg) #define sched_get_time_step(irn) _sched_get_time_step(irn) #define sched_has_next(irn) _sched_has_next(irn) #define sched_has_prev(irn) _sched_has_prev(irn)