Add is_Conv().
[libfirm] / ir / ir / irgopt.h
index 65e0524..e267e36 100644 (file)
@@ -1,24 +1,30 @@
 /*
- * Project:     libFIRM
- * File name:   ir/ir/irgopt.h
- * Purpose:     Optimizations for a whole ir graph, i.e., a procedure.
- * Author:      Christian Schaefer, Goetz Lindenmaier
- * Modified by: Sebastian Felis
- * Created:
- * CVS-ID:      $Id$
- * Copyright:   (c) 1998-2003 Universität Karlsruhe
- * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
+ * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
+ *
+ * This file is part of libFirm.
+ *
+ * This file may be distributed and/or modified under the terms of the
+ * GNU General Public License version 2 as published by the Free Software
+ * Foundation and appearing in the file LICENSE.GPL included in the
+ * packaging of this file.
+ *
+ * Licensees holding valid libFirm Professional Edition licenses may use
+ * this file in accordance with the libFirm Commercial License.
+ * Agreement provided with the Software.
+ *
+ * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+ * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE.
  */
 
 /**
- * @file irgopt.h
- *
- * Optimizations for a whole ir graph, i.e., a procedure.
- *
- * @author Christian Schaefer, Goetz Lindenmaier
+ * @file
+ * @brief   Optimizations for a whole ir graph, i.e., a procedure.
+ * @author  Christian Schaefer, Goetz Lindenmaier, Sebastian Felis
+ * @version $Id$
  */
-#ifndef _FIRM_IR_IRGOPT_H_
-#define _FIRM_IR_IRGOPT_H_
+#ifndef FIRM_IR_IRGOPT_H
+#define FIRM_IR_IRGOPT_H
 
 #include "firm_types.h"
 
@@ -165,15 +171,19 @@ void inline_small_irgs(ir_graph *irg, int size);
  *
  *  For a heuristic this inlineing uses firm node counts.  It does
  *  not count auxiliary nodes as Proj, Tuple, End, Start, Id, Sync.
- *
- *  @param maxsize   Do not inline any calls if a method has more than
- *                   maxsize firm nodes.  It may reach this limit by
- *                   inlineing.
- *  @param leavesize Inline leave functions if they have less than leavesize
- *                   nodes.
- *  @param size      Inline all function smaller than size.
+ *  If the ignore_runtime flag is set, calls to functions marked with the
+ *  mtp_property_runtime property are ignored.
+ *
+ *  @param maxsize         Do not inline any calls if a method has more than
+ *                         maxsize firm nodes.  It may reach this limit by
+ *                         inlineing.
+ *  @param leavesize       Inline leave functions if they have less than leavesize
+ *                         nodes.
+ *  @param size            Inline all function smaller than size.
+ *  @param ignore_runtime  count a function only calling runtime functions as
+ *                         leave
  */
-void inline_leave_functions(int maxsize, int leavesize, int size);
+void inline_leave_functions(int maxsize, int leavesize, int size, int ignore_runtime);
 
 /** Code Placement.
  *
@@ -205,4 +215,4 @@ void place_code(ir_graph *irg);
  */
 void remove_critical_cf_edges(ir_graph *irg);
 
-#endif /* _FIRM_IR_IRGOPT_H_ */
+#endif