projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
API change: lower_intrinsics() uses size_t for length now.
[libfirm]
/
ir
/
be
/
sparc
/
sparc_emitter.c
diff --git
a/ir/be/sparc/sparc_emitter.c
b/ir/be/sparc/sparc_emitter.c
index
cd28c76
..
ac2bb1d
100644
(file)
--- a/
ir/be/sparc/sparc_emitter.c
+++ b/
ir/be/sparc/sparc_emitter.c
@@
-332,7
+332,7
@@
void sparc_emit_fp_mode_suffix(const ir_node *node)
static ir_node *get_jump_target(const ir_node *jump)
{
static ir_node *get_jump_target(const ir_node *jump)
{
- return get_irn_link(jump);
+ return
(ir_node*)
get_irn_link(jump);
}
/**
}
/**
@@
-352,7
+352,7
@@
static int get_sparc_Call_dest_addr_pos(const ir_node *node)
static bool ba_is_fallthrough(const ir_node *node)
{
ir_node *block = get_nodes_block(node);
static bool ba_is_fallthrough(const ir_node *node)
{
ir_node *block = get_nodes_block(node);
- ir_node *next_block = get_irn_link(block);
+ ir_node *next_block =
(ir_node*)
get_irn_link(block);
return get_irn_link(node) == next_block;
}
return get_irn_link(node) == next_block;
}
@@
-439,7
+439,7
@@
static const ir_node *pick_delay_slot_for(const ir_node *node)
for (i = 0; i < arity; ++i) {
ir_node *in = get_irn_n(node, i);
const arch_register_t *reg = arch_get_irn_register(in);
for (i = 0; i < arity; ++i) {
ir_node *in = get_irn_n(node, i);
const arch_register_t *reg = arch_get_irn_register(in);
- if (reg == &sparc_
gp_reg
s[REG_O7]) {
+ if (reg == &sparc_
register
s[REG_O7]) {
check = skip_Proj(in);
break;
}
check = skip_Proj(in);
break;
}
@@
-451,9
+451,6
@@
static const ir_node *pick_delay_slot_for(const ir_node *node)
while (sched_has_prev(schedpoint)) {
schedpoint = sched_prev(schedpoint);
while (sched_has_prev(schedpoint)) {
schedpoint = sched_prev(schedpoint);
- if (tries++ >= PICK_DELAY_SLOT_MAX_DISTANCE)
- break;
-
if (has_delay_slot(schedpoint))
break;
if (has_delay_slot(schedpoint))
break;
@@
-461,6
+458,9
@@
static const ir_node *pick_delay_slot_for(const ir_node *node)
if (is_no_instruction(schedpoint))
continue;
if (is_no_instruction(schedpoint))
continue;
+ if (tries++ >= PICK_DELAY_SLOT_MAX_DISTANCE)
+ break;
+
if (emits_multiple_instructions(schedpoint))
continue;
if (emits_multiple_instructions(schedpoint))
continue;
@@
-801,7
+801,7
@@
static void emit_sparc_branch(const ir_node *node, get_cc_func get_cc)
block = get_nodes_block(node);
/* we have a block schedule */
block = get_nodes_block(node);
/* we have a block schedule */
- next_block = get_irn_link(block);
+ next_block =
(ir_node*)
get_irn_link(block);
if (get_irn_link(proj_true) == next_block) {
/* exchange both proj's so the second one can be omitted */
if (get_irn_link(proj_true) == next_block) {
/* exchange both proj's so the second one can be omitted */