X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeirg_t.h;h=61f0f28db51f5112061358d2697fbec0270eead1;hb=8d07d17eb2ade0b6b4aef0ebd68d6af3cc368b06;hp=71f5efb5853c54eb43b0765e60fcee64d9d183dd;hpb=c65b13d98017c671496ff61e970790bba264f375;p=libfirm diff --git a/ir/be/beirg_t.h b/ir/be/beirg_t.h index 71f5efb58..61f0f28db 100644 --- a/ir/be/beirg_t.h +++ b/ir/be/beirg_t.h @@ -1,28 +1,49 @@ -/** - * Author: Matthias Braun - * Date: 05.05.2006 - * Copyright: (c) Universitaet Karlsruhe - * License: This file is protected by GPL - GNU GENERAL PUBLIC LICENSE. +/* + * 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. * - * Backend irg - a ir_graph with additional analysis information + * 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. */ -#ifndef BEIRG_T_H_ -#define BEIRG_T_H_ + +/** + * @file + * @brief Backend irg - a ir_graph with additional analysis information. + * @author Matthias Braun + * @date 05.05.2006 + * @version $Id$ + */ +#ifndef FIRM_BE_BEIRG_T_H +#define FIRM_BE_BEIRG_T_H #include "beirg.h" +#include "be_t.h" +#include "beabi.h" +#include "irlivechk.h" /** * An ir_graph with additional analysis data about this irg. Also includes some * backend structures */ -struct _be_irg_t { - ir_graph *irg; - struct _be_main_env_t *main_env; - struct _be_abi_irg_t *abi; - struct _arch_code_generator_t *cg; - ir_exec_freq *exec_freq; - be_dom_front_info_t *dom_front; - be_lv_t *lv; +struct be_irg_t { + ir_graph *irg; + be_main_env_t *main_env; + be_abi_irg_t *abi; + arch_code_generator_t *cg; + ir_exec_freq *exec_freq; + be_dom_front_info_t *dom_front; + be_lv_t *lv; }; static INLINE be_lv_t * @@ -45,9 +66,14 @@ _be_get_birg_irg(const be_irg_t *birg) { return birg->irg; } +static INLINE const arch_env_t * +_be_get_birg_arch_env(const be_irg_t *birg) { + return birg->main_env->arch_env; +} + #define be_get_birg_exec_freq(birg) _be_get_birg_exec_freq(birg) #define be_get_birg_liveness(birg) _be_get_birg_liveness(birg) #define be_get_birg_dom_front(birg) _be_get_birg_dom_front(birg) #define be_get_birg_irg(birg) _be_get_birg_irg(birg) -#endif +#endif /* FIRM_BE_BEIRG_T_H */