diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2011-03-26 13:03:46 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2011-03-26 13:03:46 +0000 |
commit | ba5e9aca8690bcb5ff4e353dc2738050ab3d9fd0 (patch) | |
tree | d62fdb4e2bf55596cf3feea95658385026ca7c2f /gcc/reg-stack.c | |
parent | 5d369d583699112c7339f1f5555bd592f6fed70c (diff) | |
download | gcc-ba5e9aca8690bcb5ff4e353dc2738050ab3d9fd0.zip gcc-ba5e9aca8690bcb5ff4e353dc2738050ab3d9fd0.tar.gz gcc-ba5e9aca8690bcb5ff4e353dc2738050ab3d9fd0.tar.bz2 |
basic-block.h (fixup_abnormal_edges): Adjust prototype.
* 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.
From-SVN: r171556
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c index 62a82fc..60835c7 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 (); |