Fix for KMP_AFFINITY=respect with multiple processor groups

An assert() was being tripped when KMP_AFFINITY=respect + Multiple Processor
Groups. Let __kmp_affinity_create_proc_group_map() function be able to create
address2os object which contains a single group by deleting restriction that
process affinity mask must span multiple groups.

llvm-svn: 303101
This commit is contained in:
Jonathan Peyton 2017-05-15 19:05:59 +00:00
parent 6e7a212748
commit 586849918b
1 changed files with 2 additions and 3 deletions

View File

@ -682,10 +682,9 @@ static int __kmp_affinity_create_proc_group_map(AddrUnsPair **address2os,
*address2os = NULL;
*msg_id = kmp_i18n_null;
// If we don't have multiple processor groups, return now.
// If we aren't affinity capable, then return now.
// The flat mapping will be used.
if ((!KMP_AFFINITY_CAPABLE()) ||
(__kmp_get_proc_group(__kmp_affin_fullMask) >= 0)) {
if (!KMP_AFFINITY_CAPABLE()) {
// FIXME set *msg_id
return -1;
}