fixed classify_value() function
[libfirm] / ir / opt / funccall.h
1 /*
2  * Project:     libFIRM
3  * File name:   ir/opt/ldstopt.h
4  * Purpose:     optimization of real function calls
5  * Author:      Michael Beck
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 /**
13  * @file funccall.h
14  *
15  * Optimization of real function calls.
16  *
17  * @author Michael Beck
18  */
19 #ifndef _FUNCCALL_H_
20 #define _FUNCCALL_H_
21
22 /**
23  * Optimize function calls by handling real functions.
24  *
25  * This optimization first detects all "real functions", i.e.,
26  * IR graphs that neither read nor write memory (and hence did
27  * not create exceptions, as these use memory in Firm).
28  *
29  * The result of calls to such functions depends only on its
30  * arguments, hence those calls are no more pinned.
31  *
32  * This is a rather strong criteria, so do not expect that a
33  * lot of functions will be found. Moreover, all of them might
34  * already be inlined if inlining is activated.
35  * Anyway, it might be good for handling builtin's or pseudo-graphs,
36  * even if the later read/write memory (but we know how).
37  *
38  * If callee information is valid, we also optimize polymorphic Calls.
39  */
40 void optimize_funccalls(void);
41
42 #endif /* _FUNCCALL_H_ */