[PATCH] D17170: [OPENMP] Codegen for distribute directive
Carlo Bertolli via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 18 11:42:41 PST 2016
carlo.bertolli added inline comments.
================
Comment at: lib/CodeGen/CGOpenMPRuntime.h:187-208
@@ -185,30 +186,24 @@
+
+public:
/// \brief Values for bit flags used in the ident_t to describe the fields.
/// All enumeric elements are named and described in accordance with the code
/// from http://llvm.org/svn/llvm-project/openmp/trunk/runtime/src/kmp.h
enum OpenMPLocationFlags {
/// \brief Use trampoline for internal microtask.
OMP_IDENT_IMD = 0x01,
/// \brief Use c-style ident structure.
OMP_IDENT_KMPC = 0x02,
/// \brief Atomic reduction option for kmpc_reduce.
OMP_ATOMIC_REDUCE = 0x10,
/// \brief Explicit 'barrier' directive.
OMP_IDENT_BARRIER_EXPL = 0x20,
/// \brief Implicit barrier in code.
OMP_IDENT_BARRIER_IMPL = 0x40,
/// \brief Implicit barrier in 'for' directive.
OMP_IDENT_BARRIER_IMPL_FOR = 0x40,
/// \brief Implicit barrier in 'sections' directive.
OMP_IDENT_BARRIER_IMPL_SECTIONS = 0xC0,
/// \brief Implicit barrier in 'single' directive.
OMP_IDENT_BARRIER_IMPL_SINGLE = 0x140
};
----------------
ABataev wrote:
> No, do not make it public. It must be private forever. Moreover, It would be good if could hide it at all in .cpp file. I will look at it.
Waiting for you.
================
Comment at: lib/CodeGen/CGOpenMPRuntime.h:553-566
@@ -564,2 +552,16 @@
+ /// \brief Emits object of ident_t type with info for source location.
+ /// \param Flags Flags for OpenMP location.
+ ///
+ llvm::Value *emitUpdateLocation(CodeGenFunction &CGF, SourceLocation Loc,
+ OpenMPLocationFlags Flags = OMP_IDENT_KMPC);
+
+ /// \brief Gets thread id value for the current thread.
+ ///
+ llvm::Value *getThreadID(CodeGenFunction &CGF, SourceLocation Loc);
+
+ /// \brief Returns __kmpc_for_static_init_* runtime function for the specified
+ /// size \a IVSize and sign \a IVSigned.
+ llvm::Constant *createForStaticInitFunction(unsigned IVSize, bool IVSigned);
+
/// \brief Emits outlined function for the specified OpenMP parallel directive
----------------
ABataev wrote:
> Keep them private, please
Waiting for you - If the basic emission routine for kmpc_for_static_init needs to be a static function in CGOpenMPRuntime.cpp, then this must be accessible somehow.
Repository:
rL LLVM
http://reviews.llvm.org/D17170
More information about the cfe-commits
mailing list