<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Alexey<div class=""><br class=""></div><div class="">Looks like this is failing on Darwin, can you please take a look? Refer to <a href="http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/58951/consoleFull" class="">http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-incremental/58951/consoleFull</a>.</div><div class=""><br class=""></div><div class=""><span title="Regression test failed" style="box-sizing: border-box; font-family: monospace; font-size: 15px; white-space: pre-wrap; color: white; background-color: red;" class="">******************** TEST 'Clang :: Modules/builtins.m' FAILED ********************
</span><span style="caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-family: monospace; font-size: 15px; white-space: pre-wrap;" class="">Script:
--
: 'RUN: at line 1';   rm -rf /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp
: 'RUN: at line 2';   /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/bin/clang -cc1 -internal-isystem /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/lib/clang/9.0.0/include -nostdsysteminc -fmodules-cache-path=/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp -fmodules -fimplicit-module-maps -I /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/Inputs /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/builtins.m -verify
: 'RUN: at line 3';   /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/bin/clang -cc1 -internal-isystem /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/lib/clang/9.0.0/include -nostdsysteminc -fmodules-cache-path=/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp -fmodules -fimplicit-module-maps -I /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/Inputs -x c /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/builtins.m -verify
: 'RUN: at line 4';   /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/bin/clang -cc1 -internal-isystem /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/lib/clang/9.0.0/include -nostdsysteminc -fmodules-cache-path=/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp -fmodules -fimplicit-module-maps -I /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/Inputs -x objective-c++ /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/builtins.m -verify
: 'RUN: at line 6';   rm -rf /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp.pch.cache
: 'RUN: at line 7';   /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/bin/clang -cc1 -internal-isystem /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/lib/clang/9.0.0/include -nostdsysteminc -fmodules-cache-path=/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp.pch.cache -fmodules -fimplicit-module-maps -I /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/Inputs -emit-pch -o /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp.pch -x objective-c-header /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/Inputs/use-builtin.h
: 'RUN: at line 8';   /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/bin/clang -cc1 -internal-isystem /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/lib/clang/9.0.0/include -nostdsysteminc -fmodules-cache-path=/Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp.pch.cache -fmodules -fimplicit-module-maps -I /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/Inputs /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/builtins.m -include-pch /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/clang-build/tools/clang/test/Modules/Output/builtins.m.tmp.pch /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/test/Modules/builtins.m -verify
--
Exit Code: 134

Command Output (stderr):
--
</span><a id="-964495996d489585b-5106-414a-ac11-3ff90657619c" style="box-sizing: border-box; word-wrap: break-word; caret-color: rgb(51, 51, 51); color: rgb(51, 51, 51); font-family: monospace; font-size: 15px; white-space: pre-wrap; display: block; position: relative; top: -2em; visibility: hidden;" class=""></a><span title="Assertion failure" style="box-sizing: border-box; font-family: monospace; font-size: 15px; white-space: pre-wrap; color: white; background-color: red;" class="">Assertion failed: ((Imported == nullptr || Imported == SuggestedModule.getModule()) && "the imported module is different than the suggested one"), function HandleIncludeDirective, file /Users/buildslave/jenkins/workspace/clang-stage1-cmake-RA-incremental/llvm/tools/clang/lib/Lex/PPDirectives.cpp, line 1952.</span><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Mar 11, 2019, at 12:51 PM, Alexey Bataev via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" class="">cfe-commits@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Author: abataev<br class="">Date: Mon Mar 11 12:51:42 2019<br class="">New Revision: 355858<br class=""><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=355858&view=rev" class="">http://llvm.org/viewvc/llvm-project?rev=355858&view=rev</a><br class="">Log:<br class="">[OPENMP]Fix codegen for declare target link in target regions.<br class=""><br class="">If the declare target link global is used in the target region<br class="">indirectly (used in the inner parallel, teams, etc. regions), we may<br class="">miss this variable and it leads to incorrect codegen.<br class=""><br class="">Modified:<br class="">    cfe/trunk/lib/Sema/SemaOpenMP.cpp<br class="">    cfe/trunk/test/OpenMP/declare_target_link_codegen.cpp<br class=""><br class="">Modified: cfe/trunk/lib/Sema/SemaOpenMP.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaOpenMP.cpp?rev=355858&r1=355857&r2=355858&view=diff" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaOpenMP.cpp?rev=355858&r1=355857&r2=355858&view=diff</a><br class="">==============================================================================<br class="">--- cfe/trunk/lib/Sema/SemaOpenMP.cpp (original)<br class="">+++ cfe/trunk/lib/Sema/SemaOpenMP.cpp Mon Mar 11 12:51:42 2019<br class="">@@ -147,6 +147,9 @@ private:<br class="">     /// Reference to the taskgroup task_reduction reference expression.<br class="">     Expr *TaskgroupReductionRef = nullptr;<br class="">     llvm::DenseSet<QualType> MappedClassesQualTypes;<br class="">+    /// List of globals marked as declare target link in this target region<br class="">+    /// (isOpenMPTargetExecutionDirective(Directive) == true).<br class="">+    llvm::SmallVector<DeclRefExpr *, 4> DeclareTargetLinkVarDecls;<br class="">     SharingMapTy(OpenMPDirectiveKind DKind, DeclarationNameInfo Name,<br class="">                  Scope *CurScope, SourceLocation Loc)<br class="">         : Directive(DKind), DirectiveName(Name), CurScope(CurScope),<br class="">@@ -674,6 +677,31 @@ public:<br class="">     return StackElem.MappedClassesQualTypes.count(QT) != 0;<br class="">   }<br class=""><br class="">+  /// Adds global declare target to the parent target region.<br class="">+  void addToParentTargetRegionLinkGlobals(DeclRefExpr *E) {<br class="">+    assert(*OMPDeclareTargetDeclAttr::isDeclareTargetDeclaration(<br class="">+               E->getDecl()) == OMPDeclareTargetDeclAttr::MT_Link &&<br class="">+           "Expected declare target link global.");<br class="">+    if (isStackEmpty())<br class="">+      return;<br class="">+    auto It = Stack.back().first.rbegin();<br class="">+    while (It != Stack.back().first.rend() &&<br class="">+           !isOpenMPTargetExecutionDirective(It->Directive))<br class="">+      ++It;<br class="">+    if (It != Stack.back().first.rend()) {<br class="">+      assert(isOpenMPTargetExecutionDirective(It->Directive) &&<br class="">+             "Expected target executable directive.");<br class="">+      It->DeclareTargetLinkVarDecls.push_back(E);<br class="">+    }<br class="">+  }<br class="">+<br class="">+  /// Returns the list of globals with declare target link if current directive<br class="">+  /// is target.<br class="">+  ArrayRef<DeclRefExpr *> getLinkGlobals() const {<br class="">+    assert(isOpenMPTargetExecutionDirective(getCurrentDirective()) &&<br class="">+           "Expected target executable directive.");<br class="">+    return Stack.back().first.back().DeclareTargetLinkVarDecls;<br class="">+  }<br class=""> };<br class=""><br class=""> bool isImplicitTaskingRegion(OpenMPDirectiveKind DKind) {<br class="">@@ -2414,8 +2442,18 @@ public:<br class="">       // Define implicit data-sharing attributes for task.<br class="">       DVar = Stack->getImplicitDSA(VD, /*FromParent=*/false);<br class="">       if (isOpenMPTaskingDirective(DKind) && DVar.CKind != OMPC_shared &&<br class="">-          !Stack->isLoopControlVariable(VD).first)<br class="">+          !Stack->isLoopControlVariable(VD).first) {<br class="">         ImplicitFirstprivate.push_back(E);<br class="">+        return;<br class="">+      }<br class="">+<br class="">+      // Store implicitly used globals with declare target link for parent<br class="">+      // target.<br class="">+      if (!isOpenMPTargetExecutionDirective(DKind) && Res &&<br class="">+          *Res == OMPDeclareTargetDeclAttr::MT_Link) {<br class="">+        Stack->addToParentTargetRegionLinkGlobals(E);<br class="">+        return;<br class="">+      }<br class="">     }<br class="">   }<br class="">   void VisitMemberExpr(MemberExpr *E) {<br class="">@@ -2573,7 +2611,13 @@ public:<br class="">   }<br class=""><br class="">   DSAAttrChecker(DSAStackTy *S, Sema &SemaRef, CapturedStmt *CS)<br class="">-      : Stack(S), SemaRef(SemaRef), ErrorFound(false), CS(CS) {}<br class="">+      : Stack(S), SemaRef(SemaRef), ErrorFound(false), CS(CS) {<br class="">+    // Process declare target link variables for the target directives.<br class="">+    if (isOpenMPTargetExecutionDirective(S->getCurrentDirective())) {<br class="">+      for (DeclRefExpr *E : Stack->getLinkGlobals())<br class="">+        Visit(E);<br class="">+    }<br class="">+  }<br class=""> };<br class=""> } // namespace<br class=""><br class=""><br class="">Modified: cfe/trunk/test/OpenMP/declare_target_link_codegen.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/declare_target_link_codegen.cpp?rev=355858&r1=355857&r2=355858&view=diff" class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/declare_target_link_codegen.cpp?rev=355858&r1=355857&r2=355858&view=diff</a><br class="">==============================================================================<br class="">--- cfe/trunk/test/OpenMP/declare_target_link_codegen.cpp (original)<br class="">+++ cfe/trunk/test/OpenMP/declare_target_link_codegen.cpp Mon Mar 11 12:51:42 2019<br class="">@@ -37,10 +37,13 @@ int maini1() {<br class="">   {<br class="">     a = c;<br class="">   }<br class="">+#pragma omp target<br class="">+#pragma omp teams<br class="">+  c = a;<br class="">   return 0;<br class=""> }<br class=""><br class="">-// DEVICE: define weak void @__omp_offloading_{{.*}}_{{.*}}maini1{{.*}}_l[[@LINE-7]](i32* dereferenceable{{[^,]*}}<br class="">+// DEVICE: define weak void @__omp_offloading_{{.*}}_{{.*}}maini1{{.*}}_l[[@LINE-10]](i32* dereferenceable{{[^,]*}}<br class=""> // DEVICE: [[C_REF:%.+]] = load i32*, i32** @c_decl_tgt_link_ptr,<br class=""> // DEVICE: [[C:%.+]] = load i32, i32* [[C_REF]],<br class=""> // DEVICE: store i32 [[C]], i32* %<br class="">@@ -59,9 +62,10 @@ int maini1() {<br class=""> // HOST: [[BP0:%.+]] = getelementptr inbounds [2 x i8*], [2 x i8*]* [[BASEPTRS]], i{{[0-9]+}} 0, i{{[0-9]+}} 0<br class=""> // HOST: [[P0:%.+]] = getelementptr inbounds [2 x i8*], [2 x i8*]* [[PTRS]], i{{[0-9]+}} 0, i{{[0-9]+}} 0<br class=""> // HOST: call i32 @__tgt_target(i64 -1, i8* @{{[^,]+}}, i32 2, i8** [[BP0]], i8** [[P0]], i64* getelementptr inbounds ([2 x i64], [2 x i64]* [[SIZES]], i{{[0-9]+}} 0, i{{[0-9]+}} 0), i64* getelementptr inbounds ([2 x i64], [2 x i64]* [[MAPTYPES]], i{{[0-9]+}} 0, i{{[0-9]+}} 0))<br class="">-// HOST: call void @__omp_offloading_{{.*}}_{{.*}}maini1{{.*}}_l[[@LINE-26]](i32* %{{[^,]+}})<br class="">+// HOST: call void @__omp_offloading_{{.*}}_{{.*}}maini1{{.*}}_l[[@LINE-29]](i32* %{{[^,]+}})<br class="">+// HOST: call i32 @__tgt_target_teams(i64 -1, i8* @.__omp_offloading_{{.+}}_l40.region_id, i32 2, {{.+}})<br class=""><br class="">-// HOST: define internal void @__omp_offloading_{{.*}}_{{.*}}maini1{{.*}}_l[[@LINE-28]](i32* dereferenceable{{.*}})<br class="">+// HOST: define internal void @__omp_offloading_{{.*}}_{{.*}}maini1{{.*}}_l[[@LINE-32]](i32* dereferenceable{{.*}})<br class=""> // HOST: [[C:%.*]] = load i32, i32* @c,<br class=""> // HOST: store i32 [[C]], i32* %<br class=""><br class=""><br class=""><br class="">_______________________________________________<br class="">cfe-commits mailing list<br class=""><a href="mailto:cfe-commits@lists.llvm.org" class="">cfe-commits@lists.llvm.org</a><br class="">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits<br class=""></div></div></blockquote></div><br class=""></div></body></html>