Added missing API docu, improved existing API docu
[libfirm] / include / libfirm / firm.h
index 09d0c74..bc15cb0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1995-2008 University of Karlsruhe.  All right reserved.
+ * Copyright (C) 1995-2010 University of Karlsruhe.  All right reserved.
  *
  * This file is part of libFirm.
  *
  * @file
  * @brief     Central firm header.
  * @author    Martin Trapp, Christian Schaefer, Goetz Lindenmaier
- * @version   $Id$
- * @brief
- *  Central FIRM header.
+ * This header includes all other firm headers and can be included conveniently
+ * by users of the library.
+ */
+
+/** @mainpage
  *
  *  FIRM is a full graph based intermediate representation in SSA Form
  *  with a novel concept to model side effects.  It allows fast, aggressive
  *  optimizations.
  *
- *  This header is the central header of the library implementation of this
- *  IR.
- *
  *  The internal representation of a program in firm is separated into five
  *  different modules:
  *   - Firm Graphs representing the code of a program. (Subdirectory ir.)
  *
  *   Further this library supplies functionality to build and optimize FIRM graphs
  *   and further functionality needed in a compiler.  Finally there is more
- *   generic functionality to support implementations using firm.  (Code generation,
- *   further optimizations).
+ *   generic functionality to support implementations using firm.
+ *   (Code generation, further optimizations).
+ */
+
+/** @defgroup irana Analyses */
+
+/** @defgroup adt Abstract Data Structures
+ * This module contains abstract datatypes. The firm API is fully functional
+ * without these abstract datatypes. They're provided as a convenience.
+ */
+
+/** @defgroup algorithms Algorithms
+ * This module contains generic algorithms. The firm API is fully functional
+ * without them. They're provided as a convenience.
  */
 #ifndef FIRM_COMMON_FIRM_H
 #define FIRM_COMMON_FIRM_H
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include "analyze_irg_args.h"
 #include "be.h"
 #include "callgraph.h"
@@ -70,20 +77,17 @@ extern "C" {
 #include "cgana.h"
 #include "dbginfo.h"
 #include "execfreq.h"
-#include "execution_frequency.h"
-#include "field_temperature.h"
 #include "firm_common.h"
 #include "firmstat.h"
 #include "firm_types.h"
-#include "height.h"
+#include "heights.h"
 #include "ident.h"
-#include "interval_analysis.h"
 #include "irarch.h"
-#include "ircgcons.h"
 #include "ircgopt.h"
 #include "irconsconfirm.h"
 #include "ircons.h"
 #include "irdom.h"
+#include "vrp.h"
 #include "irdump.h"
 #include "iredgekinds.h"
 #include "iredges.h"
@@ -106,21 +110,12 @@ extern "C" {
 #include "irpass.h"
 #include "irprintf.h"
 #include "irprog.h"
-#include "irsimpletype.h"
 #include "irtypeinfo.h"
-#include "irvrfy.h"
+#include "irverify.h"
 #include "lowering.h"
-#include "pseudo_irg.h"
-#include "rta.h"
-#include "seqnumbers.h"
-#include "structure.h"
 #include "timing.h"
 #include "trouts.h"
 #include "tv.h"
 #include "typerep.h"
 
-#ifdef __cplusplus
-}
-#endif
-
 #endif