projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Do not mark the transformed as visited. It makes no sense at all.
[libfirm]
/
ir
/
be
/
belistsched.c
diff --git
a/ir/be/belistsched.c
b/ir/be/belistsched.c
index
c8cf497
..
5e98db6
100644
(file)
--- a/
ir/be/belistsched.c
+++ b/
ir/be/belistsched.c
@@
-90,7
+90,7
@@
typedef struct _list_sched_options_t {
} list_sched_options_t;
static list_sched_options_t list_sched_options = {
} list_sched_options_t;
static list_sched_options_t list_sched_options = {
- BE_SCHED_SELECT_
HEUR,
/* mueller heuristic selector */
+ BE_SCHED_SELECT_
NORMAL,
/* mueller heuristic selector */
BE_SCHED_PREP_NONE, /* no scheduling preparation */
};
BE_SCHED_PREP_NONE, /* no scheduling preparation */
};
@@
-229,7
+229,7
@@
static INLINE int make_ready(block_sched_env_t *env, ir_node *pred, ir_node *irn
/* if irn is an End we have keep-alives and op might be a block, skip that */
if (is_Block(op)) {
/* if irn is an End we have keep-alives and op might be a block, skip that */
if (is_Block(op)) {
- assert(
get_irn_op(irn) == op_End
);
+ assert(
is_End(irn)
);
continue;
}
continue;
}
@@
-486,9
+486,6
@@
static void list_sched_block(ir_node *block, void *env_ptr)
else if (irn == start_node) {
/* The start block will be scheduled as the first node */
add_to_sched(&be, irn);
else if (irn == start_node) {
/* The start block will be scheduled as the first node */
add_to_sched(&be, irn);
-#ifdef SCHEDULE_PROJS
- add_tuple_projs(&be, irn);
-#endif
}
else {
/* Other nodes must have all operands in other blocks to be made
}
else {
/* Other nodes must have all operands in other blocks to be made
@@
-519,8
+516,6
@@
static void list_sched_block(ir_node *block, void *env_ptr)
/* Iterate over all remaining nodes */
while (ir_nodeset_size(&be.cands) > 0) {
ir_nodeset_iterator_t iter;
/* Iterate over all remaining nodes */
while (ir_nodeset_size(&be.cands) > 0) {
ir_nodeset_iterator_t iter;
- /* collect statistics about amount of ready nodes */
- be_do_stat_sched_ready(block, &be.cands);
/* Keeps must be scheduled immediately */
foreach_ir_nodeset(&be.cands, irn, iter) {
/* Keeps must be scheduled immediately */
foreach_ir_nodeset(&be.cands, irn, iter) {
@@
-601,7
+596,7
@@
void list_sched(be_irg_t *birg, be_options_t *be_opts)
/* initialize environment for list scheduler */
memset(&env, 0, sizeof(env));
/* initialize environment for list scheduler */
memset(&env, 0, sizeof(env));
- env.selector = arch_env
->isa->impl->get_list_sched_selector(arch_env->isa
, &sel);
+ env.selector = arch_env
_get_list_sched_selector(arch_env
, &sel);
env.arch_env = arch_env;
env.irg = irg;
env.sched_info = NEW_ARR_F(sched_irn_t, num_nodes);
env.arch_env = arch_env;
env.irg = irg;
env.sched_info = NEW_ARR_F(sched_irn_t, num_nodes);
@@
-656,7
+651,7
@@
void list_sched_single_block(const be_irg_t *birg, ir_node *block,
/* initialize environment for list scheduler */
memset(&env, 0, sizeof(env));
/* initialize environment for list scheduler */
memset(&env, 0, sizeof(env));
- env.selector = arch_env
->isa->impl->get_list_sched_selector(arch_env->isa
, &sel);
+ env.selector = arch_env
_get_list_sched_selector(arch_env
, &sel);
env.arch_env = arch_env;
env.irg = irg;
env.sched_info = NEW_ARR_F(sched_irn_t, num_nodes);
env.arch_env = arch_env;
env.irg = irg;
env.sched_info = NEW_ARR_F(sched_irn_t, num_nodes);