3 * File name: ir/ana/irconsconfirm.h
4 * Purpose: Construction of Confirm nodes
9 * Copyright: (C) 2002-2005 University of Karlsruhe
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
14 * @file irconsconfirm.h
16 * Construction of Confirm nodes
18 * @author Michael Beck
20 #ifndef _FIRM_ANA_IRCONSCONFIRM_H_
21 #define _FIRM_ANA_IRCONSCONFIRM_H_
26 * Inject Confirm nodes into a graph.
28 * @param irg the graph
30 * Confirm nodes carry confirmation information, such as
31 * a relation between a value a and another value (or a constant)
34 * These allows to do some range dependent optimizations for Cmp,
35 * Abs, Min, Max nodes as well as bounds checking removement.
37 * The heap analysis might profit also. On the other side, Confirm
38 * nodes disturb local optimizations, because patterns are destroyed.
40 * It is possible to avoid this by skipping Confirm nodes, but this
41 * is not implemented and is not cheap. The same happens with Casts
42 * nodes too. The current solution is to remove Confirms at a later
45 void construct_confirms(ir_graph *irg);
48 * Remove all Confirm nodes from a graph.
50 * Note that local_optimize() can handle this if
51 * the remove Confirm node setting is on (set_opt_remove_Confirm(1)).
53 void remove_confirms(ir_graph *irg);
55 #endif /* _FIRM_ANA_IRCONSCONFIRM_H_ */