use operands_are_normalized when permuting Not operations on Xor inputs to avoid...
[libfirm] / ir / be / besched.h
index b1e542f..e55f763 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2010 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
@@ -41,7 +41,6 @@ void be_sched_dump(FILE *f, ir_graph *irg);
  * unique to that block. a node schedule before another node has a lower
  * timestep than this node.
  */
-int     have_sched_info(const ir_graph *irg);
 int     sched_get_time_step(const ir_node *irn);
 int     sched_has_next(const ir_node *irn);
 int     sched_has_prev(const ir_node *irn);
@@ -54,6 +53,7 @@ void    sched_add_before(ir_node *before, ir_node *irn);
 void    sched_add_after(ir_node *after, ir_node *irn);
 void    sched_init_block(ir_node *block);
 void    sched_reset(ir_node *node);
+int     sched_comes_after(const ir_node *n1, const ir_node *n2);
 void    sched_remove(ir_node *irn);
 
 #define sched_is_end(irn)   is_Block(irn)
@@ -93,21 +93,11 @@ void    sched_remove(ir_node *irn);
  * Removes dead nodes from schedule
  * @param irg  the graph
  */
-void be_remove_dead_nodes_from_schedule(be_irg_t *birg);
+void be_remove_dead_nodes_from_schedule(ir_graph *irg);
 
 #define SCHED_INITIAL_GRANULARITY (1 << 14)
 #define get_irn_sched_info(irn)             (&be_get_info(skip_Proj_const(irn))->sched_info)
 
-/**
- * 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 be_info_initialized(irg);
-}
-
 /**
  * Check, if the node is scheduled.
  * @param irn The node.
@@ -138,10 +128,7 @@ static inline int _sched_get_time_step(const ir_node *irn)
 static inline int to_appear_in_schedule(const ir_node *irn)
 {
        switch(get_irn_opcode(irn)) {
-               case iro_Start:
                case iro_Jmp:
-               case iro_Break:
-                       return 1;
                case iro_Proj:
                        return 0;
                default:
@@ -169,7 +156,7 @@ static inline int _sched_has_next(const ir_node *irn)
 static inline int _sched_has_prev(const ir_node *irn)
 {
        const sched_info_t *info  = get_irn_sched_info(irn);
-       const ir_node      *block = is_Block(irn) ? irn : get_nodes_block(irn);
+       const ir_node      *block = is_Block(irn) ? irn : get_nodes_block(irn);
        return info->prev != block;
 }
 
@@ -411,7 +398,6 @@ 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)