2 * Analyse register pressure in loops.
3 * @author Christian Wuerdig
16 typedef struct _be_loopana_t be_loopana_t;
19 * Compute the register pressure for a class of all loops in the birg.
20 * @param birg The backend irg object
21 * @param cls The register class to compute the pressure for
22 * @return The loop analysis object.
24 be_loopana_t *be_new_loop_pressure_cls(be_irg_t *birg, const arch_register_class_t *cls);
27 * Compute the register pressure for all classes of all loops in the birg.
28 * @param birg The backend irg object
29 * @return The loop analysis object.
31 be_loopana_t *be_new_loop_pressure(be_irg_t *birg);
34 * Returns the computed register pressure for the given class and loop.
35 * @return The pressure or INT_MAX if not found
37 unsigned be_get_loop_pressure(be_loopana_t *loop_ana, const arch_register_class_t *cls, ir_loop *loop);
40 * Frees loop analysis object.
42 void be_free_loop_pressure(be_loopana_t *loop_ana);
44 #endif /* _BELOOPANA_H_ */