bearch: Remove unnecessary test in arch_perform_memory_operand().
[libfirm] / ir / be / be_types.h
index b62bf57..e3271ba 100644 (file)
@@ -1,27 +1,12 @@
 /*
- * 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.
  */
 
 /**
  * @file
  * @brief       Forward declarations of backend types
  * @author      Matthias Braun
- * @version     $Id: besched.h 25982 2009-05-15 22:09:38Z matze $
  */
 #ifndef FIRM_BE_TYPES_H
 #define FIRM_BE_TYPES_H
@@ -34,7 +19,6 @@ typedef struct arch_register_class_t     arch_register_class_t;
 typedef struct arch_register_req_t       arch_register_req_t;
 typedef struct arch_register_t           arch_register_t;
 typedef struct arch_flag_t               arch_flag_t;
-typedef struct arch_inverse_t            arch_inverse_t;
 typedef struct arch_isa_if_t             arch_isa_if_t;
 typedef struct arch_env_t                arch_env_t;
 
@@ -50,36 +34,29 @@ typedef enum arch_irn_flags_t {
                                                        implementation in beflags */
        arch_irn_flags_simple_jump      = 1U << 3, /**< a simple jump instruction */
        arch_irn_flags_not_scheduled    = 1U << 4, /**< node must not be scheduled*/
-       /** mark node as belonging to the prolog. No spill instructions must appear
-        * in a schedule before a prolog node */
-       arch_irn_flags_prolog           = 1U << 5,
-       /** mark node as belonging to the epilog. No spill instructions must appear
-        * after an epilog node */
-       arch_irn_flags_epilog           = 1U << 6,
-       arch_irn_flags_backend          = 1U << 7, /**< begin of custom backend
+       /** node writes to a spillslot, this means we can load from the spillslot
+        * anytime (important when deciding wether we can rematerialize) */
+       arch_irn_flags_spill            = 1U << 5,
+       arch_irn_flags_backend          = 1U << 6, /**< begin of custom backend
                                                        flags */
 } arch_irn_flags_t;
 ENUM_BITSET(arch_irn_flags_t)
 
 typedef struct be_lv_t                  be_lv_t;
-typedef struct be_lv_info_t             be_lv_info_t;
+typedef union  be_lv_info_t             be_lv_info_t;
 
 typedef struct be_abi_call_flags_bits_t be_abi_call_flags_bits_t;
-typedef union  be_abi_call_flags_t      be_abi_call_flags_t;
+typedef struct be_abi_call_flags_t      be_abi_call_flags_t;
 typedef struct be_abi_callbacks_t       be_abi_callbacks_t;
 typedef struct be_abi_call_t            be_abi_call_t;
 typedef struct be_abi_irg_t             be_abi_irg_t;
 typedef struct be_stack_layout_t        be_stack_layout_t;
 
-typedef struct be_dom_front_info_t      be_dom_front_info_t;
-
-typedef struct be_execution_unit_type_t be_execution_unit_type_t;
-typedef struct be_execution_unit_t      be_execution_unit_t;
-typedef struct be_machine_t             be_machine_t;
-
 typedef struct backend_info_t           backend_info_t;
 typedef struct sched_info_t             sched_info_t;
 typedef struct reg_out_info_t           reg_out_info_t;
+typedef struct be_ifg_t                 be_ifg_t;
+typedef struct copy_opt_t               copy_opt_t;
 
 typedef struct be_main_env_t be_main_env_t;
 typedef struct be_options_t  be_options_t;