remove unnecessary members from be_abi_irg_t structure, cleanup beabi a bit
[libfirm] / ir / be / bessaconstr.h
index f087738..a2e404e 100644 (file)
  * to their closest copy while introducing phis as necessary.
  *
  * Algorithm: Mark all blocks in the iterated dominance frontiers of the value
- * and it's copies. Link the copies ordered by dominance to the blocks.  The
- * we search for each use all all definitions in the current block, if none is
+ * and it's copies. Link the copies ordered by dominance to the blocks.  Then
+ * we search for each use all definitions in the current block, if none is
  * found, then we search one in the immediate dominator. If we are in a block
- * of the dominance frontier, create a phi and search do the same search for
- * the phi arguments.
+ * of the dominance frontier, create a phi and do the same search for all
+ * phi arguments.
  *
  * A copy in this context means, that you want to introduce several new
  * abstract values (in Firm: nodes) for which you know, that they
 #include "pdeq.h"
 
 typedef struct be_ssa_construction_env_t {
-       ir_graph                  *irg;
-       const be_dom_front_info_t *domfronts;
-       ir_mode                   *mode;
-       waitq                     *worklist;
-       const ir_nodeset_t        *ignore_uses;
-       ir_node                   **new_phis;
-       int                       iterated_domfront_calculated;
-       int                       min_dom;
-       int                       max_dom;
+       ir_graph                    *irg;
+       const be_dom_front_info_t   *domfronts;
+       ir_mode                     *mode;
+       const arch_register_class_t *phi_cls;
+       waitq                       *worklist;
+       const ir_nodeset_t          *ignore_uses;
+       ir_node                    **new_phis;
+       int                          iterated_domfront_calculated;
 } be_ssa_construction_env_t;
 
 /**
- * Initializes an ssa construction environment.
+ * Initializes an SSA construction environment.
+ *
+ * @param env    an SSA empty construction environment
+ * @param irg    the graph
  */
-void be_ssa_construction_init(be_ssa_construction_env_t *env, be_irg_t *birg);
+void be_ssa_construction_init(be_ssa_construction_env_t *env, ir_graph *irg);
 
 void be_ssa_construction_add_copy(be_ssa_construction_env_t *env,
                                   ir_node *value);