From 4cea8675697151f7e8c5b30259da9ac0971ab070 Mon Sep 17 00:00:00 2001 From: Alexander Monakov Date: Fri, 20 Jan 2017 17:38:18 +0300 Subject: omp-offload: use PROP_gimple_lomp_dev * omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless of safelen status. * omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev. * passes.c (dump_properties): Handle PROP_gimple_lomp_dev. * tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev. From-SVN: r244717 --- gcc/tree-inline.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'gcc/tree-inline.c') diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index ac72039..42055bd 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -4413,6 +4413,7 @@ expand_call_inline (basic_block bb, gimple *stmt, copy_body_data *id) bool purge_dead_abnormal_edges; gcall *call_stmt; unsigned int i; + unsigned int prop_mask, src_properties; /* The gimplifier uses input_location in too many places, such as internal_get_tmp_var (). */ @@ -4617,11 +4618,13 @@ expand_call_inline (basic_block bb, gimple *stmt, copy_body_data *id) id->call_stmt = stmt; /* If the src function contains an IFN_VA_ARG, then so will the dst - function after inlining. */ - if ((id->src_cfun->curr_properties & PROP_gimple_lva) == 0) + function after inlining. Likewise for IFN_GOMP_USE_SIMT. */ + prop_mask = PROP_gimple_lva | PROP_gimple_lomp_dev; + src_properties = id->src_cfun->curr_properties & prop_mask; + if (src_properties != prop_mask) { struct function *dst_cfun = DECL_STRUCT_FUNCTION (id->dst_fn); - dst_cfun->curr_properties &= ~PROP_gimple_lva; + dst_cfun->curr_properties &= src_properties | ~prop_mask; } gcc_assert (!id->src_cfun->after_inlining); -- cgit v1.1