Lines Matching refs:al
1386 kmp_allocator_t *al; in __kmpc_init_allocator() local
1388 al = (kmp_allocator_t *)__kmp_allocate(sizeof(kmp_allocator_t)); // zeroed in __kmpc_init_allocator()
1389 al->memspace = ms; // not used currently in __kmpc_init_allocator()
1396 al->pinned = true; in __kmpc_init_allocator()
1399 __kmp_type_convert(traits[i].value, &(al->alignment)); in __kmpc_init_allocator()
1400 KMP_ASSERT(IS_POWER_OF_TWO(al->alignment)); in __kmpc_init_allocator()
1403 al->pool_size = traits[i].value; in __kmpc_init_allocator()
1406 al->fb = (omp_alloctrait_value_t)traits[i].value; in __kmpc_init_allocator()
1408 al->fb == omp_atv_default_mem_fb || al->fb == omp_atv_null_fb || in __kmpc_init_allocator()
1409 al->fb == omp_atv_abort_fb || al->fb == omp_atv_allocator_fb); in __kmpc_init_allocator()
1412 al->fb_data = RCAST(kmp_allocator_t *, traits[i].value); in __kmpc_init_allocator()
1415 al->memkind = RCAST(void **, traits[i].value); in __kmpc_init_allocator()
1421 if (al->fb == 0) { in __kmpc_init_allocator()
1423 al->fb = omp_atv_default_mem_fb; in __kmpc_init_allocator()
1424 al->fb_data = (kmp_allocator_t *)omp_default_mem_alloc; in __kmpc_init_allocator()
1425 } else if (al->fb == omp_atv_allocator_fb) { in __kmpc_init_allocator()
1426 KMP_ASSERT(al->fb_data != NULL); in __kmpc_init_allocator()
1427 } else if (al->fb == omp_atv_default_mem_fb) { in __kmpc_init_allocator()
1428 al->fb_data = (kmp_allocator_t *)omp_default_mem_alloc; in __kmpc_init_allocator()
1433 if (al->memkind == (void *)omp_atv_interleaved && mk_hbw_interleave) { in __kmpc_init_allocator()
1434 al->memkind = mk_hbw_interleave; in __kmpc_init_allocator()
1441 al->memkind = mk_hbw_preferred; in __kmpc_init_allocator()
1444 __kmp_free(al); in __kmpc_init_allocator()
1450 al->memkind = mk_dax_kmem_all; in __kmpc_init_allocator()
1453 al->memkind = mk_dax_kmem; in __kmpc_init_allocator()
1455 __kmp_free(al); in __kmpc_init_allocator()
1459 if (al->memkind == (void *)omp_atv_interleaved && mk_interleave) { in __kmpc_init_allocator()
1460 al->memkind = mk_interleave; in __kmpc_init_allocator()
1462 al->memkind = mk_default; in __kmpc_init_allocator()
1466 __kmp_free(al); in __kmpc_init_allocator()
1471 __kmp_free(al); in __kmpc_init_allocator()
1475 return (omp_allocator_handle_t)al; in __kmpc_init_allocator()
1549 kmp_allocator_t *al; in __kmp_alloc() local
1558 al = RCAST(kmp_allocator_t *, allocator); in __kmp_alloc()
1566 if (allocator > kmp_max_mem_alloc && al->alignment > align) in __kmp_alloc()
1567 align = al->alignment; // alignment required by allocator trait in __kmp_alloc()
1574 is_pinned = al->pinned; in __kmp_alloc()
1597 if (allocator >= kmp_max_mem_alloc && KMP_IS_TARGET_MEM_SPACE(al->memspace)) { in __kmp_alloc()
1601 if (al->memspace == llvm_omp_target_host_mem_space) in __kmp_alloc()
1603 else if (al->memspace == llvm_omp_target_shared_mem_space) in __kmp_alloc()
1623 } else if (al->pool_size > 0) { in __kmp_alloc()
1626 KMP_TEST_THEN_ADD64((kmp_int64 *)&al->pool_used, desc.size_a); in __kmp_alloc()
1627 if (used + desc.size_a > al->pool_size) { in __kmp_alloc()
1629 KMP_TEST_THEN_ADD64((kmp_int64 *)&al->pool_used, -desc.size_a); in __kmp_alloc()
1630 if (al->fb == omp_atv_default_mem_fb) { in __kmp_alloc()
1631 al = (kmp_allocator_t *)omp_default_mem_alloc; in __kmp_alloc()
1633 } else if (al->fb == omp_atv_abort_fb) { in __kmp_alloc()
1635 } else if (al->fb == omp_atv_allocator_fb) { in __kmp_alloc()
1636 KMP_ASSERT(al != al->fb_data); in __kmp_alloc()
1637 al = al->fb_data; in __kmp_alloc()
1638 ptr = __kmp_alloc(gtid, algn, size, (omp_allocator_handle_t)al); in __kmp_alloc()
1645 ptr = kmp_mk_alloc(*al->memkind, desc.size_a); in __kmp_alloc()
1647 if (al->fb == omp_atv_default_mem_fb) { in __kmp_alloc()
1648 al = (kmp_allocator_t *)omp_default_mem_alloc; in __kmp_alloc()
1650 } else if (al->fb == omp_atv_abort_fb) { in __kmp_alloc()
1652 } else if (al->fb == omp_atv_allocator_fb) { in __kmp_alloc()
1653 KMP_ASSERT(al != al->fb_data); in __kmp_alloc()
1654 al = al->fb_data; in __kmp_alloc()
1655 ptr = __kmp_alloc(gtid, algn, size, (omp_allocator_handle_t)al); in __kmp_alloc()
1664 ptr = kmp_mk_alloc(*al->memkind, desc.size_a); in __kmp_alloc()
1666 if (al->fb == omp_atv_default_mem_fb) { in __kmp_alloc()
1667 al = (kmp_allocator_t *)omp_default_mem_alloc; in __kmp_alloc()
1669 } else if (al->fb == omp_atv_abort_fb) { in __kmp_alloc()
1671 } else if (al->fb == omp_atv_allocator_fb) { in __kmp_alloc()
1672 KMP_ASSERT(al != al->fb_data); in __kmp_alloc()
1673 al = al->fb_data; in __kmp_alloc()
1674 ptr = __kmp_alloc(gtid, algn, size, (omp_allocator_handle_t)al); in __kmp_alloc()
1704 } else if (al->pool_size > 0) { in __kmp_alloc()
1707 KMP_TEST_THEN_ADD64((kmp_int64 *)&al->pool_used, desc.size_a); in __kmp_alloc()
1708 if (used + desc.size_a > al->pool_size) { in __kmp_alloc()
1710 KMP_TEST_THEN_ADD64((kmp_int64 *)&al->pool_used, -desc.size_a); in __kmp_alloc()
1711 if (al->fb == omp_atv_default_mem_fb) { in __kmp_alloc()
1712 al = (kmp_allocator_t *)omp_default_mem_alloc; in __kmp_alloc()
1714 } else if (al->fb == omp_atv_abort_fb) { in __kmp_alloc()
1716 } else if (al->fb == omp_atv_allocator_fb) { in __kmp_alloc()
1717 KMP_ASSERT(al != al->fb_data); in __kmp_alloc()
1718 al = al->fb_data; in __kmp_alloc()
1719 ptr = __kmp_alloc(gtid, algn, size, (omp_allocator_handle_t)al); in __kmp_alloc()
1727 if (ptr == NULL && al->fb == omp_atv_abort_fb) { in __kmp_alloc()
1734 if (ptr == NULL && al->fb == omp_atv_abort_fb) { in __kmp_alloc()
1751 desc.allocator = al; in __kmp_alloc()
1761 kmp_allocator_t *al; in __kmp_calloc() local
1767 al = RCAST(kmp_allocator_t *, allocator); in __kmp_calloc()
1773 if (al->fb == omp_atv_abort_fb) { in __kmp_calloc()
1828 kmp_allocator_t *al; in ___kmpc_free() local
1830 al = RCAST(kmp_allocator_t *, CCAST(omp_allocator_handle_t, allocator)); in ___kmpc_free()
1836 KMP_IS_TARGET_MEM_SPACE(al->memspace)))) { in ___kmpc_free()
1855 KMP_DEBUG_ASSERT(desc.allocator == al || desc.allocator == al->fb_data); in ___kmpc_free()
1857 al = desc.allocator; in ___kmpc_free()
1858 oal = (omp_allocator_handle_t)al; // cast to void* for comparisons in ___kmpc_free()
1859 KMP_DEBUG_ASSERT(al); in ___kmpc_free()
1861 if (allocator > kmp_max_mem_alloc && kmp_target_unlock_mem && al->pinned) { in ___kmpc_free()
1878 if (al->pool_size > 0) { // custom allocator with pool size requested in ___kmpc_free()
1880 KMP_TEST_THEN_ADD64((kmp_int64 *)&al->pool_used, -desc.size_a); in ___kmpc_free()
1884 kmp_mk_free(*al->memkind, desc.ptr_alloc); in ___kmpc_free()
1887 if (oal > kmp_max_mem_alloc && al->pool_size > 0) { in ___kmpc_free()
1889 KMP_TEST_THEN_ADD64((kmp_int64 *)&al->pool_used, -desc.size_a); in ___kmpc_free()