2 * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
4 * This file is part of libFirm.
6 * This file may be distributed and/or modified under the terms of the
7 * GNU General Public License version 2 as published by the Free Software
8 * Foundation and appearing in the file LICENSE.GPL included in the
9 * packaging of this file.
11 * Licensees holding valid libFirm Professional Edition licenses may use
12 * this file in accordance with the libFirm Commercial License.
13 * Agreement provided with the Software.
15 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 * Author: Matthias Braun
23 * Copyright: (c) Universitaet Karlsruhe
24 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
33 void be_assure_liveness(be_irg_t *birg)
38 birg->lv = be_liveness(birg->irg);
41 void be_invalidate_liveness(be_irg_t *birg)
46 be_liveness_free(birg->lv);
50 void be_assure_dom_front(be_irg_t *birg)
52 if(birg->dom_front != NULL)
55 birg->dom_front = be_compute_dominance_frontiers(birg->irg);
58 void be_invalidate_dom_front(be_irg_t *birg)
60 if(birg->dom_front == NULL)
63 be_free_dominance_frontiers(birg->dom_front);
64 birg->dom_front = NULL;
67 void be_free_birg(be_irg_t *birg)
69 free_execfreq(birg->exec_freq);
70 birg->exec_freq = NULL;
72 if(birg->dom_front != NULL) {
73 be_free_dominance_frontiers(birg->dom_front);
74 birg->dom_front = NULL;
76 if(birg->lv != NULL) {
77 be_liveness_free(birg->lv);
82 ir_graph* (be_get_birg_irg) (const be_irg_t *birg)
84 return _be_get_birg_irg(birg);
87 ir_exec_freq* (be_get_birg_exec_freq) (const be_irg_t *birg)
89 return _be_get_birg_exec_freq(birg);
92 be_lv_t* (be_get_birg_liveness) (const be_irg_t *birg)
94 return _be_get_birg_liveness(birg);
97 be_dom_front_info_t* (be_get_birg_dom_front) (const be_irg_t *birg)
99 return _be_get_birg_dom_front(birg);
102 const arch_env_t* (be_get_birg_arch_env) (const be_irg_t *birg)
104 return _be_get_birg_arch_env(birg);