[Openmp-commits] 3.8 Merge Request: r264166

Cownie, James H via Openmp-commits openmp-commits at lists.llvm.org
Tue Apr 26 07:57:30 PDT 2016


Note that the aim here is to allow us to enable OpenMP in Clang 3.8.1 on Windows by default, something that we failed to achieve in 3.8. The required changes are small and Windows specific, and this would bring Windows Clang/OpenMP support up to that on other platforms which seems desirable.

-- Jim

James Cownie <james.h.cownie at intel.com>
SSG/DPD/TCAR (Technical Computing, Analyzers and Runtimes)
Tel: +44 117 9071438

-----Original Message-----
From: Openmp-commits [mailto:openmp-commits-bounces at lists.llvm.org] On Behalf Of Peyton, Jonathan L via Openmp-commits
Sent: Tuesday, April 26, 2016 3:52 PM
To: Peyton, Jonathan L <jonathan.l.peyton at intel.com>; Tom Stellard <tom at stellard.net>
Cc: openmp-commits (openmp-commits at lists.llvm.org) <openmp-commits at lists.llvm.org>
Subject: [Openmp-commits] 3.8 Merge Request: r264166

Can this be merged for 3.8.1?

-- Johnny

-----Original Message-----
From: Openmp-commits [mailto:openmp-commits-bounces at lists.llvm.org] On Behalf Of Jonathan Peyton via Openmp-commits
Sent: Wednesday, March 23, 2016 11:27 AM
To: openmp-commits at lists.llvm.org
Subject: [Openmp-commits] [openmp] r264166 - Fix Visual Studio builds

Author: jlpeyton
Date: Wed Mar 23 11:27:25 2016
New Revision: 264166

URL: http://llvm.org/viewvc/llvm-project?rev=264166&view=rev
Log:
Fix Visual Studio builds

Have Visual Studio use MemoryBarrier() instead of _mm_mfence() and remove __declspec align attribute from function parameters in kmp_atomic.h

Modified:
    openmp/trunk/runtime/src/kmp_atomic.h
    openmp/trunk/runtime/src/kmp_csupport.c

Modified: openmp/trunk/runtime/src/kmp_atomic.h
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp_atomic.h?rev=264166&r1=264165&r2=264166&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp_atomic.h (original)
+++ openmp/trunk/runtime/src/kmp_atomic.h Wed Mar 23 11:27:25 2016
@@ -35,6 +35,13 @@
 #if defined( __cplusplus ) && ( KMP_OS_WINDOWS )
     // create shortcuts for c99 complex types
 
+    // Visual Studio cannot have function parameters that have the
+    // align __declspec attribute, so we must remove it. (Compiler Error C2719)
+    #if KMP_COMPILER_MSVC
+    # undef KMP_DO_ALIGN
+    # define KMP_DO_ALIGN(alignment) /* Nothing */
+    #endif
+
     #if (_MSC_VER < 1600) && defined(_DEBUG)
         // Workaround for the problem of _DebugHeapTag unresolved external.
         // This problem prevented to use our static debug library for C tests

Modified: openmp/trunk/runtime/src/kmp_csupport.c
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/src/kmp_csupport.c?rev=264166&r1=264165&r2=264166&view=diff
==============================================================================
--- openmp/trunk/runtime/src/kmp_csupport.c (original)
+++ openmp/trunk/runtime/src/kmp_csupport.c Wed Mar 23 11:27:25 2016
@@ -654,8 +654,10 @@ __kmpc_flush(ident_t *loc)
             if ( ! __kmp_cpuinfo.sse2 ) {
                 // CPU cannot execute SSE2 instructions.
             } else {
-                #if KMP_COMPILER_ICC || KMP_COMPILER_MSVC
+                #if KMP_COMPILER_ICC
                 _mm_mfence();
+                #elif KMP_COMPILER_MSVC
+                MemoryBarrier();
                 #else
                 __sync_synchronize();
                 #endif // KMP_COMPILER_ICC


_______________________________________________
Openmp-commits mailing list
Openmp-commits at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-commits
_______________________________________________
Openmp-commits mailing list
Openmp-commits at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/openmp-commits
---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


More information about the Openmp-commits mailing list