projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement binary emitter for fsubrp.
[libfirm]
/
ir
/
be
/
beschedregpress.c
diff --git
a/ir/be/beschedregpress.c
b/ir/be/beschedregpress.c
index
e86c99a
..
4c98e70
100644
(file)
--- a/
ir/be/beschedregpress.c
+++ b/
ir/be/beschedregpress.c
@@
-34,7
+34,7
@@
#include "besched.h"
#include "belistsched.h"
#include "besched.h"
#include "belistsched.h"
-#include "benode
_t
.h"
+#include "benode.h"
typedef struct _usage_stats_t {
typedef struct _usage_stats_t {
@@
-91,7
+91,7
@@
static inline usage_stats_t *get_or_set_usage_stats(reg_pressure_selector_env_t
usage_stats_t *us = get_irn_link(irn);
if(!us) {
usage_stats_t *us = get_irn_link(irn);
if(!us) {
- us =
obstack_alloc(&env->obst, sizeof(us[0])
);
+ us =
OALLOC(&env->obst, usage_stats_t
);
us->irn = irn;
us->already_consumed = 0;
us->max_hops = INT_MAX;
us->irn = irn;
us->already_consumed = 0;
us->max_hops = INT_MAX;
@@
-188,7
+188,7
@@
static inline int must_appear_in_schedule(const list_sched_selector_t *sel, void
if(sel->to_appear_in_schedule)
res = sel->to_appear_in_schedule(block_env, irn);
if(sel->to_appear_in_schedule)
res = sel->to_appear_in_schedule(block_env, irn);
- return res >= 0 ? res : (to_appear_in_schedule(irn) || be_is_Keep(irn) || be_is_CopyKeep(irn) || be_is_
RegParams
(irn));
+ return res >= 0 ? res : (to_appear_in_schedule(irn) || be_is_Keep(irn) || be_is_CopyKeep(irn) || be_is_
Start
(irn));
}
static void *reg_pressure_block_init(void *graph_env, ir_node *bl)
}
static void *reg_pressure_block_init(void *graph_env, ir_node *bl)
@@
-290,7
+290,7
@@
static ir_node *reg_pressure_select(void *block_env, ir_nodeset_t *ready_set,
Ignore branch instructions for the time being.
They should only be scheduled if there is nothing else.
*/
Ignore branch instructions for the time being.
They should only be scheduled if there is nothing else.
*/
- if (!
arch_irn_class_is(irn, branch
)) {
+ if (!
is_cfop(irn
)) {
int costs = reg_pr_costs(env, irn);
if (costs <= curr_cost) {
res = irn;
int costs = reg_pr_costs(env, irn);
if (costs <= curr_cost) {
res = irn;