3 * File name: ir/clone functions./proc_cloning.h
4 * Purpose: procedure cloning
5 * Author: Beyhan Veliev
8 * Copyright: (c) 1998-2005 Universität Karlsruhe
9 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
11 #ifndef PROC_CLONING_H
12 #define PROC_CLONING_H
14 #include "firm_types.h"
16 /** A default threshold. */
17 #define DEFAULT_CLONE_THRESHOLD 300
20 * Do procedure cloning. Evaluate a heuristic weight for every
21 * Call(..., Const, ...). If the weight is bigger than threshold,
22 * clone the entity and fix the calls.
24 * @param threshold the threshold for cloning
26 * The threshold is an estimation of how many instructions are saved
27 * when executing a cloned method. If threshold is 0.0, every possible
30 void proc_cloning(float threshold);
32 #endif /* PROC_CLONING_H */