aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 5a74e82613b..7e9947f6f7e 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -4943,6 +4943,10 @@ gimple_move_block_after (basic_block bb, basic_block after)
static bool
gimple_can_duplicate_bb_p (const_basic_block bb ATTRIBUTE_UNUSED)
{
+ gimple_seq_node last = gimple_seq_last (bb_seq (bb));
+ /* We cannot duplicate GIMPLE_RESXs due to expander limitations. */
+ if (last && gimple_code (last->stmt) == GIMPLE_RESX)
+ return false;
return true;
}