Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/CodeGen/CGOpenMPRuntime.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 2,079 Lines • ▼ Show 20 Lines | void CGOpenMPRuntime::emitIfClause(CodeGenFunction &CGF, const Expr *Cond, | ||||
CGF.EmitBranch(ContBlock); | CGF.EmitBranch(ContBlock); | ||||
// Emit the continuation block for code after the if. | // Emit the continuation block for code after the if. | ||||
CGF.EmitBlock(ContBlock, /*IsFinished=*/true); | CGF.EmitBlock(ContBlock, /*IsFinished=*/true); | ||||
} | } | ||||
void CGOpenMPRuntime::emitParallelCall(CodeGenFunction &CGF, SourceLocation Loc, | void CGOpenMPRuntime::emitParallelCall(CodeGenFunction &CGF, SourceLocation Loc, | ||||
llvm::Function *OutlinedFn, | llvm::Function *OutlinedFn, | ||||
ArrayRef<llvm::Value *> CapturedVars, | ArrayRef<llvm::Value *> CapturedVars, | ||||
const Expr *IfCond) { | const Expr *IfCond, | ||||
llvm::Value *NumThreads) { | |||||
if (!CGF.HaveInsertPoint()) | if (!CGF.HaveInsertPoint()) | ||||
return; | return; | ||||
llvm::Value *RTLoc = emitUpdateLocation(CGF, Loc); | llvm::Value *RTLoc = emitUpdateLocation(CGF, Loc); | ||||
auto &M = CGM.getModule(); | auto &M = CGM.getModule(); | ||||
auto &&ThenGen = [&M, OutlinedFn, CapturedVars, RTLoc, | auto &&ThenGen = [&M, OutlinedFn, CapturedVars, RTLoc, | ||||
this](CodeGenFunction &CGF, PrePostActionTy &) { | this](CodeGenFunction &CGF, PrePostActionTy &) { | ||||
// Build call __kmpc_fork_call(loc, n, microtask, var1, .., varn); | // Build call __kmpc_fork_call(loc, n, microtask, var1, .., varn); | ||||
CGOpenMPRuntime &RT = CGF.CGM.getOpenMPRuntime(); | CGOpenMPRuntime &RT = CGF.CGM.getOpenMPRuntime(); | ||||
▲ Show 20 Lines • Show All 10,788 Lines • ▼ Show 20 Lines | llvm::Function *CGOpenMPSIMDRuntime::emitTaskOutlinedFunction( | ||||
bool Tied, unsigned &NumberOfParts) { | bool Tied, unsigned &NumberOfParts) { | ||||
llvm_unreachable("Not supported in SIMD-only mode"); | llvm_unreachable("Not supported in SIMD-only mode"); | ||||
} | } | ||||
void CGOpenMPSIMDRuntime::emitParallelCall(CodeGenFunction &CGF, | void CGOpenMPSIMDRuntime::emitParallelCall(CodeGenFunction &CGF, | ||||
SourceLocation Loc, | SourceLocation Loc, | ||||
llvm::Function *OutlinedFn, | llvm::Function *OutlinedFn, | ||||
ArrayRef<llvm::Value *> CapturedVars, | ArrayRef<llvm::Value *> CapturedVars, | ||||
const Expr *IfCond) { | const Expr *IfCond, | ||||
llvm::Value *NumThreads) { | |||||
llvm_unreachable("Not supported in SIMD-only mode"); | llvm_unreachable("Not supported in SIMD-only mode"); | ||||
} | } | ||||
void CGOpenMPSIMDRuntime::emitCriticalRegion( | void CGOpenMPSIMDRuntime::emitCriticalRegion( | ||||
CodeGenFunction &CGF, StringRef CriticalName, | CodeGenFunction &CGF, StringRef CriticalName, | ||||
const RegionCodeGenTy &CriticalOpGen, SourceLocation Loc, | const RegionCodeGenTy &CriticalOpGen, SourceLocation Loc, | ||||
const Expr *Hint) { | const Expr *Hint) { | ||||
llvm_unreachable("Not supported in SIMD-only mode"); | llvm_unreachable("Not supported in SIMD-only mode"); | ||||
▲ Show 20 Lines • Show All 274 Lines • Show Last 20 Lines |