Upgrade our copies of clang, llvm, lld, lldb, compiler-rt, libc++,
libunwind and openmp to the upstream release_80 branch r364487 (effectively, 8.0.1 rc3). The 8.0.1 release will most likely have no further changes. MFC after: 1 week X-MFC-With: r349004
This commit is contained in:
parent
0cab71bcee
6dcbd4ab23
90579156da
a556a0efb1
d94942eacd
92d50def1e
28cb8d7d18
ac6ac67b2a
687a64222b
commit
ec38f4f941
@ -234,6 +234,31 @@ int DwarfInstructions<A, R>::stepWithDwarf(A &addressSpace, pint_t pc,
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(_LIBUNWIND_TARGET_PPC64)
|
||||
#define PPC64_ELFV1_R2_LOAD_INST_ENCODING 0xe8410028u // ld r2,40(r1)
|
||||
#define PPC64_ELFV1_R2_OFFSET 40
|
||||
#define PPC64_ELFV2_R2_LOAD_INST_ENCODING 0xe8410018u // ld r2,24(r1)
|
||||
#define PPC64_ELFV2_R2_OFFSET 24
|
||||
// If the instruction at return address is a TOC (r2) restore,
|
||||
// then r2 was saved and needs to be restored.
|
||||
// ELFv2 ABI specifies that the TOC Pointer must be saved at SP + 24,
|
||||
// while in ELFv1 ABI it is saved at SP + 40.
|
||||
if (R::getArch() == REGISTERS_PPC64 && returnAddress != 0) {
|
||||
pint_t sp = newRegisters.getRegister(UNW_REG_SP);
|
||||
pint_t r2 = 0;
|
||||
switch (addressSpace.get32(returnAddress)) {
|
||||
case PPC64_ELFV1_R2_LOAD_INST_ENCODING:
|
||||
r2 = addressSpace.get64(sp + PPC64_ELFV1_R2_OFFSET);
|
||||
break;
|
||||
case PPC64_ELFV2_R2_LOAD_INST_ENCODING:
|
||||
r2 = addressSpace.get64(sp + PPC64_ELFV2_R2_OFFSET);
|
||||
break;
|
||||
}
|
||||
if (r2)
|
||||
newRegisters.setRegister(UNW_PPC64_R2, r2);
|
||||
}
|
||||
#endif
|
||||
|
||||
// Return address is address after call site instruction, so setting IP to
|
||||
// that does simualates a return.
|
||||
newRegisters.setIP(returnAddress);
|
||||
|
@ -35,6 +35,20 @@
|
||||
#define SEPARATOR ;
|
||||
#endif
|
||||
|
||||
#if defined(__powerpc64__) && (!defined(_CALL_ELF) || _CALL_ELF == 1)
|
||||
#define PPC64_OPD1 .section .opd,"aw",@progbits SEPARATOR
|
||||
#define PPC64_OPD2 SEPARATOR \
|
||||
.p2align 3 SEPARATOR \
|
||||
.quad .Lfunc_begin0 SEPARATOR \
|
||||
.quad .TOC.@tocbase SEPARATOR \
|
||||
.quad 0 SEPARATOR \
|
||||
.text SEPARATOR \
|
||||
.Lfunc_begin0:
|
||||
#else
|
||||
#define PPC64_OPD1
|
||||
#define PPC64_OPD2
|
||||
#endif
|
||||
|
||||
#define GLUE2(a, b) a ## b
|
||||
#define GLUE(a, b) GLUE2(a, b)
|
||||
#define SYMBOL_NAME(name) GLUE(__USER_LABEL_PREFIX__, name)
|
||||
@ -95,7 +109,9 @@
|
||||
.globl SYMBOL_NAME(name) SEPARATOR \
|
||||
EXPORT_SYMBOL(name) SEPARATOR \
|
||||
SYMBOL_IS_FUNC(SYMBOL_NAME(name)) SEPARATOR \
|
||||
SYMBOL_NAME(name):
|
||||
PPC64_OPD1 \
|
||||
SYMBOL_NAME(name): \
|
||||
PPC64_OPD2
|
||||
|
||||
#define DEFINE_LIBUNWIND_PRIVATE_FUNCTION(name) \
|
||||
.globl SYMBOL_NAME(name) SEPARATOR \
|
||||
|
@ -1937,8 +1937,9 @@ void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T, Qualifiers,
|
||||
// ::= _M # unsigned __int128
|
||||
// ::= _N # bool
|
||||
// _O # <array in parameter>
|
||||
// ::= _T # __float80 (Intel)
|
||||
// ::= _Q # char8_t
|
||||
// ::= _S # char16_t
|
||||
// ::= _T # __float80 (Intel)
|
||||
// ::= _U # char32_t
|
||||
// ::= _W # wchar_t
|
||||
// ::= _Z # __float80 (Digital Mars)
|
||||
@ -1999,6 +2000,9 @@ void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T, Qualifiers,
|
||||
case BuiltinType::Bool:
|
||||
Out << "_N";
|
||||
break;
|
||||
case BuiltinType::Char8:
|
||||
Out << "_Q";
|
||||
break;
|
||||
case BuiltinType::Char16:
|
||||
Out << "_S";
|
||||
break;
|
||||
@ -2094,7 +2098,6 @@ void MicrosoftCXXNameMangler::mangleType(const BuiltinType *T, Qualifiers,
|
||||
case BuiltinType::SatUShortFract:
|
||||
case BuiltinType::SatUFract:
|
||||
case BuiltinType::SatULongFract:
|
||||
case BuiltinType::Char8:
|
||||
case BuiltinType::Float128: {
|
||||
DiagnosticsEngine &Diags = Context.getDiags();
|
||||
unsigned DiagID = Diags.getCustomDiagID(
|
||||
|
@ -1817,32 +1817,24 @@ CGDebugInfo::CollectFunctionTemplateParams(const FunctionDecl *FD,
|
||||
}
|
||||
|
||||
llvm::DINodeArray CGDebugInfo::CollectVarTemplateParams(const VarDecl *VL,
|
||||
llvm::DIFile *Unit) {
|
||||
if (auto *TS = dyn_cast<VarTemplateSpecializationDecl>(VL)) {
|
||||
auto T = TS->getSpecializedTemplateOrPartial();
|
||||
auto TA = TS->getTemplateArgs().asArray();
|
||||
// Collect parameters for a partial specialization
|
||||
if (T.is<VarTemplatePartialSpecializationDecl *>()) {
|
||||
const TemplateParameterList *TList =
|
||||
T.get<VarTemplatePartialSpecializationDecl *>()
|
||||
->getTemplateParameters();
|
||||
return CollectTemplateParams(TList, TA, Unit);
|
||||
}
|
||||
|
||||
// Collect parameters for an explicit specialization
|
||||
if (T.is<VarTemplateDecl *>()) {
|
||||
const TemplateParameterList *TList = T.get<VarTemplateDecl *>()
|
||||
->getTemplateParameters();
|
||||
return CollectTemplateParams(TList, TA, Unit);
|
||||
}
|
||||
}
|
||||
return llvm::DINodeArray();
|
||||
llvm::DIFile *Unit) {
|
||||
// Always get the full list of parameters, not just the ones from the
|
||||
// specialization. A partial specialization may have fewer parameters than
|
||||
// there are arguments.
|
||||
auto *TS = dyn_cast<VarTemplateSpecializationDecl>(VL);
|
||||
if (!TS)
|
||||
return llvm::DINodeArray();
|
||||
VarTemplateDecl *T = TS->getSpecializedTemplate();
|
||||
const TemplateParameterList *TList = T->getTemplateParameters();
|
||||
auto TA = TS->getTemplateArgs().asArray();
|
||||
return CollectTemplateParams(TList, TA, Unit);
|
||||
}
|
||||
|
||||
llvm::DINodeArray CGDebugInfo::CollectCXXTemplateParams(
|
||||
const ClassTemplateSpecializationDecl *TSpecial, llvm::DIFile *Unit) {
|
||||
// Always get the full list of parameters, not just the ones from
|
||||
// the specialization.
|
||||
// Always get the full list of parameters, not just the ones from the
|
||||
// specialization. A partial specialization may have fewer parameters than
|
||||
// there are arguments.
|
||||
TemplateParameterList *TPList =
|
||||
TSpecial->getSpecializedTemplate()->getTemplateParameters();
|
||||
const TemplateArgumentList &TAList = TSpecial->getTemplateArgs();
|
||||
|
@ -117,7 +117,7 @@ ppc::ReadGOTPtrMode ppc::getPPCReadGOTPtrMode(const Driver &D, const llvm::Tripl
|
||||
if (Args.getLastArg(options::OPT_msecure_plt))
|
||||
return ppc::ReadGOTPtrMode::SecurePlt;
|
||||
if ((Triple.isOSFreeBSD() && Triple.getOSMajorVersion() >= 13) ||
|
||||
Triple.isOSOpenBSD())
|
||||
Triple.isOSNetBSD() || Triple.isOSOpenBSD())
|
||||
return ppc::ReadGOTPtrMode::SecurePlt;
|
||||
else
|
||||
return ppc::ReadGOTPtrMode::Bss;
|
||||
|
@ -757,7 +757,10 @@ bool PPC64::needsThunk(RelExpr Expr, RelType Type, const InputFile *File,
|
||||
|
||||
// If the offset exceeds the range of the branch type then it will need
|
||||
// a range-extending thunk.
|
||||
return !inBranchRange(Type, BranchAddr, S.getVA());
|
||||
// See the comment in getRelocTargetVA() about R_PPC64_CALL.
|
||||
return !inBranchRange(Type, BranchAddr,
|
||||
S.getVA() +
|
||||
getPPC64GlobalEntryToLocalEntryOffset(S.StOther));
|
||||
}
|
||||
|
||||
uint32_t PPC64::getThunkSectionSpacing() const {
|
||||
|
@ -364,7 +364,7 @@ static inline void __kmp_acquire_atomic_lock(kmp_atomic_lock_t *lck,
|
||||
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_atomic, 0, kmp_mutex_impl_queuing, (ompt_wait_id_t)lck,
|
||||
ompt_mutex_atomic, 0, kmp_mutex_impl_queuing, (ompt_wait_id_t)(uintptr_t)lck,
|
||||
OMPT_GET_RETURN_ADDRESS(0));
|
||||
}
|
||||
#endif
|
||||
@ -374,7 +374,7 @@ static inline void __kmp_acquire_atomic_lock(kmp_atomic_lock_t *lck,
|
||||
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_atomic, (ompt_wait_id_t)lck, OMPT_GET_RETURN_ADDRESS(0));
|
||||
ompt_mutex_atomic, (ompt_wait_id_t)(uintptr_t)lck, OMPT_GET_RETURN_ADDRESS(0));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -390,7 +390,7 @@ static inline void __kmp_release_atomic_lock(kmp_atomic_lock_t *lck,
|
||||
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_atomic, (ompt_wait_id_t)lck, OMPT_GET_RETURN_ADDRESS(0));
|
||||
ompt_mutex_atomic, (ompt_wait_id_t)(uintptr_t)lck, OMPT_GET_RETURN_ADDRESS(0));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
@ -848,7 +848,7 @@ void __kmpc_ordered(ident_t *loc, kmp_int32 gtid) {
|
||||
if (ompt_enabled.enabled) {
|
||||
OMPT_STORE_RETURN_ADDRESS(gtid);
|
||||
team = __kmp_team_from_gtid(gtid);
|
||||
lck = (ompt_wait_id_t)&team->t.t_ordered.dt.t_value;
|
||||
lck = (ompt_wait_id_t)(uintptr_t)&team->t.t_ordered.dt.t_value;
|
||||
/* OMPT state update */
|
||||
th->th.ompt_thread_info.wait_id = lck;
|
||||
th->th.ompt_thread_info.state = ompt_state_wait_ordered;
|
||||
@ -857,8 +857,8 @@ void __kmpc_ordered(ident_t *loc, kmp_int32 gtid) {
|
||||
codeptr_ra = OMPT_LOAD_RETURN_ADDRESS(gtid);
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_ordered, omp_lock_hint_none, kmp_mutex_impl_spin,
|
||||
(ompt_wait_id_t)lck, codeptr_ra);
|
||||
ompt_mutex_ordered, omp_lock_hint_none, kmp_mutex_impl_spin, lck,
|
||||
codeptr_ra);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -877,7 +877,7 @@ void __kmpc_ordered(ident_t *loc, kmp_int32 gtid) {
|
||||
/* OMPT event callback */
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_ordered, (ompt_wait_id_t)lck, codeptr_ra);
|
||||
ompt_mutex_ordered, (ompt_wait_id_t)(uintptr_t)lck, codeptr_ra);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -917,7 +917,8 @@ void __kmpc_end_ordered(ident_t *loc, kmp_int32 gtid) {
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_ordered,
|
||||
(ompt_wait_id_t)&__kmp_team_from_gtid(gtid)->t.t_ordered.dt.t_value,
|
||||
(ompt_wait_id_t)(uintptr_t)&__kmp_team_from_gtid(gtid)
|
||||
->t.t_ordered.dt.t_value,
|
||||
OMPT_LOAD_RETURN_ADDRESS(gtid));
|
||||
}
|
||||
#endif
|
||||
@ -1188,7 +1189,7 @@ void __kmpc_critical(ident_t *loc, kmp_int32 global_tid,
|
||||
ti = __kmp_threads[global_tid]->th.ompt_thread_info;
|
||||
/* OMPT state update */
|
||||
prev_state = ti.state;
|
||||
ti.wait_id = (ompt_wait_id_t)lck;
|
||||
ti.wait_id = (ompt_wait_id_t)(uintptr_t)lck;
|
||||
ti.state = ompt_state_wait_critical;
|
||||
|
||||
/* OMPT event callback */
|
||||
@ -1196,7 +1197,7 @@ void __kmpc_critical(ident_t *loc, kmp_int32 global_tid,
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_critical, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
||||
(ompt_wait_id_t)crit, codeptr_ra);
|
||||
(ompt_wait_id_t)(uintptr_t)lck, codeptr_ra);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -1216,7 +1217,7 @@ void __kmpc_critical(ident_t *loc, kmp_int32 global_tid,
|
||||
/* OMPT event callback */
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_critical, (ompt_wait_id_t)crit, codeptr_ra);
|
||||
ompt_mutex_critical, (ompt_wait_id_t)(uintptr_t)lck, codeptr_ra);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -1402,14 +1403,15 @@ void __kmpc_critical_with_hint(ident_t *loc, kmp_int32 global_tid,
|
||||
ti = __kmp_threads[global_tid]->th.ompt_thread_info;
|
||||
/* OMPT state update */
|
||||
prev_state = ti.state;
|
||||
ti.wait_id = (ompt_wait_id_t)lck;
|
||||
ti.wait_id = (ompt_wait_id_t)(uintptr_t)lck;
|
||||
ti.state = ompt_state_wait_critical;
|
||||
|
||||
/* OMPT event callback */
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_critical, (unsigned int)hint,
|
||||
__ompt_get_mutex_impl_type(crit), (ompt_wait_id_t)crit, codeptr);
|
||||
__ompt_get_mutex_impl_type(crit), (ompt_wait_id_t)(uintptr_t)lck,
|
||||
codeptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -1440,14 +1442,15 @@ void __kmpc_critical_with_hint(ident_t *loc, kmp_int32 global_tid,
|
||||
ti = __kmp_threads[global_tid]->th.ompt_thread_info;
|
||||
/* OMPT state update */
|
||||
prev_state = ti.state;
|
||||
ti.wait_id = (ompt_wait_id_t)lck;
|
||||
ti.wait_id = (ompt_wait_id_t)(uintptr_t)lck;
|
||||
ti.state = ompt_state_wait_critical;
|
||||
|
||||
/* OMPT event callback */
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_critical, (unsigned int)hint,
|
||||
__ompt_get_mutex_impl_type(0, ilk), (ompt_wait_id_t)crit, codeptr);
|
||||
__ompt_get_mutex_impl_type(0, ilk), (ompt_wait_id_t)(uintptr_t)lck,
|
||||
codeptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -1467,7 +1470,7 @@ void __kmpc_critical_with_hint(ident_t *loc, kmp_int32 global_tid,
|
||||
/* OMPT event callback */
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_critical, (ompt_wait_id_t)crit, codeptr);
|
||||
ompt_mutex_critical, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -1565,7 +1568,8 @@ void __kmpc_end_critical(ident_t *loc, kmp_int32 global_tid,
|
||||
OMPT_STORE_RETURN_ADDRESS(global_tid);
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_critical, (ompt_wait_id_t)crit, OMPT_LOAD_RETURN_ADDRESS(0));
|
||||
ompt_mutex_critical, (ompt_wait_id_t)(uintptr_t)lck,
|
||||
OMPT_LOAD_RETURN_ADDRESS(0));
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2189,8 +2193,8 @@ void __kmpc_init_lock_with_hint(ident_t *loc, kmp_int32 gtid, void **user_lock,
|
||||
if (ompt_enabled.ompt_callback_lock_init) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
||||
ompt_mutex_lock, (omp_lock_hint_t)hint,
|
||||
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
||||
codeptr);
|
||||
__ompt_get_mutex_impl_type(user_lock),
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -2213,8 +2217,8 @@ void __kmpc_init_nest_lock_with_hint(ident_t *loc, kmp_int32 gtid,
|
||||
if (ompt_enabled.ompt_callback_lock_init) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
||||
ompt_mutex_nest_lock, (omp_lock_hint_t)hint,
|
||||
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
||||
codeptr);
|
||||
__ompt_get_mutex_impl_type(user_lock),
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@ -2239,8 +2243,8 @@ void __kmpc_init_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_lock_init) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
||||
ompt_mutex_lock, omp_lock_hint_none,
|
||||
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
||||
codeptr);
|
||||
__ompt_get_mutex_impl_type(user_lock),
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2282,7 +2286,7 @@ void __kmpc_init_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_lock_init) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
||||
ompt_mutex_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
||||
(ompt_wait_id_t)user_lock, codeptr);
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2311,8 +2315,8 @@ void __kmpc_init_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_lock_init) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
||||
ompt_mutex_nest_lock, omp_lock_hint_none,
|
||||
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
||||
codeptr);
|
||||
__ompt_get_mutex_impl_type(user_lock),
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2357,7 +2361,7 @@ void __kmpc_init_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_lock_init) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_init)(
|
||||
ompt_mutex_nest_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
||||
(ompt_wait_id_t)user_lock, codeptr);
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2393,7 +2397,7 @@ void __kmpc_destroy_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
lck = (kmp_user_lock_p)user_lock;
|
||||
}
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_destroy)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
KMP_D_LOCK_FUNC(user_lock, destroy)((kmp_dyna_lock_t *)user_lock);
|
||||
@ -2421,7 +2425,7 @@ void __kmpc_destroy_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
||||
if (ompt_enabled.ompt_callback_lock_destroy) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_destroy)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2461,7 +2465,7 @@ void __kmpc_destroy_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
||||
if (ompt_enabled.ompt_callback_lock_destroy) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_destroy)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
KMP_D_LOCK_FUNC(user_lock, destroy)((kmp_dyna_lock_t *)user_lock);
|
||||
@ -2493,7 +2497,7 @@ void __kmpc_destroy_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
||||
if (ompt_enabled.ompt_callback_lock_destroy) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_lock_destroy)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2538,8 +2542,8 @@ void __kmpc_set_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_lock, omp_lock_hint_none,
|
||||
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
||||
codeptr);
|
||||
__ompt_get_mutex_impl_type(user_lock),
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
#if KMP_USE_INLINED_TAS
|
||||
@ -2560,7 +2564,7 @@ void __kmpc_set_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2593,7 +2597,7 @@ void __kmpc_set_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
||||
(ompt_wait_id_t)lck, codeptr);
|
||||
(ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2606,7 +2610,7 @@ void __kmpc_set_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2628,8 +2632,8 @@ void __kmpc_set_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_nest_lock, omp_lock_hint_none,
|
||||
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
||||
codeptr);
|
||||
__ompt_get_mutex_impl_type(user_lock),
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -2646,13 +2650,14 @@ void __kmpc_set_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
// lock_first
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock,
|
||||
codeptr);
|
||||
}
|
||||
} else {
|
||||
if (ompt_enabled.ompt_callback_nest_lock) {
|
||||
// lock_next
|
||||
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
||||
ompt_scope_begin, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_scope_begin, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2690,7 +2695,8 @@ void __kmpc_set_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_nest_lock, omp_lock_hint_none,
|
||||
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)lck, codeptr);
|
||||
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)(uintptr_t)lck,
|
||||
codeptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -2707,13 +2713,13 @@ void __kmpc_set_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
// lock_first
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
} else {
|
||||
if (ompt_enabled.ompt_callback_nest_lock) {
|
||||
// lock_next
|
||||
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
||||
ompt_scope_begin, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_scope_begin, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2749,7 +2755,7 @@ void __kmpc_unset_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2778,7 +2784,7 @@ void __kmpc_unset_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2810,7 +2816,7 @@ void __kmpc_unset_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
codeptr = OMPT_GET_RETURN_ADDRESS(0);
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2838,12 +2844,13 @@ void __kmpc_unset_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
// release_lock_last
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock,
|
||||
codeptr);
|
||||
}
|
||||
} else if (ompt_enabled.ompt_callback_nest_lock) {
|
||||
// release_lock_prev
|
||||
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
||||
ompt_scope_end, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_scope_end, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -2887,12 +2894,12 @@ void __kmpc_unset_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
// release_lock_last
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
} else if (ompt_enabled.ompt_callback_nest_lock) {
|
||||
// release_lock_previous
|
||||
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
||||
ompt_mutex_scope_end, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_scope_end, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -2929,12 +2936,12 @@ void __kmpc_unset_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_released) {
|
||||
// release_lock_last
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_released)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
} else if (ompt_enabled.ompt_callback_nest_lock) {
|
||||
// release_lock_previous
|
||||
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
||||
ompt_mutex_scope_end, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_scope_end, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -2960,8 +2967,8 @@ int __kmpc_test_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_lock, omp_lock_hint_none,
|
||||
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
||||
codeptr);
|
||||
__ompt_get_mutex_impl_type(user_lock),
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
#if KMP_USE_INLINED_TAS
|
||||
@ -2983,7 +2990,7 @@ int __kmpc_test_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
return FTN_TRUE;
|
||||
@ -3024,7 +3031,7 @@ int __kmpc_test_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_lock, omp_lock_hint_none, __ompt_get_mutex_impl_type(),
|
||||
(ompt_wait_id_t)lck, codeptr);
|
||||
(ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -3039,7 +3046,7 @@ int __kmpc_test_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
#if OMPT_SUPPORT && OMPT_OPTIONAL
|
||||
if (rc && ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_lock, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -3065,8 +3072,8 @@ int __kmpc_test_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_nest_lock, omp_lock_hint_none,
|
||||
__ompt_get_mutex_impl_type(user_lock), (ompt_wait_id_t)user_lock,
|
||||
codeptr);
|
||||
__ompt_get_mutex_impl_type(user_lock),
|
||||
(ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
#endif
|
||||
rc = KMP_D_LOCK_FUNC(user_lock, test)((kmp_dyna_lock_t *)user_lock, gtid);
|
||||
@ -3083,13 +3090,14 @@ int __kmpc_test_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
// lock_first
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)user_lock,
|
||||
codeptr);
|
||||
}
|
||||
} else {
|
||||
if (ompt_enabled.ompt_callback_nest_lock) {
|
||||
// lock_next
|
||||
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
||||
ompt_scope_begin, (ompt_wait_id_t)user_lock, codeptr);
|
||||
ompt_scope_begin, (ompt_wait_id_t)(uintptr_t)user_lock, codeptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3130,7 +3138,8 @@ int __kmpc_test_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
ompt_enabled.ompt_callback_mutex_acquire) {
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquire)(
|
||||
ompt_mutex_nest_lock, omp_lock_hint_none,
|
||||
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)lck, codeptr);
|
||||
__ompt_get_mutex_impl_type(), (ompt_wait_id_t)(uintptr_t)lck,
|
||||
codeptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -3148,13 +3157,13 @@ int __kmpc_test_nest_lock(ident_t *loc, kmp_int32 gtid, void **user_lock) {
|
||||
if (ompt_enabled.ompt_callback_mutex_acquired) {
|
||||
// lock_first
|
||||
ompt_callbacks.ompt_callback(ompt_callback_mutex_acquired)(
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_nest_lock, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
} else {
|
||||
if (ompt_enabled.ompt_callback_nest_lock) {
|
||||
// lock_next
|
||||
ompt_callbacks.ompt_callback(ompt_callback_nest_lock)(
|
||||
ompt_mutex_scope_begin, (ompt_wait_id_t)lck, codeptr);
|
||||
ompt_mutex_scope_begin, (ompt_wait_id_t)(uintptr_t)lck, codeptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -211,7 +211,7 @@ ompt_data_t *__ompt_get_thread_data_internal() {
|
||||
void __ompt_thread_assign_wait_id(void *variable) {
|
||||
kmp_info_t *ti = ompt_get_thread();
|
||||
|
||||
ti->th.ompt_thread_info.wait_id = (ompt_wait_id_t)variable;
|
||||
ti->th.ompt_thread_info.wait_id = (ompt_wait_id_t)(uintptr_t)variable;
|
||||
}
|
||||
|
||||
int __ompt_get_state_internal(ompt_wait_id_t *omp_wait_id) {
|
||||
|
@ -8,4 +8,4 @@
|
||||
|
||||
#define CLANG_VENDOR "FreeBSD "
|
||||
|
||||
#define SVN_REVISION "363030"
|
||||
#define SVN_REVISION "364487"
|
||||
|
@ -7,4 +7,4 @@
|
||||
|
||||
#define LLD_REPOSITORY_STRING "FreeBSD"
|
||||
// <Upstream revision at import>-<Local identifier in __FreeBSD_version style>
|
||||
#define LLD_REVISION_STRING "363030-1300004"
|
||||
#define LLD_REVISION_STRING "364487-1300004"
|
||||
|
@ -1,2 +1,2 @@
|
||||
/* $FreeBSD$ */
|
||||
#define LLVM_REVISION "svn-r363030"
|
||||
#define LLVM_REVISION "svn-r364487"
|
||||
|
Loading…
Reference in New Issue
Block a user