beifg: Factorise code to count interference components.
[libfirm] / ir / be / be_t.h
index 4f6761f..8f60ce7 100644 (file)
@@ -1,20 +1,6 @@
 /*
- * Copyright (C) 1995-2008 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.
+ * Copyright (C) 2012 University of Karlsruhe.
  */
 
 /**
 #ifndef FIRM_BE_BE_T_H
 #define FIRM_BE_BE_T_H
 
-#include "firm_types.h"
-#include "obst.h"
-#include "debug.h"
-#include "bitset.h"
-#include "timing.h"
-#include "pmap.h"
-
 #include "be.h"
 #include "be_types.h"
+#include "bitset.h"
+#include "firm_types.h"
+#include "pmap.h"
+#include "timing.h"
 
 enum {
        DUMP_NONE     = 0,
@@ -70,12 +53,12 @@ struct be_options_t {
        char ilp_solver[128];      /**< the ilp solver name */
        int  statev;               /**< enable stat event dumping */
        char filtev[128];          /**< filter mask for stat events */
+       int  verbose_asm;          /**< dump verbose assembler */
 };
+extern be_options_t be_options;
 
 struct be_main_env_t {
        arch_env_t   *arch_env;
-       FILE         *file_handle;
-       be_options_t *options;              /**< backend options */
        const char   *cup_name;             /**< name of the compilation unit */
        pmap         *ent_trampoline_map;   /**< A map containing PIC trampolines for methods. */
        ir_type      *pic_trampolines_type; /**< Class type containing all trampolines */
@@ -112,7 +95,6 @@ typedef enum {
        T_RA_PREPARATION,
        T_SCHED,
        T_CONSTR,
-       T_SPLIT,
        T_FINISH,
        T_EMIT,
        T_VERIFY,
@@ -121,7 +103,6 @@ typedef enum {
        T_LIVE,
        T_EXECFREQ,
        T_SSA_CONSTR,
-       T_RA_PROLOG,
        T_RA_EPILOG,
        T_RA_CONSTR,
        T_RA_SPILL,
@@ -138,26 +119,18 @@ extern ir_timer_t *be_timers[T_LAST+1];
 
 static inline void be_timer_push(be_timer_id_t id)
 {
-       int res;
+       assert(id <= T_LAST);
        if (!be_timing)
                return;
-
-       assert(id <= T_LAST);
-       res = ir_timer_push(be_timers[id]);
-       (void) res;
-       assert(res && "Timer already on stack, cannot be pushed twice.");
+       ir_timer_push(be_timers[id]);
 }
 
 static inline void be_timer_pop(be_timer_id_t id)
 {
-       ir_timer_t *tmp;
+       assert(id <= T_LAST);
        if (!be_timing)
                return;
-
-       tmp = ir_timer_pop();
-       (void) tmp;
-       (void) id;
-       assert(tmp == be_timers[id] && "Attempt to pop wrong timer.");
+       ir_timer_pop(be_timers[id]);
 }
 
 #endif