[llvm] [OpenMP] Remove usage of pointer-to-member in lookup (PR #123671)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 20 18:39:36 PST 2025
================
@@ -158,63 +158,61 @@ struct DateEnvironmentRAII {
/// TODO
void resetStateForThread(uint32_t TId);
-inline uint32_t &lookupForModify32Impl(uint32_t state::ICVStateTy::*Var,
- IdentTy *Ident, bool ForceTeamState) {
- if (OMP_LIKELY(ForceTeamState || !config::mayUseThreadStates() ||
- !TeamState.HasThreadState))
- return TeamState.ICVState.*Var;
- uint32_t TId = mapping::getThreadIdInBlock();
- if (OMP_UNLIKELY(!ThreadStates[TId])) {
- ThreadStates[TId] = reinterpret_cast<ThreadStateTy *>(memory::allocGlobal(
- sizeof(ThreadStateTy), "ICV modification outside data environment"));
- ASSERT(ThreadStates[TId] != nullptr, "Nullptr returned by malloc!");
- TeamState.HasThreadState = true;
- ThreadStates[TId]->init();
+// FIXME: https://github.com/llvm/llvm-project/issues/123241.
+#define lookupForModify32Impl(Member, Ident, ForceTeamState) \
----------------
arsenm wrote:
Why not just make the function return a pointer instead of a reference
https://github.com/llvm/llvm-project/pull/123671
More information about the llvm-commits
mailing list