- removed useless be_req_t which was a wrapper around an arch_register_req_t
[libfirm] / ir / be / beintlive_t.h
index e0871c2..fc075a6 100644 (file)
  * @param b The second node.
  * @return 1 if a comes before b in the same block or if a == b, 0 else.
  */
-static INLINE int _value_dominates_intrablock(const ir_node *a, const ir_node *b)
+static inline int _value_dominates_intrablock(const ir_node *a, const ir_node *b)
 {
        /* TODO: ? :  can be removed?! */
-       sched_timestep_t as = is_Phi(a) ? 0 : sched_get_time_step(a);
-       sched_timestep_t bs = is_Phi(b) ? 0 : sched_get_time_step(b);
+       sched_timestep_t as = sched_is_scheduled(a) ? sched_get_time_step(a) : 0;
+       sched_timestep_t bs = sched_is_scheduled(b) ? sched_get_time_step(b) : 0;
        return as <= bs;
 }
 
@@ -42,11 +42,11 @@ static INLINE int _value_dominates_intrablock(const ir_node *a, const ir_node *b
  * @param b The second node.
  * @return 1 if a comes before b in the same block, 0 else.
  */
-static INLINE int _value_strictly_dominates_intrablock(const ir_node *a, const ir_node *b)
+static inline int _value_strictly_dominates_intrablock(const ir_node *a, const ir_node *b)
 {
        /* TODO: ? :  can be removed?! */
-       sched_timestep_t as = is_Phi(a) ? 0 : sched_get_time_step(a);
-       sched_timestep_t bs = is_Phi(b) ? 0 : sched_get_time_step(b);
+       sched_timestep_t as = sched_is_scheduled(a) ? sched_get_time_step(a) : 0;
+       sched_timestep_t bs = sched_is_scheduled(b) ? sched_get_time_step(b) : 0;
        return as < bs;
 }
 
@@ -57,10 +57,10 @@ static INLINE int _value_strictly_dominates_intrablock(const ir_node *a, const i
  * @param b The second node.
  * @return 1 if a dominates b or if a == b, 0 else.
  */
-static INLINE int _value_dominates(const ir_node *a, const ir_node *b)
+static inline int _value_dominates(const ir_node *a, const ir_node *b)
 {
-       const ir_node *block_a = get_block(a);
-       const ir_node *block_b = get_block(b);
+       const ir_node *block_a = get_block_const(a);
+       const ir_node *block_b = get_block_const(b);
 
        /*
         * a and b are not in the same block,
@@ -83,10 +83,10 @@ static INLINE int _value_dominates(const ir_node *a, const ir_node *b)
  * @param b The second node.
  * @return 1 if a dominates b, 0 else.
  */
-static INLINE int _value_strictly_dominates(const ir_node *a, const ir_node *b)
+static inline int _value_strictly_dominates(const ir_node *a, const ir_node *b)
 {
-       const ir_node *block_a = get_block(a);
-       const ir_node *block_b = get_block(b);
+       const ir_node *block_a = get_block_const(a);
+       const ir_node *block_b = get_block_const(b);
 
        /*
         * a and b are not in the same block,
@@ -109,14 +109,12 @@ static INLINE int _value_strictly_dominates(const ir_node *a, const ir_node *b)
  * @param b The second value.
  * @return 1, if a and b interfere, 0 if not.
  */
-static INLINE int _lv_values_interfere(const be_lv_t *lv, const ir_node *a, const ir_node *b)
+static inline int _lv_values_interfere(const be_lv_t *lv, const ir_node *a, const ir_node *b)
 {
        int a2b = _value_dominates(a, b);
        int b2a = _value_dominates(b, a);
        int res = 0;
 
-       stat_ev_ctx_push("beintlive");
-
        /*
         * Adjust a and b so, that a dominates b if
         * a dominates b or vice versa.
@@ -133,7 +131,7 @@ static INLINE int _lv_values_interfere(const be_lv_t *lv, const ir_node *a, cons
                const ir_edge_t *edge;
                ir_node *bb = get_nodes_block(b);
 
-               stat_ev_dbl("beintlive_ignore", arch_irn_is(lv->birg->main_env->arch_env, a, ignore));
+               //stat_ev_dbl("beintlive_ignore", arch_irn_is(lv->birg->main_env->arch_env, a, ignore));
 
                /*
                 * If a is live end in b's block it is
@@ -165,7 +163,6 @@ static INLINE int _lv_values_interfere(const be_lv_t *lv, const ir_node *a, cons
        }
 
 end:
-       stat_ev_ctx_pop("beintlive");
        return res;
 }
 
@@ -178,7 +175,7 @@ end:
  * @param edge The use.
  * @return     1, if @p irn dominates the use @p edge.
  */
-static INLINE int _dominates_use(const ir_node *irn, const ir_edge_t *edge)
+static inline int _dominates_use(const ir_node *irn, const ir_edge_t *edge)
 {
        ir_node *use = get_edge_src_irn(edge);
 
@@ -200,7 +197,7 @@ static INLINE int _dominates_use(const ir_node *irn, const ir_edge_t *edge)
  * @param edge The use.
  * @return     1, if @p irn strictly dominates the use @p edge.
  */
-static INLINE int _strictly_dominates_use(const ir_node *irn, const ir_edge_t *edge)
+static inline int _strictly_dominates_use(const ir_node *irn, const ir_edge_t *edge)
 {
        return get_edge_src_irn(edge) != irn && _dominates_use(irn, edge);
 }
@@ -212,7 +209,7 @@ static INLINE int _strictly_dominates_use(const ir_node *irn, const ir_edge_t *e
  * @param where The location to check for.
  * @return      1, if @p irn is live in front of @p where.
  */
-static INLINE int _be_lv_chk_before_irn(const be_irg_t *birg, const ir_node *irn, const ir_node *where)
+static inline int _be_lv_chk_before_irn(const be_irg_t *birg, const ir_node *irn, const ir_node *where)
 {
        const be_lv_t *lv = be_get_birg_liveness(birg);
        const ir_edge_t *edge;
@@ -247,7 +244,7 @@ static INLINE int _be_lv_chk_before_irn(const be_irg_t *birg, const ir_node *irn
  * @param where The location to check for.
  * @return      1, if @p irn is live after @p where.
  */
-static INLINE int _be_lv_chk_after_irn(const be_irg_t *birg, const ir_node *irn, const ir_node *where)
+static inline int _be_lv_chk_after_irn(const be_irg_t *birg, const ir_node *irn, const ir_node *where)
 {
        const be_lv_t *lv = be_get_birg_liveness(birg);
        const ir_edge_t *edge;