[PATCH] [OPENMP] Codegen for 'omp master' directive

Alexey Bataev a.bataev at hotmail.com
Wed Dec 3 00:24:17 PST 2014


Thanks for the review John! I really appreciate it!!!

================
Comment at: lib/CodeGen/CGOpenMPRuntime.cpp:685
@@ +684,3 @@
+    MasterOpGen();
+    // Build a call to __kmpc_end_master
+    RTLFn = CreateRuntimeFunction(OMPRTL__kmpc_end_master);
----------------
rjmccall wrote:
> Please add a comment here that it's illegal to branch in or out of the master block — which I assume you're enforcing in Sema somehow — so you can just call __kmpc_end_master on fallthrough rather than pushing a normal cleanup for it.
Yes, it is prohibited by the OpenMP spec and enforced in Sema. I'll add a comment.

================
Comment at: lib/CodeGen/CGOpenMPRuntime.h:101
@@ -98,1 +100,3 @@
+    // Call to void __kmpc_end_master(ident_t *, kmp_int32 global_tid);
+    OMPRTL__kmpc_end_master
   };
----------------
rjmccall wrote:
> Please leave a trailing comma on the last enumerator.  Makes a minor improvement to diffs.
Ok

http://reviews.llvm.org/D6473






More information about the cfe-commits mailing list