[PATCH] D85544: [OpenMPOpt] ICV tracking for calls
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 19 22:00:54 PDT 2020
jdoerfert reopened this revision.
jdoerfert added a comment.
This revision is now accepted and ready to land.
I'll revert this one in a second as it breaks some codes (at least on power).
The reason is that this extended the Attributor scope to the module slice. The Attributor thinks all of this is the SCC and when it tries to remove a function we see an assertion (as the function is actually not in the SCC).
The fix is to teach the Attributor about the module slice properly. Maybe in a pre-commit. For now we just revert this to unblock the build.
Here is the reproducer we should include in the OpenMP tests as well:
define internal fastcc void @"_omp$reduction$reduction_func14"() unnamed_addr {
%call = call i8 @_ZStplIdESt7complexIT_ERKS2_S4_()
ret void
}
define linkonce_odr hidden i8 @_ZStplIdESt7complexIT_ERKS2_S4_() local_unnamed_addr {
ret i8 undef
}
declare void @__omp_offloading_2b_4010cad__ZN11qmcplusplus7ompBLAS17gemv_batched_implIfEEiRiciiPKT_PKS5_iS7_iS5_PKPS3_ii_l148(i64, i64, i64, float**, float**, i64, float**, float*, float*, i64) local_unnamed_addr
declare dso_local fastcc void @__kmpc_for_static_init_8u() unnamed_addr
!nvvm.annotations = !{!0}
!0 = !{void (i64, i64, i64, float**, float**, i64, float**, float*, float*, i64)* @__omp_offloading_2b_4010cad__ZN11qmcplusplus7ompBLAS17gemv_batched_implIfEEiRiciiPKT_PKS5_iS7_iS5_PKPS3_ii_l148, !"kernel", i32 1}
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D85544/new/
https://reviews.llvm.org/D85544
More information about the llvm-commits
mailing list