<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi Jonas, it requires the discussion. Somebody may rely on the
fact that clang by default supports 3.1. I agree that we need to
set the default version to 4.5.<br>
</p>
<pre class="moz-signature" cols="72">-------------
Best regards,
Alexey Bataev</pre>
<div class="moz-cite-prefix">26.07.2018 12:39, Jonas Hahnfeld via
cfe-commits пишет:<br>
</div>
<blockquote type="cite"
cite="mid:%3C92a8e92e8becf4d18aecc0cfc68478c9@hahnjo.de%3E">Hi
Alexey,
<br>
<br>
maybe we can now raise the version generally? Is that something
that we want to do before branching for 7.0?
<br>
According to <a class="moz-txt-link-freetext" href="http://clang.llvm.org/docs/OpenMPSupport.html">http://clang.llvm.org/docs/OpenMPSupport.html</a>, all
directives of OpenMP 4.5 are supported (even if Clang may not
generate optimal code).
<br>
<br>
Cheers,
<br>
Jonas
<br>
<br>
On 2018-07-26 17:17, Alexey Bataev via cfe-commits wrote:
<br>
<blockquote type="cite">Author: abataev
<br>
Date: Thu Jul 26 08:17:38 2018
<br>
New Revision: 338032
<br>
<br>
URL: <a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project?rev=338032&view=rev">http://llvm.org/viewvc/llvm-project?rev=338032&view=rev</a>
<br>
Log:
<br>
[OPENMP] Force OpenMP 4.5 when compiling for offloading.
<br>
<br>
If the user requested compilation for OpenMP with the offloading
<br>
support, force the version of the OpenMP standard to 4.5 by
default.
<br>
<br>
Modified:
<br>
cfe/trunk/lib/Driver/ToolChains/Clang.cpp
<br>
cfe/trunk/lib/Frontend/CompilerInvocation.cpp
<br>
cfe/trunk/test/OpenMP/driver.c
<br>
<br>
Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp
<br>
URL:
<br>
<a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=338032&r1=338031&r2=338032&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=338032&r1=338031&r2=338032&view=diff</a>
<br>
==============================================================================
<br>
--- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original)
<br>
+++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Thu Jul 26
08:17:38 2018
<br>
@@ -4698,7 +4698,7 @@ void Clang::ConstructJob(Compilation
&C,
<br>
<br>
// For all the host OpenMP offloading compile jobs we need to
pass
<br>
the targets
<br>
// information using -fopenmp-targets= option.
<br>
- if (isa<CompileJobAction>(JA) &&
JA.isHostOffloading(Action::OFK_OpenMP)) {
<br>
+ if (JA.isHostOffloading(Action::OFK_OpenMP)) {
<br>
SmallString<128> TargetInfo("-fopenmp-targets=");
<br>
<br>
Arg *Tgts =
Args.getLastArg(options::OPT_fopenmp_targets_EQ);
<br>
<br>
Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
<br>
URL:
<br>
<a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=338032&r1=338031&r2=338032&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=338032&r1=338031&r2=338032&view=diff</a>
<br>
==============================================================================
<br>
--- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
<br>
+++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Thu Jul 26
08:17:38 2018
<br>
@@ -2594,13 +2594,15 @@ static void ParseLangArgs(LangOptions
&O
<br>
Opts.OpenMP &&
!Args.hasArg(options::OPT_fnoopenmp_use_tls);
<br>
Opts.OpenMPIsDevice =
<br>
Opts.OpenMP &&
Args.hasArg(options::OPT_fopenmp_is_device);
<br>
+ bool IsTargetSpecified =
<br>
+ Opts.OpenMPIsDevice ||
Args.hasArg(options::OPT_fopenmp_targets_EQ);
<br>
<br>
if (Opts.OpenMP || Opts.OpenMPSimd) {
<br>
- if (int Version =
<br>
- getLastArgIntValue(Args, OPT_fopenmp_version_EQ,
<br>
- IsSimdSpecified ? 45 :
Opts.OpenMP, Diags))
<br>
+ if (int Version = getLastArgIntValue(
<br>
+ Args, OPT_fopenmp_version_EQ,
<br>
+ (IsSimdSpecified || IsTargetSpecified) ? 45 :
Opts.OpenMP, Diags))
<br>
Opts.OpenMP = Version;
<br>
- else if (IsSimdSpecified)
<br>
+ else if (IsSimdSpecified || IsTargetSpecified)
<br>
Opts.OpenMP = 45;
<br>
// Provide diagnostic when a given target is not expected
to be an OpenMP
<br>
// device or host.
<br>
<br>
Modified: cfe/trunk/test/OpenMP/driver.c
<br>
URL:
<br>
<a class="moz-txt-link-freetext" href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/driver.c?rev=338032&r1=338031&r2=338032&view=diff">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/driver.c?rev=338032&r1=338031&r2=338032&view=diff</a>
<br>
==============================================================================
<br>
--- cfe/trunk/test/OpenMP/driver.c (original)
<br>
+++ cfe/trunk/test/OpenMP/driver.c Thu Jul 26 08:17:38 2018
<br>
@@ -1,3 +1,4 @@
<br>
+// REQUIRES: x86-registered-target
<br>
// Test that by default -fnoopenmp-use-tls is passed to
frontend.
<br>
//
<br>
// RUN: %clang %s -### -o %t.o 2>&1 -fopenmp=libomp |
FileCheck
<br>
--check-prefix=CHECK-DEFAULT %s
<br>
@@ -23,7 +24,9 @@
<br>
<br>
// RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-version=45
|
<br>
FileCheck --check-prefix=CHECK-45-VERSION %s
<br>
// RUN: %clang %s -c -E -dM -fopenmp=libomp -fopenmp-simd |
FileCheck
<br>
--check-prefix=CHECK-45-VERSION %s
<br>
+// RUN: %clang %s -c -E -dM -fopenmp=libomp
<br>
-fopenmp-targets=x86_64-unknown-unknown -o - | FileCheck
<br>
--check-prefix=CHECK-45-VERSION --check-prefix=CHECK-45-VERSION2
%s
<br>
// CHECK-45-VERSION: #define _OPENMP 201511
<br>
+// CHECK-45-VERSION2: #define _OPENMP 201511
<br>
<br>
// RUN: %clang %s -c -E -dM -fopenmp-version=1 | FileCheck
<br>
--check-prefix=CHECK-VERSION %s
<br>
// RUN: %clang %s -c -E -dM -fopenmp-version=31 | FileCheck
<br>
--check-prefix=CHECK-VERSION %s
<br>
<br>
<br>
_______________________________________________
<br>
cfe-commits mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>