projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
removed ;
[libfirm]
/
ir
/
be
/
belistsched.c
diff --git
a/ir/be/belistsched.c
b/ir/be/belistsched.c
index
5510084
..
45e6c44
100644
(file)
--- a/
ir/be/belistsched.c
+++ b/
ir/be/belistsched.c
@@
-75,11
+75,17
@@
static int cmp_usage(const void *a, const void *b)
}
#endif
}
#endif
+/**
+ * The trivial selector:
+ * Just assure that branches are executed last, otherwise select
+ * the first node ready.
+ */
static ir_node *trivial_select(void *block_env, pset *ready_set)
{
const arch_env_t *arch_env = block_env;
ir_node *irn = NULL;
static ir_node *trivial_select(void *block_env, pset *ready_set)
{
const arch_env_t *arch_env = block_env;
ir_node *irn = NULL;
+ /* assure that branches are executed last */
for(irn = pset_first(ready_set); irn; irn = pset_next(ready_set)) {
if(arch_irn_classify(arch_env, irn) != arch_irn_class_branch) {
pset_break(ready_set);
for(irn = pset_first(ready_set); irn; irn = pset_next(ready_set)) {
if(arch_irn_classify(arch_env, irn) != arch_irn_class_branch) {
pset_break(ready_set);
@@
-403,9
+409,9
@@
typedef struct _block_sched_env_t {
pset *ready_set;
pset *already_scheduled;
ir_node *block;
pset *ready_set;
pset *already_scheduled;
ir_node *block;
- firm_dbg_module_t *dbg;
const list_sched_selector_t *selector;
void *selector_block_env;
const list_sched_selector_t *selector;
void *selector_block_env;
+ DEBUG_ONLY(firm_dbg_module_t *dbg;)
} block_sched_env_t;
/**
} block_sched_env_t;
/**