forked from OSchip/llvm-project
[OpenMP] Adding InaccessibleMemOnly and InaccessibleMemOrArgMemOnly for runtime calls.
Summary: Attempt to add more attributes for runtime calls. Reviewers: jdoerfertA, ggeorgakoudis, lebedev.ri, dreachem Subscribers:
This commit is contained in:
parent
3270ea9042
commit
9989b859ef
|
@ -250,17 +250,17 @@ __OMP_RTL(__last, false, Void, )
|
|||
__OMP_ATTRS_SET(GetterAttrs,
|
||||
OptimisticAttributes
|
||||
? AttributeSet(EnumAttr(NoUnwind), EnumAttr(ReadOnly),
|
||||
EnumAttr(NoSync), EnumAttr(NoFree))
|
||||
EnumAttr(NoSync), EnumAttr(NoFree), EnumAttr(InaccessibleMemOnly))
|
||||
: AttributeSet(EnumAttr(NoUnwind)))
|
||||
__OMP_ATTRS_SET(GetterArgWriteAttrs,
|
||||
OptimisticAttributes
|
||||
? AttributeSet(EnumAttr(NoUnwind), EnumAttr(NoSync),
|
||||
EnumAttr(NoFree))
|
||||
EnumAttr(NoFree), EnumAttr(InaccessibleMemOrArgMemOnly))
|
||||
: AttributeSet(EnumAttr(NoUnwind)))
|
||||
__OMP_ATTRS_SET(SetterAttrs,
|
||||
OptimisticAttributes
|
||||
? AttributeSet(EnumAttr(NoUnwind), EnumAttr(WriteOnly),
|
||||
EnumAttr(NoSync), EnumAttr(NoFree))
|
||||
EnumAttr(NoSync), EnumAttr(NoFree), EnumAttr(InaccessibleMemOnly))
|
||||
: AttributeSet(EnumAttr(NoUnwind)))
|
||||
|
||||
#undef __OMP_ATTRS_SET
|
||||
|
@ -273,10 +273,40 @@ __OMP_ATTRS_SET(SetterAttrs,
|
|||
#define __OMP_RTL_ATTRS(Name, FnAttrSet, RetAttrSet, ArgAttrSets) \
|
||||
OMP_RTL_ATTRS(OMPRTL_##Name, FnAttrSet, RetAttrSet, ArgAttrSets)
|
||||
|
||||
__OMP_RTL_ATTRS(__kmpc_barrier,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_cancel,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_cancel_barrier,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_flush,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_global_thread_num, GetterAttrs, AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_fork_call, AttributeSet(EnumAttr(NoUnwind)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_omp_taskwait,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_omp_taskyield,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_push_num_threads,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_push_proc_bind,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_serialized_parallel,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_end_serialized_parallel,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
|
||||
__OMP_RTL_ATTRS(__kmpc_global_thread_num, GetterAttrs, AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(omp_get_thread_num, GetterAttrs, AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(omp_get_num_threads, GetterAttrs, AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(omp_get_max_threads, GetterAttrs, AttributeSet(), {})
|
||||
|
@ -314,6 +344,22 @@ __OMP_RTL_ATTRS(omp_set_nested, SetterAttrs, AttributeSet(), {})
|
|||
__OMP_RTL_ATTRS(omp_set_schedule, SetterAttrs, AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(omp_set_max_active_levels, SetterAttrs, AttributeSet(), {})
|
||||
|
||||
__OMP_RTL_ATTRS(__kmpc_master,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_end_master,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_critical,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_critical_with_hint,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
__OMP_RTL_ATTRS(__kmpc_end_critical,
|
||||
AttributeSet(EnumAttr(InaccessibleMemOrArgMemOnly)),
|
||||
AttributeSet(), {})
|
||||
|
||||
#undef __OMP_RTL_ATTRS
|
||||
#undef OMP_RTL_ATTRS
|
||||
#undef AttributeSet
|
||||
|
|
Loading…
Reference in New Issue