alexey-bataev wrote:
> @alexey-bataev : In particular I'd like to make you aware of what I've done
> here, since this is similar to the work you've done before/will affect it. It
> is currently my thought to make the OMPArraySectionExpr type a generic
> 'ArraySectionExpr' type in the not-so-di
https://github.com/alexey-bataev approved this pull request.
https://github.com/llvm/llvm-project/pull/77617
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6106,6 +6106,8 @@ class OMPTeamsGenericLoopDirective final : public
OMPLoopDirective {
class OMPTargetTeamsGenericLoopDirective final : public OMPLoopDirective {
friend class ASTStmtReader;
friend class OMPExecutableDirective;
+ /// true if loop directive's associated
Author: Alexey Bataev
Date: 2021-07-22T07:53:37-07:00
New Revision: b455f7f22564a096c043b02fa159ab16669c121c
URL:
https://github.com/llvm/llvm-project/commit/b455f7f22564a096c043b02fa159ab16669c121c
DIFF:
https://github.com/llvm/llvm-project/commit/b455f7f22564a096c043b02fa159ab16669c121c.diff
Author: Alexey Bataev
Date: 2021-07-22T08:06:29-07:00
New Revision: f828f0a90fb14d10dbb5ac2d55c62d9dafdf8721
URL:
https://github.com/llvm/llvm-project/commit/f828f0a90fb14d10dbb5ac2d55c62d9dafdf8721
DIFF:
https://github.com/llvm/llvm-project/commit/f828f0a90fb14d10dbb5ac2d55c62d9dafdf8721.diff
Author: Alexey Bataev
Date: 2021-07-22T08:44:37-07:00
New Revision: b88a68c45e1bd065d75d5173167e7a978ea0f0f2
URL:
https://github.com/llvm/llvm-project/commit/b88a68c45e1bd065d75d5173167e7a978ea0f0f2
DIFF:
https://github.com/llvm/llvm-project/commit/b88a68c45e1bd065d75d5173167e7a978ea0f0f2.diff
Author: Alexey Bataev
Date: 2022-04-28T10:41:28-07:00
New Revision: 1462e63f67a965defec035c3bc17a5ddeb366964
URL:
https://github.com/llvm/llvm-project/commit/1462e63f67a965defec035c3bc17a5ddeb366964
DIFF:
https://github.com/llvm/llvm-project/commit/1462e63f67a965defec035c3bc17a5ddeb366964.diff
https://github.com/alexey-bataev approved this pull request.
LG.
In the current implementation there is just no difference, they have same
number of capture levels
https://github.com/llvm/llvm-project/pull/85217
___
cfe-commits mailing list
cfe-commit
alexey-bataev wrote:
You can try to run preprocessor and then manually reduce the expanded code
after preprocessor
https://github.com/llvm/llvm-project/pull/82497
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/m
https://github.com/alexey-bataev commented:
The test looks good
https://github.com/llvm/llvm-project/pull/80343
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
Do we have a user for this function?
https://github.com/llvm/llvm-project/pull/8
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
> I don't think so, because nothing is failing without it. This is just for
> completeness.
>
> Edit: My code will use it, but at the moment there aren't any users that I
> know of.
Are you going to submit your code?
https://github.com/llvm/llvm-project/pull/8
__
alexey-bataev wrote:
> > Are you going to submit your code?
>
> Yes, but it's still incomplete. I can wait with this PR if you prefer.
Yes, I think better to introduce it with the actual user.
https://github.com/llvm/llvm-project/pull/8
___
cfe-c
alexey-bataev wrote:
> I haven't removed any code logic or made alterations that would affect these
> AFAIK. I'm not sure however if these were supported in the first place. If
> @alexey-bataev has any tests for them then I could try them out before and
> after the patch and post an update her
alexey-bataev wrote:
> Thank you for working on this, it's definitely a complicated situation!
>
> > However, libclc appears to be using **attribute**((assume)) internally,
> > specifically, in one header that defines a macro that is then used
> > throughout the codebase. I’m not familiar with
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/80310
>From 92950afd39034c0184a3c807f8062e0053eead5c Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Thu, 1 Feb 2024 17:22:34 +
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
@@ -0,0 +1,140 @@
+//===- StmtOpenACC.h - Classes for OpenACC directives --*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,140 @@
+//===- StmtOpenACC.h - Classes for OpenACC directives --*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -2145,7 +2145,11 @@ enum CXCursorKind {
*/
CXCursor_OMPScopeDirective = 306,
- CXCursor_LastStmt = CXCursor_OMPScopeDirective,
+ /** OpenACC Compute Construct.
+ */
+ CXCursor_OpenACCComputeConstruct = 307,
alexey-bataev wrote:
I would suggest to
@@ -0,0 +1,142 @@
+//===- StmtOpenACC.h - Classes for OpenACC directives --*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
@@ -0,0 +1,142 @@
+//===- StmtOpenACC.h - Classes for OpenACC directives --*- C++
-*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/81188
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/83625
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3812,6 +3812,8 @@ class CodeGenFunction : public CodeGenTypeCache {
Expr *NextLB = nullptr;
/// Update of UB after a whole chunk has been executed
Expr *NextUB = nullptr;
+/// Distinguish between the for distribute and sections
+OpenMPDirectiveKind DKind
@@ -2647,6 +2647,8 @@ void CGOpenMPRuntime::emitDistributeStaticInit(
void CGOpenMPRuntime::emitForStaticFinish(CodeGenFunction &CGF,
SourceLocation Loc,
OpenMPDirectiveKind DKind) {
+ assert(D
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/80987
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
alexey-bataev wrote:
> `[[clang::assume]]` or `__attribute__((assume))` are the OpenMP one
OpenMP requires only [[omp::assume]], neither [[clang::assume]] nor
__attribute__((assume)) are OpenMP requirement.
https://github.com/llvm/llvm-project/pull/81014
___
alexey-bataev wrote:
> > > `[[clang::assume]]` or `__attribute__((assume))` are the OpenMP one
> >
> >
> > OpenMP requires only [[omp::assume]], neither [[clang::assume]] nor
> > **attribute**((assume)) are OpenMP requirement.
>
> Yeah, the weird thing is I’m not sure we support `[[omp::assum
alexey-bataev wrote:
> > > > > `[[clang::assume]]` or `__attribute__((assume))` are the OpenMP one
> > > >
> > > >
> > > > OpenMP requires only [[omp::assume]], neither [[clang::assume]] nor
> > > > **attribute**((assume)) are OpenMP requirement.
> > >
> > >
> > > Yeah, the weird thing is I’
alexey-bataev wrote:
> @alexey-bataev I have a few more questions about `[[omp::assume]]`:
>
> - Is this supported in C? Because the `[[]]` spelling is only officially
> available in C23 and later (we *do* support it in earlier language modes, but
> users will get a warning if `-pedantic` is p
alexey-bataev wrote:
> @alexey-bataev I have a few more questions about `[[omp::assume]]`:
>
> - Is this supported in C? Because the `[[]]` spelling is only officially
> available in C23 and later (we *do* support it in earlier language modes, but
> users will get a warning if `-pedantic` is p
alexey-bataev wrote:
> One more thing: this is just a different spelling for what was previously
> already exposed as `__attribute__((assume))`; I’m not sure if/how familiar
> you are with that one, but I hope its semantics align with what
> `[[omp::assume]]` is supposed to do. I’m asking beca
@@ -12,3 +14,18 @@ void f9(void) __attribute__((assume("omp_no_openmp",
"omp_no_openmp"))); // expe
int g1 __attribute__((assume(0))); // expected-error {{expected string literal
as argument of 'assume' attribute}}
int g2 __attribute__((assume("omp_no_openmp"))); // expected
@@ -11311,6 +11311,10 @@ class Sema final {
OpenMPDirectiveKind &Kind,
OpenMPDirectiveKind &PrevMappedDirective);
+ /// [target] teams loop is equivalent to parallel for if associated loop
+ /// nest meets certain critera.
+ b
@@ -1537,6 +1537,12 @@ class CodeGenModule : public CodeGenTypeCache {
void printPostfixForExternalizedDecl(llvm::raw_ostream &OS,
const Decl *D) const;
+ /// Under debug mode, print status of target teams loop transformation,
+ /// w
@@ -2966,7 +2972,17 @@ StmtResult
Parser::ParseOpenMPDeclarativeOrExecutableDirective(
getLangOpts().OpenMPIRBuilder)
AssociatedStmt = Actions.ActOnOpenMPLoopnest(AssociatedStmt.get());
}
- AssociatedStmt = Actions.ActOnOpenMPRegionEnd(Associat
@@ -2975,9 +2991,11 @@ StmtResult
Parser::ParseOpenMPDeclarativeOrExecutableDirective(
/*isStmtExpr=*/false));
AssociatedStmt = Actions.ActOnOpenMPRegionEnd(AssociatedStmt, Clauses);
}
-Directive = Actions.ActOnOp
alexey-bataev wrote:
Yes, as it was before :) no need to wait for another lgtm.
https://github.com/llvm/llvm-project/pull/80987
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev closed
https://github.com/llvm/llvm-project/pull/80987
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
Looks good. Looks like something similar should be done for goto
https://github.com/llvm/llvm-project/pull/82814
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org
@@ -7023,19 +7023,25 @@ void CodeGenFunction::EmitOMPInteropDirective(const
OMPInteropDirective &S) {
S.getSingleClause())) &&
"OMPNowaitClause clause is used separately in OMPInteropDirective.");
- if (const auto *C = S.getSingl
@@ -7023,19 +7023,25 @@ void CodeGenFunction::EmitOMPInteropDirective(const
OMPInteropDirective &S) {
S.getSingleClause())) &&
"OMPNowaitClause clause is used separately in OMPInteropDirective.");
- if (const auto *C = S.getSingl
@@ -7023,19 +7023,25 @@ void CodeGenFunction::EmitOMPInteropDirective(const
OMPInteropDirective &S) {
S.getSingleClause())) &&
"OMPNowaitClause clause is used separately in OMPInteropDirective.");
- if (const auto *C = S.getSingl
alexey-bataev wrote:
> We'd need to see what @alexey-bataev has to say about renaming the OMP assume
> attribute. I imagine that'll end up causing a headache for his users.
Thanks for the heads up. I don't think renaming to openmp_assume works for
OpenMP. We need to support `#pragma omp assume
alexey-bataev wrote:
> > Thanks for the heads up. I don't think renaming to openmp_assume works for
> > OpenMP. We need to support `#pragma omp assume`, `[[omp::assume]]` and
> > `[[using omp : assume]]` as defined by the standard.
>
> Hmm, `[[omp::assume]]` shouldn’t be an issue, because that
@@ -7023,19 +7023,25 @@ void CodeGenFunction::EmitOMPInteropDirective(const
OMPInteropDirective &S) {
S.getSingleClause())) &&
"OMPNowaitClause clause is used separately in OMPInteropDirective.");
- if (const auto *C = S.getSingl
https://github.com/alexey-bataev commented:
One big question - why do we need it in function scope for clang?
https://github.com/llvm/llvm-project/pull/83223
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman
@@ -23352,6 +23352,15 @@ void Sema::ActOnOpenMPDeclareTargetName(NamedDecl *ND,
SourceLocation Loc,
isa(ND)) &&
"Expected variable, function or function template.");
+ if (auto *VD = dyn_cast(ND)) {
alexey-bataev wrote:
checkDeclIsAllowed
@@ -11326,6 +11326,9 @@ def err_omp_device_type_mismatch : Error<
def err_omp_wrong_device_function_call : Error<
"function with 'device_type(%0)' is not available on %select{device|host}1">;
def note_omp_marked_device_type_here : Note<"marked as 'device_type(%0)'
here">;
+d
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/83223
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -7023,31 +7023,47 @@ void CodeGenFunction::EmitOMPInteropDirective(const
OMPInteropDirective &S) {
S.getSingleClause())) &&
"OMPNowaitClause clause is used separately in OMPInteropDirective.");
- if (const auto *C = S.getSingl
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/82604
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/83326
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/83398
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -534,6 +534,25 @@ class Scope {
return false;
}
+ /// Determine if this scope (or its parents) are a compute construct inside
of
+ /// the nearest 'switch' scope. This is needed to check whether we are
inside
+ /// of a 'duffs' device, which is an illegal branch
@@ -534,6 +534,25 @@ class Scope {
return false;
}
+ /// Determine if this scope (or its parents) are a compute construct inside
of
+ /// the nearest 'switch' scope. This is needed to check whether we are
inside
+ /// of a 'duffs' device, which is an illegal branch
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/83460
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -665,60 +619,44 @@ bool
clang::isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind) {
}
bool clang::isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind) {
- return DKind == OMPD_teams || DKind == OMPD_teams_distribute ||
- DKind == OMPD_teams_distr
@@ -665,60 +619,44 @@ bool
clang::isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind) {
}
bool clang::isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind) {
- return DKind == OMPD_teams || DKind == OMPD_teams_distribute ||
- DKind == OMPD_teams_distr
@@ -665,60 +619,44 @@ bool
clang::isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind) {
}
bool clang::isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind) {
- return DKind == OMPD_teams || DKind == OMPD_teams_distribute ||
- DKind == OMPD_teams_distr
@@ -665,60 +619,44 @@ bool
clang::isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind) {
}
bool clang::isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind) {
- return DKind == OMPD_teams || DKind == OMPD_teams_distribute ||
- DKind == OMPD_teams_distr
@@ -341,5 +356,19 @@ def TDL_DirA : Directive<"dira"> {
// IMPL-NEXT:}
// IMPL-NEXT:llvm_unreachable("Invalid Tdl Directive kind");
// IMPL-NEXT: }
+// IMPL-NEXT: const llvm::SmallVector
&llvm::tdl::getLeafConstructs(llvm::tdl::Directive Dir) {
alexe
@@ -665,60 +617,45 @@ bool
clang::isOpenMPTargetDataManagementDirective(OpenMPDirectiveKind DKind) {
}
bool clang::isOpenMPNestingTeamsDirective(OpenMPDirectiveKind DKind) {
- return DKind == OMPD_teams || DKind == OMPD_teams_distribute ||
- DKind == OMPD_teams_distr
@@ -231,6 +244,8 @@ static void EmitDirectivesDecl(RecordKeeper &Records,
raw_ostream &OS) {
OS << "bool isAllowedClauseForDirective(Directive D, "
<< "Clause C, unsigned Version);\n";
OS << "\n";
+ OS << "const llvm::SmallVector &getLeafConstructs(Directive
D);\n";
@@ -231,6 +244,8 @@ static void EmitDirectivesDecl(RecordKeeper &Records,
raw_ostream &OS) {
OS << "bool isAllowedClauseForDirective(Directive D, "
<< "Clause C, unsigned Version);\n";
OS << "\n";
+ OS << "const llvm::SmallVector &getLeafConstructs(Directive
D);\n";
@@ -231,6 +244,8 @@ static void EmitDirectivesDecl(RecordKeeper &Records,
raw_ostream &OS) {
OS << "bool isAllowedClauseForDirective(Directive D, "
<< "Clause C, unsigned Version);\n";
OS << "\n";
+ OS << "const llvm::SmallVector &getLeafConstructs(Directive
D);\n";
@@ -231,6 +244,8 @@ static void EmitDirectivesDecl(RecordKeeper &Records,
raw_ostream &OS) {
OS << "bool isAllowedClauseForDirective(Directive D, "
<< "Clause C, unsigned Version);\n";
OS << "\n";
+ OS << "const llvm::SmallVector &getLeafConstructs(Directive
D);\n";
@@ -435,6 +450,213 @@ static void GenerateIsAllowedClause(const
DirectiveLanguage &DirLang,
OS << "}\n"; // End of function isAllowedClauseForDirective
}
+// Generate the getLeafConstructs function implementation.
+static void GenerateGetLeafConstructs(const DirectiveLangua
https://github.com/alexey-bataev requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/83625
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11326,6 +11326,8 @@ def err_omp_device_type_mismatch : Error<
def err_omp_wrong_device_function_call : Error<
"function with 'device_type(%0)' is not available on %select{device|host}1">;
def note_omp_marked_device_type_here : Note<"marked as 'device_type(%0)'
here">;
+d
alexey-bataev wrote:
> @alexey-bataev do you have any concerns about removing this case?
I think better to add a test for complex reductions rather than removing its
support. This simple test fails without complex supports.
```
#include
int foo() {
int i;
int j;
complex float sum;
#pr
alexey-bataev wrote:
> Please can you add better comments explaining the process
Improves the rendering info, taken from gathered/buildvector nodes.
Currently, this info is taken only from vector nodes. E.g. if we have 2 nodes:
vectorized and gather/buildvector , the reoder
info is build only
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/77529
>From 7440ee8ba235fd871af0999f66d5d6130456400b Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Tue, 9 Jan 2024 21:43:31 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/78976
>From 391145a2d04873ef84c4f1083fe9b9fcdbb3b940 Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Mon, 22 Jan 2024 14:13:51 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
https://github.com/alexey-bataev closed
https://github.com/llvm/llvm-project/pull/79475
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/80164
>From cfd0dcfa1f5fabd12cf4d7bf8d5a10bd324ace0a Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Wed, 31 Jan 2024 16:47:49 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
@@ -19520,6 +19520,13 @@ static bool actOnOMPReductionKindClause(
bool FirstIter = true;
for (Expr *RefExpr : VarList) {
assert(RefExpr && "nullptr expr in OpenMP reduction clause.");
+if (ClauseKind == OMPC_reduction &&
+RD.RedModifier == OMPC_REDUCTION_ins
https://github.com/alexey-bataev approved this pull request.
LG
https://github.com/llvm/llvm-project/pull/80216
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/77529
>From 7440ee8ba235fd871af0999f66d5d6130456400b Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Tue, 9 Jan 2024 21:43:31 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/80164
>From cfd0dcfa1f5fabd12cf4d7bf8d5a10bd324ace0a Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Wed, 31 Jan 2024 16:47:49 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/80310
>From 92950afd39034c0184a3c807f8062e0053eead5c Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Thu, 1 Feb 2024 17:22:34 +
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/80310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev edited
https://github.com/llvm/llvm-project/pull/80310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/78976
>From 391145a2d04873ef84c4f1083fe9b9fcdbb3b940 Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Mon, 22 Jan 2024 14:13:51 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
@@ -17,7 +17,7 @@ define i16 @test() {
; CHECK-NEXT:[[TMP4:%.*]] = call <2 x i16>
@llvm.masked.gather.v2i16.v2p0(<2 x ptr> [[TMP3]], i32 2, <2 x i1> , <2 x i16> poison)
; CHECK-NEXT:[[TMP5:%.*]] = extractelement <2 x i16> [[TMP4]], i32 0
; CHECK-NEXT:[[TMP6:%.*]] =
@@ -30,7 +30,7 @@ define void @test() {
; CHECK-SLP-THRESHOLD: bb:
; CHECK-SLP-THRESHOLD-NEXT:[[TMP0:%.*]] = insertelement <4 x ptr> poison,
ptr [[COND_IN_V]], i32 0
; CHECK-SLP-THRESHOLD-NEXT:[[TMP1:%.*]] = shufflevector <4 x ptr>
[[TMP0]], <4 x ptr> poison, <4
@@ -7,7 +7,7 @@ define i32 @test(ptr noalias %p, ptr noalias %addr) {
; CHECK-NEXT: entry:
; CHECK-NEXT:[[TMP0:%.*]] = insertelement <8 x ptr> poison, ptr
[[ADDR:%.*]], i32 0
; CHECK-NEXT:[[TMP1:%.*]] = shufflevector <8 x ptr> [[TMP0]], <8 x ptr>
poison, <8 x i32> ze
@@ -397,27 +241,12 @@ define void @test3([48 x float]* %p, float* noalias %s) {
; CHECK-NEXT: entry:
; CHECK-NEXT:[[ARRAYIDX:%.*]] = getelementptr inbounds [48 x float], ptr
[[P:%.*]], i64 0, i64 0
; CHECK-NEXT:[[ARRAYIDX2:%.*]] = getelementptr inbounds float, ptr
[[
@@ -3878,6 +3883,130 @@ static Align computeCommonAlignment(ArrayRef
VL) {
return CommonAlignment;
}
+/// Check if \p Order represents reverse order.
+static bool isReverseOrder(ArrayRef Order) {
+ unsigned Sz = Order.size();
+ return !Order.empty() && all_of(enumerate(Or
@@ -3930,30 +4065,68 @@ static LoadsState canVectorizeLoads(ArrayRef
VL, const Value *VL0,
std::optional Diff =
getPointersDiff(ScalarTy, Ptr0, ScalarTy, PtrN, DL, SE);
// Check that the sorted loads are consecutive.
- if (static_cast(*Diff) == VL.si
@@ -3930,30 +4065,68 @@ static LoadsState canVectorizeLoads(ArrayRef
VL, const Value *VL0,
std::optional Diff =
getPointersDiff(ScalarTy, Ptr0, ScalarTy, PtrN, DL, SE);
// Check that the sorted loads are consecutive.
- if (static_cast(*Diff) == VL.si
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/80310
>From 92950afd39034c0184a3c807f8062e0053eead5c Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Thu, 1 Feb 2024 17:22:34 +
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
alexey-bataev wrote:
Ping!
https://github.com/llvm/llvm-project/pull/79837
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/80164
>From cfd0dcfa1f5fabd12cf4d7bf8d5a10bd324ace0a Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Wed, 31 Jan 2024 16:47:49 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
@@ -326,6 +326,48 @@ InstructionCost
RISCVTTIImpl::getShuffleCost(TTI::ShuffleKind Kind,
switch (Kind) {
default:
break;
+case TTI::SK_ExtractSubvector:
+ if (isa(SubTp) &&
+ LT.second.getVectorElementType() != MVT::i1) {
+unsigned TpReg
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/80164
>From cfd0dcfa1f5fabd12cf4d7bf8d5a10bd324ace0a Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Wed, 31 Jan 2024 16:47:49 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
@@ -326,6 +326,48 @@ InstructionCost
RISCVTTIImpl::getShuffleCost(TTI::ShuffleKind Kind,
switch (Kind) {
default:
break;
+case TTI::SK_ExtractSubvector:
+ if (isa(SubTp) &&
+ LT.second.getVectorElementType() != MVT::i1) {
+unsigned TpReg
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/77529
>From 7440ee8ba235fd871af0999f66d5d6130456400b Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Tue, 9 Jan 2024 21:43:31 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
https://github.com/alexey-bataev updated
https://github.com/llvm/llvm-project/pull/78976
>From 391145a2d04873ef84c4f1083fe9b9fcdbb3b940 Mon Sep 17 00:00:00 2001
From: Alexey Bataev
Date: Mon, 22 Jan 2024 14:13:51 +
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
@@ -19520,6 +19520,13 @@ static bool actOnOMPReductionKindClause(
bool FirstIter = true;
for (Expr *RefExpr : VarList) {
assert(RefExpr && "nullptr expr in OpenMP reduction clause.");
+if (ClauseKind == OMPC_reduction &&
+RD.RedModifier == OMPC_REDUCTION_ins
601 - 700 of 2048 matches
Mail list logo