diff options
author | Alexander Musman <alexander.musman@gmail.com> | 2014-05-22 08:54:05 +0000 |
---|---|---|
committer | Alexander Musman <alexander.musman@gmail.com> | 2014-05-22 08:54:05 +0000 |
commit | 515ad8c490582d9b3b71274ed9255dc4a23c4610 (patch) | |
tree | 1e04ab0b2131931f706383edba46261e93c58fc4 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 5f3ea477cf3b48710a5ef839624606311f0c4ab7 (diff) | |
download | llvm-515ad8c490582d9b3b71274ed9255dc4a23c4610.zip llvm-515ad8c490582d9b3b71274ed9255dc4a23c4610.tar.gz llvm-515ad8c490582d9b3b71274ed9255dc4a23c4610.tar.bz2 |
This patch adds a helper class (CGLoopInfo) for marking memory instructions with llvm.mem.parallel_loop_access metadata.
It also adds a simple initial version of codegen for pragma omp simd (it will change in the future to support all the clauses).
Differential revision: http://reviews.llvm.org/D3644
llvm-svn: 209411
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index 8c4029a..944a0cf1 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -16,6 +16,7 @@ #include "CGBuilder.h" #include "CGDebugInfo.h" +#include "CGLoopInfo.h" #include "CGValue.h" #include "CodeGenModule.h" #include "CodeGenPGO.h" @@ -129,8 +130,15 @@ public: const TargetInfo &Target; typedef std::pair<llvm::Value *, llvm::Value *> ComplexPairTy; + LoopInfoStack LoopStack; CGBuilderTy Builder; + /// \brief CGBuilder insert helper. This function is called after an + /// instruction is created using Builder. + void InsertHelper(llvm::Instruction *I, const llvm::Twine &Name, + llvm::BasicBlock *BB, + llvm::BasicBlock::iterator InsertPt) const; + /// CurFuncDecl - Holds the Decl for the current outermost /// non-closure context. const Decl *CurFuncDecl; @@ -1883,6 +1891,7 @@ public: llvm::Value *GenerateCapturedStmtArgument(const CapturedStmt &S); void EmitOMPParallelDirective(const OMPParallelDirective &S); + void EmitOMPSimdDirective(const OMPSimdDirective &S); //===--------------------------------------------------------------------===// // LValue Expression Emission |