Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Zwinkau
libfirm
Commits
e8cf3d72
Commit
e8cf3d72
authored
Sep 27, 2011
by
Matthias Braun
Browse files
sparc: attempt to fix stack alignment/address for omit-fp again
parent
3468a2de
Changes
1
Hide whitespace changes
Inline
Side-by-side
ir/be/sparc/sparc_stackframe.c
View file @
e8cf3d72
...
...
@@ -65,7 +65,7 @@ static void process_bias(ir_node *block, bool sp_relative, int bias,
if
(
entity
!=
NULL
)
{
int
offset
=
get_entity_offset
(
entity
);
if
(
sp_relative
)
offset
+=
bias
;
offset
+=
bias
+
SPARC_MIN_STACKSIZE
;
arch_set_frame_offset
(
irn
,
offset
);
}
...
...
@@ -89,6 +89,12 @@ static void process_bias(ir_node *block, bool sp_relative, int bias,
}
}
#ifndef NDEBUG
if
(
block
==
get_irg_end_block
(
get_irn_irg
(
block
)))
{
assert
(
bias
==
0
);
}
#endif
/* continue at the successor blocks */
foreach_block_succ
(
block
,
edge
)
{
ir_node
*
succ
=
get_edge_src_irn
(
edge
);
...
...
@@ -311,7 +317,6 @@ static void process_frame_types(ir_graph *irg)
void
sparc_fix_stack_bias
(
ir_graph
*
irg
)
{
int
initial_bias
;
bool
sp_relative
=
be_get_irg_stack_layout
(
irg
)
->
sp_relative
;
ir_node
*
start_block
=
get_irg_start_block
(
irg
);
...
...
@@ -320,9 +325,6 @@ void sparc_fix_stack_bias(ir_graph *irg)
ir_reserve_resources
(
irg
,
IR_RESOURCE_BLOCK_VISITED
);
inc_irg_block_visited
(
irg
);
initial_bias
=
0
;
if
(
sp_relative
)
initial_bias
=
SPARC_MIN_STACKSIZE
;
process_bias
(
start_block
,
sp_relative
,
initial_bias
,
0
);
process_bias
(
start_block
,
sp_relative
,
0
,
0
);
ir_free_resources
(
irg
,
IR_RESOURCE_BLOCK_VISITED
);
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment