/*
- * 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 like lists and hashmaps.
+ * They're provided as a convenience, the firm API is fully functionaly without
+ * them so you can just as well use a library like glib and libapr or write
+ * your own.
+ */
+
+/** @defgroup algorithms Algorithms
+ * This module contains generic algorithms like bipartite matching or solvers
+ * for linear equation systems.
+ * They're provided as a convenience, the firm API is fully functionaly without
+ * them so you can just as well use a library like glib and libapr or write
+ * your own.
*/
#ifndef FIRM_COMMON_FIRM_H
#define FIRM_COMMON_FIRM_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "absgraph.h"
#include "analyze_irg_args.h"
#include "be.h"
#include "callgraph.h"
#include "cdep.h"
#include "cgana.h"
#include "dbginfo.h"
-#include "dfs.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"
-#include "irextbb.h"
#include "irflag.h"
#include "irgmod.h"
#include "irgopt.h"
#include "irgwalk.h"
#include "irhooks.h"
#include "irio.h"
-#include "irlivechk.h"
#include "irloop.h"
#include "irmemory.h"
#include "irmode.h"
#include "irnode.h"
#include "irop.h"
-#include "iropt_dbg.h"
#include "iropt.h"
#include "iroptimize.h"
#include "irouts.h"
#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 "old_fctnames.h"
-#include "phiclass.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