3 * File name: ir/opt/scalar_replace.h
4 * Purpose: scalar replacement of compounds
5 * Author: Beyhan Veliev
8 * Copyright: (c) 1998-2005 Universität Karlsruhe
9 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
12 #ifndef _SCALAR_REPLACE_H_
13 #define _SCALAR_REPLACE_H_
18 * Returns non-zero, if the address of an entity
19 * represented by a Sel node (or it's successor Sels) is taken.
21 * @param sel the Sel node
23 int is_address_taken(ir_node *sel);
26 * Do the scalar replacement optimization.
27 * Replace local compound entities (like structures and arrays)
28 * with atomic values if possible. Does not handle classes yet.
30 * @param irg the graph which should be optimized
32 void scalar_replacement_opt(ir_graph *irg);
34 #endif /* _SCALAR_REPLACE_H_ */