* @file
* @brief Procedure cloning.
* @author Beyhan Veliev, Michael Beck
- * @version $Id$
* @brief
*
* The purpose is first to find and analyze functions, that are called
*/
static unsigned hash_entry(const entry_t *entry)
{
- return HASH_PTR(entry->q.ent) ^ HASH_PTR(entry->q.tv) ^ (unsigned)(entry->q.pos * 9);
+ return hash_ptr(entry->q.ent) ^ hash_ptr(entry->q.tv) ^ (unsigned)(entry->q.pos * 9);
}
/**
static ir_node *get_irg_arg(ir_graph *irg, size_t pos)
{
ir_node *irg_args = get_irg_args(irg), *arg = NULL;
- int i;
/* Call algorithm that computes the out edges */
assure_irg_outs(irg);
/* Search the argument with the number pos.*/
- for (i = get_irn_n_outs(irg_args) - 1; i >= 0; --i) {
+ for (unsigned i = get_irn_n_outs(irg_args); i-- > 0; ) {
ir_node *proj = get_irn_out(irg_args, i);
if ((int)pos == get_Proj_proj(proj)) {
if (arg) {
hmap->heavy_uses = entry->next;
entry->next = *adr;
*adr = entry;
- entry = hmap->heavy_uses;
/* we have changed the list, check the next one */
goto restart;
*/
void proc_cloning(float threshold)
{
- entry_t *entry = NULL, *p;
+ entry_t *p;
size_t i, n;
q_set hmap;
/* We iterate the set and arrange the element of the set in a list.
The elements are arranged dependent of their value descending.*/
if (hmap.map) {
- foreach_pset(hmap.map, entry_t*, entry) {
+ foreach_pset(hmap.map, entry_t, entry) {
entry->weight = calculate_weight(entry);
/*
#ifdef DEBUG_libfirm
/* Print some information about the list. */
DB((dbg, LEVEL_2, "-----------------\n"));
- for (entry = hmap.heavy_uses; entry; entry = entry->next) {
+ for (entry_t *entry = hmap.heavy_uses; entry; entry = entry->next) {
DB((dbg, LEVEL_2, "\nweight: is %f\n", entry->weight));
DB((dbg, LEVEL_2, "Call for Method %E\n", entry->q.ent));
DB((dbg, LEVEL_2, "Position %zu\n", entry->q.pos));
DB((dbg, LEVEL_2, "Value %T\n", entry->q.tv));
}
#endif
- entry = hmap.heavy_uses;
+ entry_t *const entry = hmap.heavy_uses;
if (entry) {
quadruple_t *qp = &entry->q;