diff options
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index b91af8e..52ac211 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -1516,9 +1516,12 @@ expand_gimple_basic_block (basic_block bb) /* For the benefit of calls.c, converting all this to rtl, we need to record the call expression, not just the outer modify statement. */ - if (call && call != stmt - && (region = lookup_stmt_eh_region (stmt)) > 0) - add_stmt_to_eh_region (call, region); + if (call && call != stmt) + { + if ((region = lookup_stmt_eh_region (stmt)) > 0) + add_stmt_to_eh_region (call, region); + gimple_duplicate_stmt_histograms (cfun, call, cfun, stmt); + } if (call && CALL_EXPR_TAILCALL (call)) { bool can_fallthru; |