added new licence header
[libfirm] / ir / ir / ircgopt.h
1 /*
2  * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
3  *
4  * This file is part of libFirm.
5  *
6  * This file may be distributed and/or modified under the terms of the
7  * GNU General Public License version 2 as published by the Free Software
8  * Foundation and appearing in the file LICENSE.GPL included in the
9  * packaging of this file.
10  *
11  * Licensees holding valid libFirm Professional Edition licenses may use
12  * this file in accordance with the libFirm Commercial License.
13  * Agreement provided with the Software.
14  *
15  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE.
18  */
19
20 /*
21  * Project:     libFIRM
22  * File name:   ir/ir/ircgopt.h
23  * Purpose:     Removal of unreachable methods.
24  * Author:      Hubert Schmid
25  * Modified by:
26  * Created:     09.06.2002
27  * CVS-ID:      $Id$
28  * Copyright:   (c) 2002-2003 Universität Karlsruhe
29  */
30
31 /**
32  * @file irgopt.h
33  *
34  * Entfernen von nicht erreichbaren (aufrufbaren) Methoden. Die Menge
35  * der nicht erreichbaren Methoden wird aus der Abschätzung der
36  * Aufrufrelation bestimmt.
37  */
38 #ifndef _FIRM_IR_ICGOPT_H_
39 #define _FIRM_IR_ICGOPT_H_
40
41 #include "firm_types.h"
42
43 /* Entfernt alle Methoden, die von den Methoden aus "keep_arr"
44  * (bezgl. der Abschaetzung get_Call_callee) nicht erreichbar sind. Die
45  * Abschaetzung der Aufrufrelation muss entsprechend an den
46  * Call-Operationen gespeichert sein. Die "entity->link"s werden dabei
47  * ueberschrieben.
48  *
49  * Frees all interprocedural loop information. */
50 void gc_irgs(int n_keep, ir_entity *keep_arr[]);
51
52 #endif /* _FIRM_IR_ICGOPT_H_ */