projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sparc: implement float->unsigned conversions
[libfirm]
/
ir
/
be
/
belive_t.h
diff --git
a/ir/be/belive_t.h
b/ir/be/belive_t.h
index
5b5da70
..
6d79f01
100644
(file)
--- a/
ir/be/belive_t.h
+++ b/
ir/be/belive_t.h
@@
-26,10
+26,12
@@
#ifndef FIRM_BE_BELIVE_T_H
#define FIRM_BE_BELIVE_T_H
#ifndef FIRM_BE_BELIVE_T_H
#define FIRM_BE_BELIVE_T_H
+#include <stdbool.h>
#include "be_types.h"
#include "irgraph_t.h"
#include "irnodehashmap.h"
#include "irhooks.h"
#include "be_types.h"
#include "irgraph_t.h"
#include "irnodehashmap.h"
#include "irhooks.h"
+#include "irlivechk.h"
#include "statev.h"
#include "pset.h"
#include "statev.h"
#include "pset.h"
@@
-37,21
+39,14
@@
#include "belive.h"
#include "belive.h"
-#define USE_LIVE_CHK
-
-#ifdef USE_LIVE_CHK
-#include "irlivechk.h"
-#endif
-
struct be_lv_t {
ir_nodehashmap_t map;
struct obstack obst;
struct be_lv_t {
ir_nodehashmap_t map;
struct obstack obst;
+ bool sets_valid;
ir_graph *irg;
bitset_t *nodes;
hook_entry_t hook_info;
ir_graph *irg;
bitset_t *nodes;
hook_entry_t hook_info;
-#ifdef USE_LIVE_CHK
lv_chk_t *lvc;
lv_chk_t *lvc;
-#endif
};
typedef struct be_lv_info_node_t be_lv_info_node_t;
};
typedef struct be_lv_info_node_t be_lv_info_node_t;
@@
-102,15
+97,12
@@
static inline unsigned _be_is_live_xxx(const be_lv_t *li, const ir_node *block,
{
unsigned res;
{
unsigned res;
- if (li->
nodes != NULL
) {
+ if (li->
sets_valid
) {
be_lv_info_node_t *info = be_lv_get(li, block, irn);
res = info != NULL ? (info->flags & flags) != 0 : 0;
be_lv_info_node_t *info = be_lv_get(li, block, irn);
res = info != NULL ? (info->flags & flags) != 0 : 0;
- }
-
-#ifdef USE_LIVE_CHK
- else
+ } else {
res = (lv_chk_bl_xxx(li->lvc, block, irn) & flags) != 0;
res = (lv_chk_bl_xxx(li->lvc, block, irn) & flags) != 0;
-#endif
+ }
return res;
}
return res;
}