It seems load of traits.addr should be passed in runtime call. Currently
the load of load traits.addr gets passed cause runtime to fail.
To fix this, skip the call to EmitLoadOfScalar for extra load.
Paths
| Differential D151576
Fix runtime crash inside __kmpc_init_allocator ClosedPublic Authored by jyu2 on May 26 2023, 11:24 AM.
Details Summary It seems load of traits.addr should be passed in runtime call. Currently To fix this, skip the call to EmitLoadOfScalar for extra load.
Diff Detail
Event TimelineHerald added subscribers: openmp-commits, cfe-commits, jplehr, sstefan1. · View Herald TranscriptMay 26 2023, 11:24 AM This revision is now accepted and ready to land.May 26 2023, 11:27 AM This revision was landed with ongoing or failed builds.May 26 2023, 4:06 PM Closed by commit rGa419ec4f256d: Fix runtime crash inside __kmpc_init_allocator (authored by jyu2). · Explain Why This revision was automatically updated to reflect the committed changes. Comment Actions observing failure in our amdgpu buildbot , 3 tests 7: tgt_target_table *tgt_rtl_load_binary(int32_t, __tgt_device_image *): Assertion `Table != nullptr && "Invalid table"' failed. if you have a quick fix, please apply, otherwise please revert and fix. also , i see you marked one test unsupported, but it seems like it should be reported. also i see two additional failures libomptarget :: amdgcn-amd-amdhsa :: jit/empty_kernel_lvl1.c libomptarget :: amdgcn-amd-amdhsa :: jit/empty_kernel_lvl2.c Comment Actions i think the extra two failures are not related to you patch. so ignore comment about these
Revision Contents
Diff 526137 clang/lib/CodeGen/CGOpenMPRuntime.cpp
clang/test/OpenMP/target_parallel_for_simd_uses_allocators_codegen.cpp
clang/test/OpenMP/target_parallel_for_uses_allocators_codegen.cpp
clang/test/OpenMP/target_parallel_uses_allocators_codegen.cpp
clang/test/OpenMP/target_simd_uses_allocators_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_uses_allocators_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_uses_allocators_codegen.cpp
clang/test/OpenMP/target_teams_distribute_simd_uses_allocators_codegen.cpp
clang/test/OpenMP/target_teams_distribute_uses_allocators_codegen.cpp
clang/test/OpenMP/target_teams_uses_allocators_codegen.cpp
clang/test/OpenMP/target_uses_allocators.c
clang/test/OpenMP/target_uses_allocators_codegen.cpp
openmp/libomptarget/test/mapping/target_uses_allocator.c
|