From 54f21e20a8888ed9862f57194c1270949c9b7ac8 Mon Sep 17 00:00:00 2001 From: ebotcazou Date: Sat, 26 Mar 2011 13:03:46 +0000 Subject: * basic-block.h (fixup_abnormal_edges): Adjust prototype. * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover basic blocks and call commit_edge_insertions directly. (fixup_abnormal_edges): Move from here to... * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions on the edges and return whether some have actually been inserted. * reg-stack.c (convert_regs): Fix up abnormal edges before inserting compensation code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171556 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/reg-stack.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/reg-stack.c') diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 62a82fcb754..60835c75528 100644 --- a/gcc/reg-stack.c +++ b/gcc/reg-stack.c @@ -3150,11 +3150,14 @@ convert_regs (void) cfg_altered |= convert_regs_2 (b); } + /* We must fix up abnormal edges before inserting compensation code + because both mechanisms insert insns on edges. */ + inserted |= fixup_abnormal_edges (); + inserted |= compensate_edges (); clear_aux_for_blocks (); - fixup_abnormal_edges (); if (inserted) commit_edge_insertions (); -- cgit v1.2.1