diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2014-05-06 10:08:46 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2014-05-06 10:08:46 +0000 |
commit | 9959db5fa9d4972b6f5510344d502ff4932b0c0e (patch) | |
tree | f9022d5800c5e078854567445218a23710ff1cba /clang/lib/CodeGen/CGStmt.cpp | |
parent | fdce7cea931fc6fcb995a1193b3ae7f78a913f0d (diff) | |
download | bcm5719-llvm-9959db5fa9d4972b6f5510344d502ff4932b0c0e.tar.gz bcm5719-llvm-9959db5fa9d4972b6f5510344d502ff4932b0c0e.zip |
[OPENMP] Initial codegen for '#pragma omp parallel'
llvm-svn: 208077
Diffstat (limited to 'clang/lib/CodeGen/CGStmt.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGStmt.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGStmt.cpp b/clang/lib/CodeGen/CGStmt.cpp index 4e6f88df3e2..44142300165 100644 --- a/clang/lib/CodeGen/CGStmt.cpp +++ b/clang/lib/CodeGen/CGStmt.cpp @@ -76,7 +76,6 @@ void CodeGenFunction::EmitStmt(const Stmt *S) { case Stmt::SEHExceptStmtClass: case Stmt::SEHFinallyStmtClass: case Stmt::MSDependentExistsStmtClass: - case Stmt::OMPParallelDirectiveClass: case Stmt::OMPSimdDirectiveClass: llvm_unreachable("invalid statement class to emit generically"); case Stmt::NullStmtClass: @@ -174,6 +173,9 @@ void CodeGenFunction::EmitStmt(const Stmt *S) { case Stmt::SEHTryStmtClass: EmitSEHTryStmt(cast<SEHTryStmt>(*S)); break; + case Stmt::OMPParallelDirectiveClass: + EmitOMPParallelDirective(cast<OMPParallelDirective>(*S)); + break; } } @@ -1921,6 +1923,12 @@ CodeGenFunction::EmitCapturedStmt(const CapturedStmt &S, CapturedRegionKind K) { return F; } +llvm::Value * +CodeGenFunction::GenerateCapturedStmtArgument(const CapturedStmt &S) { + LValue CapStruct = InitCapturedStruct(*this, S); + return CapStruct.getAddress(); +} + /// Creates the outlined function for a CapturedStmt. llvm::Function * CodeGenFunction::GenerateCapturedStmtFunction(const CapturedDecl *CD, |