https://github.com/Meinersbur milestoned
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Meinersbur wrote:
/cherry-pick 8de481913353a1e37264687d5cc73db0de19e6cc
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur closed
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14236,28 +14279,282 @@ bool SemaOpenMP::checkTransformableLoopNest(
return false;
},
[&OriginalInits](OMPLoopBasedDirective *Transform) {
-Stmt *DependentPreInits;
-if (auto *Dir = dyn_cast(Transform))
- DependentPreInits = Dir->
@@ -14206,10 +14211,48 @@ StmtResult
SemaOpenMP::ActOnOpenMPTargetTeamsDistributeSimdDirective(
getASTContext(), StartLoc, EndLoc, NestedLoopCount, Clauses, AStmt, B);
}
+/// Overloaded base case function
+template static bool tryHandleAs(T *, F &&) {
+ return false;
@@ -15516,6 +15811,490 @@ StmtResult
SemaOpenMP::ActOnOpenMPInterchangeDirective(
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPFuseDirective(ArrayRef Clauses,
+
@@ -0,0 +1,400 @@
+// Check no warnings/errors
+// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fopenmp -std=c++20
-fopenmp-version=60 -fsyntax-only -verify %s
+// expected-no-diagnostics
+
+// Check AST and unparsing
+// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fopenmp -std
@@ -14236,28 +14279,282 @@ bool SemaOpenMP::checkTransformableLoopNest(
return false;
},
[&OriginalInits](OMPLoopBasedDirective *Transform) {
-Stmt *DependentPreInits;
-if (auto *Dir = dyn_cast(Transform))
- DependentPreInits = Dir->
@@ -5914,6 +5935,91 @@ class OMPInterchangeDirective final : public
OMPLoopTransformationDirective {
}
};
+/// Represents the '#pragma omp fuse' loop transformation directive
+///
+/// \code{c}
+/// #pragma omp fuse
+/// {
+/// for(int i = 0; i < m1; ++i) {...}
+/// for
@@ -14236,28 +14279,282 @@ bool SemaOpenMP::checkTransformableLoopNest(
return false;
},
[&OriginalInits](OMPLoopBasedDirective *Transform) {
-Stmt *DependentPreInits;
-if (auto *Dir = dyn_cast(Transform))
- DependentPreInits = Dir->
@@ -5863,7 +5881,10 @@ class OMPInterchangeDirective final : public
OMPLoopTransformationDirective {
: OMPLoopTransformationDirective(OMPInterchangeDirectiveClass,
llvm::omp::OMPD_interchange, StartLoc,
@@ -14236,28 +14279,282 @@ bool SemaOpenMP::checkTransformableLoopNest(
return false;
},
[&OriginalInits](OMPLoopBasedDirective *Transform) {
-Stmt *DependentPreInits;
-if (auto *Dir = dyn_cast(Transform))
- DependentPreInits = Dir->
@@ -508,6 +512,43 @@ OMPInterchangeDirective::CreateEmpty(const ASTContext &C,
unsigned NumClauses,
SourceLocation(), SourceLocation(), NumLoops);
}
+OMPFuseDirective *OMPFuseDirective::Create(
+const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc,
+
https://github.com/Meinersbur deleted
https://github.com/llvm/llvm-project/pull/139293
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Meinersbur wrote:
Should we choose a different module path than `finclude` to avoid accidental
confusion between flang and gfortran modules files, e.g. `fmod`?
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@l
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur ready_for_review
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Meinersbur wrote:
@PHHargrove Thanks for the details. There is something weird about your setup.
1. `libflang_rt.runtime.a` in `arm64-apple-darwin23.6.0/`. As long as CMake
detects [`APPLE`](https://cmake.org/cmake/help/latest/variable/APPLE.html), the
install directory will be
[`CMAKE_SYSTEM_
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/151954
>From ea175cbbecc3f89319846fd20daa53711bd1969e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Mon, 4 Aug 2025 14:36:01 +0200
Subject: [PATCH 1/4] Do not use apple-specific scheme
---
flang-rt/cmake/modu
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/152189
>From d72ecacb4338043bb3689af86d10b2981d07f988 Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Tue, 5 Aug 2025 20:42:04 +0200
Subject: [PATCH 1/2] [openmp] Remove LLVM_ENABLE_PROJECTS=openmp build mode
--
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Meinersbur wrote:
For reference. compiler-rt special Apple code:
https://github.com/llvm/llvm-project/blob/9b2b5bf8cd751fabccaca1b8847b4c291aa52081/compiler-rt/cmake/Modules/CompilerRTUtils.cmake#L518
flang-rt special Apple code:
https://github.com/llvm/llvm-project/blob/9b2b5bf8cd751fabccaca1b
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/151954
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/151954
>From ea175cbbecc3f89319846fd20daa53711bd1969e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Mon, 4 Aug 2025 14:36:01 +0200
Subject: [PATCH 1/3] Do not use apple-specific scheme
---
flang-rt/cmake/modu
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/151954
>From ea175cbbecc3f89319846fd20daa53711bd1969e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Mon, 4 Aug 2025 14:36:01 +0200
Subject: [PATCH 1/2] Do not use apple-specific scheme
---
flang-rt/cmake/modu
Meinersbur wrote:
ping
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Meinersbur wrote:
> I understand this is predicated to the availability of the transformation in
> `Sema`, but this may not happen if we defer the transformation to
> `OpenMPIRBuilder` in `CodeGen`. For these cases I presume we cannot emit
> reliable diagnostics for the validity of the canonic
Meinersbur wrote:
> Maybe there is no need to recursively represent all the nested transformation?
I don't see a need to represent the entire loop structure. The only info that I
think is potentially needed is the nest depth for transformations that generate
a loop nest (e.g. tile), and for tr
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/125556
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/125556
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/125556
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -950,221 +930,264 @@ static bool addSYCLDefaultTriple(Compilation &C,
return true;
}
-void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
- InputList &Inputs) {
-
- //
- // CUDA/HIP
- //
- // We need to generate a
@@ -6,8 +6,8 @@
!-
! FRONTEND FLANG DRIVER (flang -fc1)
!-
-! RUN: %flang_fc1 -fsyntax-only %s 2>&1 | FileCheck %s --allow-empty
--check-prefix=WITHOUT
-! RUN: not %flang_fc1 -fsyntax-only -fintri
Meinersbur wrote:
Failures of the sinitizer builds look related to this
(https://lab.llvm.org/buildbot/#/builders/169/builds/13161):
```
0. Program arguments:
/home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/clang
-emit-llvm --cuda-device-only --offload=spirv32 -nocudal
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6,8 +6,8 @@
!-
! FRONTEND FLANG DRIVER (flang -fc1)
!-
-! RUN: %flang_fc1 -fsyntax-only %s 2>&1 | FileCheck %s --allow-empty
--check-prefix=WITHOUT
-! RUN: not %flang_fc1 -fsyntax-only -fintri
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 01/12] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
@@ -6,8 +6,8 @@
!-
! FRONTEND FLANG DRIVER (flang -fc1)
!-
-! RUN: %flang_fc1 -fsyntax-only %s 2>&1 | FileCheck %s --allow-empty
--check-prefix=WITHOUT
-! RUN: not %flang_fc1 -fsyntax-only -fintri
https://github.com/Meinersbur closed
https://github.com/llvm/llvm-project/pull/149417
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/149417
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur ready_for_review
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 01/11] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 1/9] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
i
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 1/8] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
i
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 1/7] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
i
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 1/6] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
i
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 1/5] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
i
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 1/4] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
i
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/137828
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3979,6 +3979,16 @@ def fsyntax_only : Flag<["-"], "fsyntax-only">,
Visibility<[ClangOption, CLOption, DXCOption, CC1Option, FC1Option,
FlangOption]>,
Group,
HelpText<"Run the preprocessor, parser and semantic analysis stages">;
+
+
+def fno_builtin_modules : Flag<["-
Meinersbur wrote:
> What's the main limitation here? If this is just a file dependency it should
> be identical to how all the OpenMP tests depend on `omp.h` being in the
> resource directory.
`omp.h` is created by `configure_file` at configure time. No dependency other
than `runtimes-configu
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH 1/2] [Flang][Flang-RT][OpenMP] Move builtin .mod generation
i
https://github.com/Meinersbur updated
https://github.com/llvm/llvm-project/pull/137828
>From 839198d61f9937b5504d5e036c67266b4b84da8e Mon Sep 17 00:00:00 2001
From: Michael Kruse
Date: Thu, 17 Jul 2025 14:09:57 +0200
Subject: [PATCH] [Flang][Flang-RT][OpenMP] Move builtin .mod generation into
https://github.com/Meinersbur approved this pull request.
LGTM, thank you
https://github.com/llvm/llvm-project/pull/135163
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -643,9 +650,7 @@ void LoopInfoStack::push(BasicBlock *Header,
clang::ASTContext &Ctx,
case LoopHintAttr::Disable:
switch (Option) {
case LoopHintAttr::Vectorize:
-// Disable vectorization by specifying a width of 1.
-setVectorizeWidth(1);
-
@@ -5237,8 +5237,8 @@ width/count of the set of target architectures supported
by your application.
...
}
-Specifying a width/count of 1 disables the optimization, and is equivalent to
-``vectorize(disable)`` or ``interleave(disable)``.
Meinersbur wrote
Meinersbur wrote:
> I think there are two possible interpretations of `vectorize(disable)
> vectorize_width(scalable)`, as follows:
>
> * It is equivalent to `vectorize(disable)` so vectorization is disabled, as
> the document says:
> > Pragmas setting transformation options imply the transf
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/139293
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14219,27 +14265,320 @@ bool SemaOpenMP::checkTransformableLoopNest(
return false;
},
[&OriginalInits](OMPLoopBasedDirective *Transform) {
-Stmt *DependentPreInits;
-if (auto *Dir = dyn_cast(Transform))
- DependentPreInits = Dir->
@@ -3256,9 +3256,8 @@ LValue CodeGenFunction::EmitDeclRefLValue(const
DeclRefExpr *E) {
var, ConvertTypeForMem(VD->getType()),
getContext().getDeclAlign(VD));
// No other cases for now.
-} else {
+} else
llvm_unreachable("DeclRefExpr for Decl not
https://github.com/Meinersbur commented:
Thanks for the work and sorry I could not have a look into it earlier
https://github.com/llvm/llvm-project/pull/139293
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailm
@@ -15499,6 +15836,496 @@ StmtResult
SemaOpenMP::ActOnOpenMPInterchangeDirective(
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPFuseDirective(ArrayRef Clauses,
+
https://github.com/Meinersbur edited
https://github.com/llvm/llvm-project/pull/139293
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,211 @@
+// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -std=c++20 -fopenmp
-fopenmp-version=60 -fsyntax-only -Wuninitialized -verify %s
+
+void func() {
+
+// expected-error@+2 {{statement after '#pragma omp fuse' must be a loop
sequence containing canonical loops
@@ -11516,6 +11516,21 @@ def note_omp_implicit_dsa : Note<
"implicitly determined as %0">;
def err_omp_loop_var_dsa : Error<
"loop iteration variable in the associated loop of 'omp %1' directive may
not be %0, predetermined as %2">;
+def warn_omp_different_loop_ind_var_typ
@@ -0,0 +1,50 @@
+// RUN: %libomp-compile-and-run | FileCheck %s --match-full-lines
+
+#ifndef HEADER
+#define HEADER
+
+#include
+#include
+
+int main() {
+ printf("do\n");
+#pragma omp fuse
+ {
+for (int i = 5; i <= 25; i += 5)
+ printf("i=%d\n", i);
+for (int
@@ -1479,7 +1492,109 @@ class SemaOpenMP : public SemaBase {
bool checkTransformableLoopNest(
OpenMPDirectiveKind Kind, Stmt *AStmt, int NumLoops,
SmallVectorImpl &LoopHelpers,
- Stmt *&Body, SmallVectorImpl> &OriginalInits);
+ Stmt *&Body, SmallVectorIm
@@ -15499,6 +15836,496 @@ StmtResult
SemaOpenMP::ActOnOpenMPInterchangeDirective(
buildPreInits(Context, PreInits));
}
+StmtResult SemaOpenMP::ActOnOpenMPFuseDirective(ArrayRef Clauses,
+
@@ -0,0 +1,400 @@
+// Check no warnings/errors
+// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fopenmp -std=c++20
-fopenmp-version=60 -fsyntax-only -verify %s
+// expected-no-diagnostics
+
+// Check AST and unparsing
+// RUN: %clang_cc1 -triple x86_64-pc-linux-gnu -fopenmp -std
@@ -11612,6 +11612,18 @@ def note_omp_implicit_dsa : Note<
"implicitly determined as %0">;
def err_omp_loop_var_dsa : Error<
"loop iteration variable in the associated loop of 'omp %1' directive may
not be %0, predetermined as %2">;
+def err_omp_not_canonical_loop : Error
@@ -973,6 +976,9 @@ class OMPLoopTransformationDirective : public
OMPLoopBasedDirective {
/// Set the number of loops generated by this loop transformation.
void setNumGeneratedLoops(unsigned Num) { NumGeneratedLoops = Num; }
+ /// Set the number of top level canonical l
@@ -22,6 +22,7 @@
#include "clang/AST/DeclOpenMP.h"
#include "clang/AST/DynamicRecursiveASTVisitor.h"
#include "clang/AST/OpenMPClause.h"
+#include "clang/AST/RecursiveASTVisitor.h"
Meinersbur wrote:
[nit] unused
https://github.com/llvm/llvm-project/pull/1392
1 - 100 of 467 matches
Mail list logo