Fixed wrong array declaration
[libfirm] / ir / opt / scalar_replace.h
1 /*
2  * Project:     libFIRM
3  * File name:   ir/opt/scalar_replace.h
4  * Purpose:     scalar replacement of compounds
5  * Author:      Beyhan Veliev
6  * Created:
7  * CVS-ID:      $Id$
8  * Copyright:   (c) 1998-2005 Universität Karlsruhe
9  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
10  */
11
12 #ifndef _SCALAR_REPLACE_H_
13 #define _SCALAR_REPLACE_H_
14
15 #include "irgraph.h"
16
17 /**
18  * Returns non-zero, if the address of an entity
19  * represented by a Sel node (or it's successor Sels) is taken.
20  *
21  * @param sel  the Sel node
22  */
23 int is_address_taken(ir_node *sel);
24
25 /**
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.
29  *
30  * @param irg  the graph which should be optimized
31  */
32 void scalar_replacement_opt(ir_graph *irg);
33
34 #endif /* _SCALAR_REPLACE_H_ */