Fix offload tests marked as XFAIL for intelgpu [tracker]
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
This is the current list of offload tests marked as XFAIL for Intel GPUs (as of 2026-05-13):
**Test Status Summary (Non-Fortran Tests Only):**
- **Total Non-Fortran Tests: 355** (out of 502 total, excluding 147 Fortran tests)
- ✅ **Passed: 228 (64.23%)**
- ⚠️ **XFAIL Total: 69 (19.44%)**
- Original XFAIL: 32 (9.01%)
- New XFAIL (converted from UNSUPPORTED): 37 (10.42%)
- 🚫 **UNSUPPORTED: 53 (14.93%)** - Excluding CUDA tests
- ⏱️ **TIMEOUT: 5 (1.41%)**
- 🚫 **N/A: 4 (1.13%)** - CUDA tests not applicable to SPIRV
**Progress:** 📈 +14 tests passing since last update (214→228)
**Impact of changes:**
- 36 tests converted from UNSUPPORTED to XFAIL
- 1 test (api/omp_device_memory.c) changed from TIMEOUT to XFAIL
- Total: 37 additional tests now properly tracked as XFAIL
## XFAIL Tests - Original (32 tests)
| # | Test Name | Issue | Notes | Status |
|:---|:----------|:------|:------|:------:|
| 1 | api/omp_device_alloc.c | | | ⚠️ XFAIL |
| 2 | api/omp_device_managed_memory_alloc.c | | Works at -O0 | ⚠️ XFAIL |
| 3 | api/omp_indirect_call.c | | function pointers are in the wrong AS | ⚠️ XFAIL |
| 4 | api/omp_indirect_func_basic.c | | | ⚠️ XFAIL |
| 5 | api/omp_virtual_func.cpp | | vtables have different AS than what __llvm_omp_indirect_call_lookup expects | ⚠️ XFAIL |
| 6 | api/omp_virtual_func_multiple_inheritance_01.cpp | | | ⚠️ XFAIL |
| 7 | api/omp_virtual_func_multiple_inheritance_02.cpp | | | ⚠️ XFAIL |
| 8 | api/omp_virtual_func_reference.cpp | | | ⚠️ XFAIL |
| 9 | jit/empty_kernel_lvl1.c | | | ⚠️ XFAIL |
| 10 | jit/empty_kernel_lvl2.c | | | ⚠️ XFAIL |
| 11 | jit/type_punning.c | | | ⚠️ XFAIL |
| 12 | mapping/declare_mapper_nested_default_mappers_1.cpp | | | ⚠️ XFAIL |
| 13 | mapping/target_uses_allocator.c | | | ⚠️ XFAIL |
| 14 | offloading/assert.cpp | | | ⚠️ XFAIL |
| 15 | offloading/bug49334.cpp | | | ⚠️ XFAIL |
| 16 | offloading/bug64959_compile_only.c | | Works at -O0 | ⚠️ XFAIL |
| 17 | offloading/complex_reduction.cpp | | | ⚠️ XFAIL |
| 18 | offloading/ctor_dtor_api.cpp | | Works at -O0 | ⚠️ XFAIL |
| 19 | offloading/ctor_dtor_lazy.cpp | | | ⚠️ XFAIL |
| 20 | offloading/cuda_no_devices.c | | | ⚠️ XFAIL |
| 21 | offloading/d2d_memcpy.c | | Works at -O0 | ⚠️ XFAIL |
| 22 | offloading/dyn_groupprivate.cpp | | | ⚠️ XFAIL |
| 23 | offloading/indirect_fp_mapping.c | | | ⚠️ XFAIL |
| 24 | offloading/ompx_bare_ballot_sync.c | | | ⚠️ XFAIL |
| 25 | offloading/ompx_bare_shfl_down_sync.cpp | | | ⚠️ XFAIL |
| 26 | offloading/ompx_saxpy_mixed.c | | | ⚠️ XFAIL |
| 27 | offloading/shared_lib_fp_mapping.c | | | ⚠️ XFAIL |
| 28 | offloading/strided_update/strided_update_count_expression_complex.c | | | ⚠️ XFAIL |
| 29 | offloading/thread_limit.c | | Test is checking for an AMD specific string. Probably change to "blocks and [12,1,1]" | ⚠️ XFAIL |
| 30 | offloading/weak.c | #182899 | Globals are optimized by SPIRV backend | ⚠️ XFAIL |
| 31 | offloading/workshare_chunk.c | | Works at -O0 | ⚠️ XFAIL |
| 32 | offloading/wtime.c | | needs readsteadycounter intrinsic support, hw support | ⚠️ XFAIL |
## XFAIL Tests - New (37 tests)
Tests converted from UNSUPPORTED to XFAIL, now properly tracked.
| # | Test Name | Status |
|:---|:----------|:------:|
| 1 | api/omp_device_memory.c | ⚠️ XFAIL |
| 2 | api/omp_host_call.c | ⚠️ XFAIL |
| 3 | libc/malloc_parallel.c | ⚠️ XFAIL |
| 4 | mapping/reduction_implicit_map.cpp | ⚠️ XFAIL |
| 5 | mapping/target_derefence_array_pointrs.cpp | ⚠️ XFAIL |
| 6 | mapping/target_has_device_addr.c | ⚠️ XFAIL |
| 7 | offloading/atomic-compare-signedness.c | ⚠️ XFAIL |
| 8 | offloading/back2back_distribute.c | ⚠️ XFAIL |
| 9 | offloading/bug49021.cpp | ⚠️ XFAIL |
| 10 | offloading/bug49779.cpp | ⚠️ XFAIL |
| 11 | offloading/bug64959.c | ⚠️ XFAIL |
| 12 | offloading/malloc.c | ⚠️ XFAIL |
| 13 | offloading/multiple_reductions.cpp | ⚠️ XFAIL |
| 14 | offloading/multiple_reductions_simple.c | ⚠️ XFAIL |
| 15 | offloading/parallel_target_teams_reduction.cpp | ⚠️ XFAIL |
| 16 | offloading/parallel_target_teams_reduction_max.cpp | ⚠️ XFAIL |
| 17 | offloading/parallel_target_teams_reduction_min.cpp | ⚠️ XFAIL |
| 18 | offloading/spmdization.c | ⚠️ XFAIL |
| 19 | offloading/std_complex_arithmetic.cpp | ⚠️ XFAIL |
| 20 | offloading/strided_update/strided_update_multidim_offset.c | ⚠️ XFAIL |
| 21 | offloading/test_libc.cpp | ⚠️ XFAIL |
| 22 | sanitizer/kernel_crash_async.c | ⚠️ XFAIL |
| 23 | sanitizer/kernel_crash.c | ⚠️ XFAIL |
| 24 | sanitizer/kernel_crash_many.c | ⚠️ XFAIL |
| 25 | sanitizer/kernel_crash_single.c | ⚠️ XFAIL |
| 26 | sanitizer/kernel_trap_async.c | ⚠️ XFAIL |
| 27 | sanitizer/kernel_trap.c | ⚠️ XFAIL |
| 28 | sanitizer/kernel_trap.cpp | ⚠️ XFAIL |
| 29 | sanitizer/kernel_trap_many.c | ⚠️ XFAIL |
| 30 | sanitizer/ptr_outside_alloc_1.c | ⚠️ XFAIL |
| 31 | sanitizer/ptr_outside_alloc_2.c | ⚠️ XFAIL |
| 32 | sanitizer/use_after_free_1.c | ⚠️ XFAIL |
| 33 | sanitizer/use_after_free_2.c | ⚠️ XFAIL |
| 34 | tools/omp-kernel-replay/record-replay-advanced.cpp | ⚠️ XFAIL |
| 35 | tools/omp-kernel-replay/record-replay-basic.cpp | ⚠️ XFAIL |
| 36 | tools/omp-kernel-replay/record-replay-diff-teams-threads.cpp | ⚠️ XFAIL |
| 37 | tools/omp-kernel-replay/record-replay-diff-threads.cpp | ⚠️ XFAIL |
## Unsupported & Timeout Tests (58 non-Fortran tests)
Tests that remain UNSUPPORTED or timeout.
| # | Test Name | Status | Reason |
|:---|:----------|:------:|:-------|
| 1 | api/amdgpu_code_object.c | 🚫 UNSUPPORTED | REQUIRES: amdgcn-amd-amdhsa |
| 2 | api/is_initial_device.c | 🚫 UNSUPPORTED | REQUIRES: x86_64-unknown-linux-gnu |
| 3 | api/omp_dynamic_shared_memory_mixed_amdgpu.c | 🚫 UNSUPPORTED | REQUIRES: amdgcn-amd-amdhsa |
| 4 | api/omp_dynamic_shared_memory_mixed_nvptx.c | 🚫 UNSUPPORTED | REQUIRES: nvptx64-nvidia-cuda |
| 5 | libc/assert.c | 🚫 UNSUPPORTED | REQUIRES: libc, gpu |
| 6 | libc/fwrite.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 7 | libc/global_ctor_dtor.cpp | 🚫 UNSUPPORTED | REQUIRES: libc |
| 8 | libc/malloc.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 9 | libc/puts.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 10 | libc/rpc_callback.cpp | 🚫 UNSUPPORTED | REQUIRES: libc, gpu |
| 11 | libc/server.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 12 | mapping/auto_zero_copy_apu.cpp | 🚫 UNSUPPORTED | REQUIRES: amdgpu, apu |
| 13 | mapping/auto_zero_copy.cpp | 🚫 UNSUPPORTED | REQUIRES: amdgpu, unified_shared_memory |
| 14 | mapping/auto_zero_copy_globals.cpp | 🚫 UNSUPPORTED | REQUIRES: amdgpu, unified_shared_memory |
| 15 | mapping/is_accessible.cpp | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 16 | mapping/lambda_mapping.cpp | 🚫 UNSUPPORTED | REQUIRES: libc |
| 17 | mapping/map_back_race.cpp | 🚫 UNSUPPORTED | UNSUPPORTED: gpu |
| 18 | mapping/map_both_pointer_pointee.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 19 | mapping/map_ordering_ptee_tgt_data_alloc_tgt_mapper_present_delete_from_to.c | 🚫 UNSUPPORTED | REQUIRES: libomptarget-debug |
| 20 | mapping/map_ptr_and_star_global.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 21 | mapping/map_ptr_and_star_local.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 22 | mapping/map_ptr_and_subscript_global.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 23 | mapping/map_ptr_and_subscript_local.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 24 | mapping/map_ptr_then_ptee_then_attach.c | 🚫 UNSUPPORTED | REQUIRES: debug |
| 25 | mapping/map_structptr_and_member_global.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 26 | mapping/map_structptr_and_member_local.c | 🚫 UNSUPPORTED | REQUIRES: libc |
| 27 | mapping/present/unified_shared_memory.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 28 | offloading/barrier_fence.c | 🚫 UNSUPPORTED | UNSUPPORTED: gpu (conflicting with REQUIRES: gpu) |
| 29 | offloading/bug51781.c | ⏱️ TIMEOUT | Test timeout |
| 30 | offloading/bug51982.c | ⏱️ TIMEOUT | Test timeout |
| 31 | offloading/d2d_memcpy_sync.c | 🚫 UNSUPPORTED | REQUIRES: amdgcn-amd-amdhsa |
| 32 | offloading/default_thread_limit.c | 🚫 UNSUPPORTED | REQUIRES: amdgpu |
| 33 | offloading/dynamic-schedule.cpp | 🚫 UNSUPPORTED | REQUIRES: amdgcn-amd-amdhsa |
| 34 | offloading/dynamic-schedule-non-spmd.cpp | 🚫 UNSUPPORTED | REQUIRES: amdgcn-amd-amdhsa |
| 35 | offloading/force-usm.cpp | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 36 | offloading/fortran/basic_array.c | 🚫 UNSUPPORTED | C file in fortran directory |
| 37 | offloading/generic_multiple_parallel_regions.c | ⏱️ TIMEOUT | Test timeout |
| 38 | offloading/gpupgo/pgo_atomic_teams.c | 🚫 UNSUPPORTED | REQUIRES: amdgpu, pgo |
| 39 | offloading/gpupgo/pgo_atomic_threads.c | 🚫 UNSUPPORTED | REQUIRES: amdgpu, pgo |
| 40 | offloading/gpupgo/pgo_device_and_host.c | 🚫 UNSUPPORTED | REQUIRES: amdgpu, pgo |
| 41 | offloading/gpupgo/pgo_device_only.c | 🚫 UNSUPPORTED | REQUIRES: amdgpu, pgo |
| 42 | offloading/schedule.c | 🚫 UNSUPPORTED | REQUIRES: amdgcn-amd-amdhsa |
| 43 | offloading/single_threaded_for_barrier_hang_1.c | 🚫 UNSUPPORTED | UNSUPPORTED: gpu |
| 44 | offloading/single_threaded_for_barrier_hang_2.c | 🚫 UNSUPPORTED | UNSUPPORTED: gpu |
| 45 | offloading/thread_state_1.c | ⏱️ TIMEOUT | Test timeout |
| 46 | offloading/thread_state_2.c | ⏱️ TIMEOUT | Test timeout |
| 47 | sanitizer/use_after_free_3.c | 🚫 UNSUPPORTED | REQUIRES: large_allocation_memory_pool |
| 48 | unified_shared_memory/api.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 49 | unified_shared_memory/associate_ptr.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 50 | unified_shared_memory/close_enter_exit.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 51 | unified_shared_memory/close_manual.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 52 | unified_shared_memory/close_member.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 53 | unified_shared_memory/close_modifier.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
| 54 | unified_shared_memory/shared_update.c | 🚫 UNSUPPORTED | REQUIRES: unified_shared_memory |
**UNSUPPORTED Test Categories:**
- **AMD/AMDGPU-specific:** 11 tests (REQUIRES: amdgpu or amdgcn-amd-amdhsa)
- **NVIDIA-specific:** 1 test (REQUIRES: nvptx64-nvidia-cuda)
- **libc requirement:** 14 tests (GPU libc support not available)
- **Unified Shared Memory:** 11 tests (Feature not supported on Intel GPUs)
- **Debug-only:** 2 tests (REQUIRES: debug or libomptarget-debug)
- **Disabled for all GPUs:** 3 tests (UNSUPPORTED: gpu)
- **Other requirements:** 4 tests (x86_64 host, pgo, large memory pool)
- **Timeout:** 5 tests
**Note:** Fortran tests (*.f90) are not included in these tables. 147 Fortran tests are UNSUPPORTED and excluded from all counts.
---
## Recently Fixed Tests (no longer XFAIL)
- ✅ api/omp_indirect_call_table_manual.c (#192502)
- ✅ api/omp_indirect_func_array.c (#192502)
- ✅ api/omp_indirect_func_struct.c (#192502)
- ✅ offloading/ctor_dtor.cpp
- ✅ offloading/interop-print.c
- ✅ offloading/ompx_coords.c (#192450)
## Tests Not Applicable to SPIRV
- 🚫 offloading/CUDA/basic_launch.cu
- 🚫 offloading/CUDA/basic_launch_blocks_and_threads.cu
- 🚫 offloading/CUDA/basic_launch_multi_arg.cu
- 🚫 offloading/CUDA/launch_tu.cu
Contributor guide
Assessment
This issue has not been assessed yet.