updated header
[libfirm] / ir / ana / irextbb_t.h
index 926ed85..a3a82e8 100644 (file)
@@ -1,26 +1,32 @@
 /*
- * Project:     libFIRM
- * File name:   ir/ana/irextbb_t.h
- * Purpose:     Extended basis block support.
- * Author:      Michael Beck
- * Modified by:
- * Created:     5.2005
- * CVS-ID:      $Id$
- * Copyright:   (c) 2002-2005 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 irextbb_t.h
- *
- *  Computes extended basic blocks.
- *
- *  @author Michael Beck
+ * @file
+ * @brief   Extended basis block support -- private header
+ * @author  Michael Beck
+ * @date    5.2005
+ * @version $Id$
  */
-#ifndef _IREXTBB_T_H_
-#define _IREXTBB_T_H_
+#ifndef FIRM_ANA_IREXTBB_T_H
+#define FIRM_ANA_IREXTBB_T_H
 
-#include "firm_config.h"
 #include "irgraph_t.h"
 #include "irextbb.h"
 #include "irtools.h"
@@ -35,6 +41,14 @@ struct _ir_extblk {
   void *link;            /**< private link field */
 };
 
+/**
+ * Checks whether a pointer points to a extended basic block.
+ * Intern version for libFirm.
+ */
+static INLINE int
+_is_ir_extbb (const void *thing) {
+  return (get_kind(thing) == k_ir_extblk);
+}
 
 /**
  * Gets the visited counter of an extended block.
@@ -63,7 +77,7 @@ _set_extbb_visited(ir_extblk *blk, unsigned long visited) {
 static INLINE void
 _mark_extbb_visited(ir_extblk *blk) {
   assert(blk);
-  blk->visited = current_ir_graph->visited;
+  blk->visited = current_ir_graph->block_visited;
 }
 
 /**
@@ -73,7 +87,7 @@ _mark_extbb_visited(ir_extblk *blk) {
 static INLINE int
 _extbb_visited(const ir_extblk *blk) {
   assert(blk);
-  return blk->visited >= current_ir_graph->visited;
+  return blk->visited >= current_ir_graph->block_visited;
 }
 
 /**
@@ -83,7 +97,7 @@ _extbb_visited(const ir_extblk *blk) {
 static INLINE int
 _extbb_not_visited(const ir_extblk *blk) {
   assert(blk);
-  return blk->visited < current_ir_graph->visited;
+  return blk->visited < current_ir_graph->block_visited;
 }
 
 /**
@@ -134,9 +148,10 @@ _get_extbb_leader(ir_extblk *blk)
   return blk->blks[0];
 }
 
-#define get_extbb_visited(blk)         _get_extbb_visited(blk)
-#define set_extbb_visited(blk, v)      _set_extbb_visited(blk, v)
-#define mark_extbb_visited(blk)          _mark_extbb_visited(blk)
+#define is_ir_extbb(thing)        _is_ir_extbb(thing)
+#define get_extbb_visited(blk)    _get_extbb_visited(blk)
+#define set_extbb_visited(blk, v) _set_extbb_visited(blk, v)
+#define mark_extbb_visited(blk)   _mark_extbb_visited(blk)
 #define extbb_visited(blk)        _extbb_visited(blk)
 #define extbb_not_visited(blk)    _extbb_not_visited(blk)
 #define get_extbb_link(blk)       _get_extbb_link(blk)
@@ -144,4 +159,4 @@ _get_extbb_leader(ir_extblk *blk)
 #define get_extbb_n_blocks(blk)   _get_extbb_n_blocks(blk)
 #define get_extbb_leader(blk)     _get_extbb_leader(blk)
 
-#endif /* _IREXTBB_H_ */
+#endif