[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