summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJonas Haag <jonas@lophus.org>2016-01-15 18:51:22 +0100
committerPhilipp Serrer <philipp@serrer.de>2018-01-18 18:08:17 +0100
commitfc58fb9b8f4c9e47aa27aa5a6b480104797155c5 (patch)
tree82e24df31df21e75bca2aa81af2680bf3bfabb59
parent5b11f14f77192ac0f70c0ca4bdd19ab874263fbf (diff)
HACK: Fix sparc stack bias
-rw-r--r--ir/be/bestack.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ir/be/bestack.c b/ir/be/bestack.c
index c06a892..8d246b6 100644
--- a/ir/be/bestack.c
+++ b/ir/be/bestack.c
@@ -81,6 +81,11 @@ static void process_stack_bias(sp_sim_func const sim, ir_node *const block,
/* Continue at our control flow successors. */
foreach_block_succ(block, edge) {
ir_node *succ = get_edge_src_irn(edge);
+
+ /* XXX HACK, this should be treated with 7a92bdea4edfe16c6a8e22aab0d92a8a34b03b05 as well */
+ if ((succ == get_irg_end_block(get_irn_irg(block)) && is_x_except_branch(get_irn_in(succ)[edge->pos])))
+ continue;
+
process_stack_bias(sim, succ, p2align, misalign,
state.offset, state.align_padding);
}