* tree-eh.c (mark_reachable_handlers): Mark source and destination
regions of __builtin_eh_copy_values.
Imported from upstream:
git:
9eb0aee3084022e939d2f32f8c2c26609b139704
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220626
138bc75d-0d04-0410-961f-
82ee72b054a4
Signed-off-by: Slava Barinov <v.barinov@samsung.com>
Change-Id: I41209d06c5a245f42ff82c016dce37d2ffcc6f2a
case GIMPLE_EH_DISPATCH:
bitmap_set_bit (r_reachable, gimple_eh_dispatch_region (stmt));
break;
+ case GIMPLE_CALL:
+ if (gimple_call_builtin_p (stmt, BUILT_IN_EH_COPY_VALUES))
+ for (int i = 0; i < 2; ++i)
+ {
+ tree rt = gimple_call_arg (stmt, i);
+ HOST_WIDE_INT ri = tree_to_shwi (rt);
+
+ gcc_assert (ri = (int)ri);
+ bitmap_set_bit (r_reachable, ri);
+ }
+ break;
default:
break;
}