* Walker: Collect all calls to const and pure functions
* to lists. Collect all Proj(Call) nodes into a Proj list.
*/
* Walker: Collect all calls to const and pure functions
* to lists. Collect all Proj(Call) nodes into a Proj list.
*/
ir_node *call, *next, *mem, *proj;
int exc_changed = 0;
ir_graph *rem = current_ir_graph;
ir_node *call, *next, *mem, *proj;
int exc_changed = 0;
ir_graph *rem = current_ir_graph;
* Walker: Collect all calls to nothrow functions
* to lists. Collect all Proj(Call) nodes into a Proj list.
*/
* Walker: Collect all calls to nothrow functions
* to lists. Collect all Proj(Call) nodes into a Proj list.
*/
* @param call_list the list of all call sites of const functions
* @param proj_list the list of all memory/exception Proj's of this call sites
*/
* @param call_list the list of all call sites of const functions
* @param proj_list the list of all memory/exception Proj's of this call sites
*/
ir_node *call, *next, *proj;
int exc_changed = 0;
ir_graph *rem = current_ir_graph;
ir_node *call, *next, *proj;
int exc_changed = 0;
ir_graph *rem = current_ir_graph;
* @param irg the graph to check
* @param top if set, this is the top call
*/
* @param irg the graph to check
* @param top if set, this is the top call
*/
* @param irg the graph to check
* @param top if set, this is the top call
*/
* @param irg the graph to check
* @param top if set, this is the top call
*/
* When a function was detected as "const", it might be moved out of loops.
* This might be dangerous if the graph can contain endless loops.
*/
* When a function was detected as "const", it might be moved out of loops.
* This might be dangerous if the graph can contain endless loops.
*/
FIRM_DBG_REGISTER(dbg, "firm.opt.funccalls");
} /* firm_init_funccalls */
FIRM_DBG_REGISTER(dbg, "firm.opt.funccalls");
} /* firm_init_funccalls */