forked from OSchip/llvm-project
parent
1aba330e52
commit
f947218862
|
@ -198,8 +198,8 @@ CGOpenMPRuntime::CreateRuntimeFunction(OpenMPRTLFunction Function) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case OMPRTL__kmpc_critical: {
|
case OMPRTL__kmpc_critical: {
|
||||||
// Build void __kmpc_critical(ident_t ∗loc, kmp_int32 global_tid,
|
// Build void __kmpc_critical(ident_t *loc, kmp_int32 global_tid,
|
||||||
// kmp_critical_name ∗crit);
|
// kmp_critical_name *crit);
|
||||||
llvm::Type *TypeParams[] = {
|
llvm::Type *TypeParams[] = {
|
||||||
getIdentTyPointerTy(), CGM.Int32Ty,
|
getIdentTyPointerTy(), CGM.Int32Ty,
|
||||||
llvm::PointerType::getUnqual(KmpCriticalNameTy)};
|
llvm::PointerType::getUnqual(KmpCriticalNameTy)};
|
||||||
|
@ -209,8 +209,8 @@ CGOpenMPRuntime::CreateRuntimeFunction(OpenMPRTLFunction Function) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case OMPRTL__kmpc_end_critical: {
|
case OMPRTL__kmpc_end_critical: {
|
||||||
// Build void __kmpc_end_critical(ident_t ∗loc, kmp_int32 global_tid,
|
// Build void __kmpc_end_critical(ident_t *loc, kmp_int32 global_tid,
|
||||||
// kmp_critical_name ∗crit);
|
// kmp_critical_name *crit);
|
||||||
llvm::Type *TypeParams[] = {
|
llvm::Type *TypeParams[] = {
|
||||||
getIdentTyPointerTy(), CGM.Int32Ty,
|
getIdentTyPointerTy(), CGM.Int32Ty,
|
||||||
llvm::PointerType::getUnqual(KmpCriticalNameTy)};
|
llvm::PointerType::getUnqual(KmpCriticalNameTy)};
|
||||||
|
@ -253,7 +253,7 @@ void CGOpenMPRuntime::EmitOMPCriticalRegionStart(CodeGenFunction &CGF,
|
||||||
void CGOpenMPRuntime::EmitOMPCriticalRegionEnd(CodeGenFunction &CGF,
|
void CGOpenMPRuntime::EmitOMPCriticalRegionEnd(CodeGenFunction &CGF,
|
||||||
llvm::Value *RegionLock,
|
llvm::Value *RegionLock,
|
||||||
SourceLocation Loc) {
|
SourceLocation Loc) {
|
||||||
// Prepare other arguments and build a call to __kmpc_critical
|
// Prepare other arguments and build a call to __kmpc_end_critical
|
||||||
llvm::Value *Args[] = {EmitOpenMPUpdateLocation(CGF, Loc),
|
llvm::Value *Args[] = {EmitOpenMPUpdateLocation(CGF, Loc),
|
||||||
GetOpenMPGlobalThreadNum(CGF, Loc), RegionLock};
|
GetOpenMPGlobalThreadNum(CGF, Loc), RegionLock};
|
||||||
auto RTLFn =
|
auto RTLFn =
|
||||||
|
|
|
@ -71,11 +71,11 @@ public:
|
||||||
OMPRTL__kmpc_fork_call,
|
OMPRTL__kmpc_fork_call,
|
||||||
// Call to __kmpc_int32 kmpc_global_thread_num(ident_t *loc);
|
// Call to __kmpc_int32 kmpc_global_thread_num(ident_t *loc);
|
||||||
OMPRTL__kmpc_global_thread_num,
|
OMPRTL__kmpc_global_thread_num,
|
||||||
// Call to void __kmpc_critical(ident_t ∗loc, kmp_int32 global_tid,
|
// Call to void __kmpc_critical(ident_t *loc, kmp_int32 global_tid,
|
||||||
// kmp_critical_name ∗crit);
|
// kmp_critical_name *crit);
|
||||||
OMPRTL__kmpc_critical,
|
OMPRTL__kmpc_critical,
|
||||||
// Call to void __kmpc_end_critical(ident_t ∗loc, kmp_int32 global_tid,
|
// Call to void __kmpc_end_critical(ident_t *loc, kmp_int32 global_tid,
|
||||||
// kmp_critical_name ∗crit);
|
// kmp_critical_name *crit);
|
||||||
OMPRTL__kmpc_end_critical
|
OMPRTL__kmpc_end_critical
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -190,8 +190,8 @@ public:
|
||||||
llvm::Value *GetCriticalRegionLock(StringRef CriticalName);
|
llvm::Value *GetCriticalRegionLock(StringRef CriticalName);
|
||||||
|
|
||||||
/// \brief Emits start of the critical region by calling void
|
/// \brief Emits start of the critical region by calling void
|
||||||
/// __kmpc_critical(ident_t ∗loc, kmp_int32 global_tid, kmp_critical_name
|
/// __kmpc_critical(ident_t *loc, kmp_int32 global_tid, kmp_critical_name
|
||||||
/// ∗\a RegionLock)
|
/// * \a RegionLock)
|
||||||
/// \param CGF Reference to current CodeGenFunction.
|
/// \param CGF Reference to current CodeGenFunction.
|
||||||
/// \param RegionLock The lock object for critical region.
|
/// \param RegionLock The lock object for critical region.
|
||||||
/// \param Loc Location of the construct.
|
/// \param Loc Location of the construct.
|
||||||
|
@ -200,8 +200,8 @@ public:
|
||||||
SourceLocation Loc);
|
SourceLocation Loc);
|
||||||
|
|
||||||
/// \brief Emits end of the critical region by calling void
|
/// \brief Emits end of the critical region by calling void
|
||||||
/// __kmpc_end_critical(ident_t ∗loc, kmp_int32 global_tid, kmp_critical_name
|
/// __kmpc_end_critical(ident_t *loc, kmp_int32 global_tid, kmp_critical_name
|
||||||
/// ∗\a RegionLock)
|
/// * \a RegionLock)
|
||||||
/// \param CGF Reference to current CodeGenFunction.
|
/// \param CGF Reference to current CodeGenFunction.
|
||||||
/// \param RegionLock The lock object for critical region.
|
/// \param RegionLock The lock object for critical region.
|
||||||
/// \param Loc Location of the construct.
|
/// \param Loc Location of the construct.
|
||||||
|
|
Loading…
Reference in New Issue