@@ -0,0 +1,8530 @@
+//===-- AArch64.cpp - Emit LLVM Code for builtins
-===//
+//
+// 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: A
https://github.com/MacDue approved this pull request.
https://github.com/llvm/llvm-project/pull/132310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MacDue wrote:
> This makes a lot of sense to me, just wondering why you chose
> `clang/lib/CodeGen/BuiltinTargets/` rather than
> `clang/lib/CodeGen/TargetBuiltins/`? The former shounds like it contains the
> list of all builtin targets, rather than the codegen for target-specific
> builtins.
https://github.com/MacDue approved this pull request.
https://github.com/llvm/llvm-project/pull/133375
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/133375
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,8530 @@
+//===-- AArch64.cpp - Emit LLVM Code for builtins
-===//
+//
+// 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: A
MacDue wrote:
Thanks for the report :+1: It looks like all we have to do is set the
legalization rule for f32 to "Promote". Looks like there's actually already
logic to do this for a bunch of other nodes:
>From X86ISelLowering.cpp:
```c++
// On 32 bit MSVC, `fmodf(f32)` is not defined - only
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/105608
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/130761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue created
https://github.com/llvm/llvm-project/pull/130761
Reverts
https://github.com/llvm/llvm-project/commit/c40f0fe4348bb9304b95bd317665bf1cb2bdcc85
Original description:
This updates the existing modf[f|l] builtin to be lowered via the llvm.modf.*
intrinsic (rather
https://github.com/MacDue approved this pull request.
LGTM too, and lines up with the ACLE update + sysreg spec.
https://github.com/llvm/llvm-project/pull/105608
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mai
https://github.com/MacDue approved this pull request.
https://github.com/llvm/llvm-project/pull/116761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/116761
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue created
https://github.com/llvm/llvm-project/pull/129885
Reverts llvm/llvm-project#127987
Original description:
This updates the existing modf[f|l] builtin to be lowered via the llvm.modf.*
intrinsic (rather than directly to a library call).
The legalization issues e
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/127065
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MacDue wrote:
I think with the `AllowMisalignedMemAccesses` check (preventing this applying
when `+strict-align` is set) this _probably_ okay. The `LDR ZPR` notes:
> The load is performed as contiguous byte accesses, with no endian conversion
> and no guarantee of single-copy atomicity larger
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/127065
>From a9631573a2b6d26e8b41de67fac67247ce0b0829 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Thu, 13 Feb 2025 14:23:33 +
Subject: [PATCH 1/2] [clang] Add `__builtin_sincospi` that lowers to
`llvm.sin
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/127987
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue created
https://github.com/llvm/llvm-project/pull/127987
Reverts llvm/llvm-project#126750
Revering while I investigate:
https://lab.llvm.org/buildbot/#/builders/72/builds/8406
>From e082cbf5fd4f889762e12062d2544f862339b959 Mon Sep 17 00:00:00 2001
From: Benjamin Max
MacDue wrote:
I think this patch should fix the issue:
https://github.com/llvm/llvm-project/pull/127895
https://github.com/llvm/llvm-project/pull/126750
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/lis
MacDue wrote:
> From this patch? https://lab.llvm.org/buildbot/#/builders/72/builds/8380
>
> FYI @fmayer
Looks like it, I had missed it in the log but the actual error is:
> ExpandFloatResult #0: t57: ppcf128,ppcf128 = fmodf
> ConstantFP:ppcf128,
> llvm-project/compiler-rt/lib/msan/tests/msan
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/126750
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/121763
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/121763
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MacDue wrote:
> I'm a hard no on making this a target dependent option. Just enable it
> unconditionally and take the regression
Fine, I don't mind the regression as it does not affect targets I work on, I
just wanted to make the changes needed for AArch64 without knowingly slightly
regressin
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/121763
>From 42b096396f36adc6f1ad34de263a80dd7e4e0960 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Mon, 6 Jan 2025 11:49:48 +
Subject: [PATCH 1/5] [clang] Lower non-builtin sincos[f|l] calls to
llvm.sincos
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/121763
>From 42b096396f36adc6f1ad34de263a80dd7e4e0960 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Mon, 6 Jan 2025 11:49:48 +
Subject: [PATCH 1/4] [clang] Lower non-builtin sincos[f|l] calls to
llvm.sincos
MacDue wrote:
I've pushed a change to restrict this to AArch64 (other targets could enable it
too) given no reply above, or progress on
https://github.com/llvm/llvm-project/pull/123787.
https://github.com/llvm/llvm-project/pull/121763
___
cfe-commits
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/121763
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/121763
>From 42b096396f36adc6f1ad34de263a80dd7e4e0960 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Mon, 6 Jan 2025 11:49:48 +
Subject: [PATCH 1/3] [clang] Lower non-builtin sincos[f|l] calls to
llvm.sincos
MacDue wrote:
I've disabled the intrinsic lowering for both `sincos`/`sincospi` when strictfp
is enabled (and added a test for that).
I think I might need to cherry-pick the `sincos` fix onto the release 20.x
branch too.
https://github.com/llvm/llvm-project/pull/127065
__
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/126750
>From eee5bc815c4b6b7e5a18503959b2a2354d73058b Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Tue, 11 Feb 2025 15:32:23 +
Subject: [PATCH 1/5] [clang] Lower modf builtin using `llvm.modf` intrinsic
Th
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/127065
>From f98f80df7b93722581c04d181eea4273d4f1 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Thu, 13 Feb 2025 14:23:33 +
Subject: [PATCH 1/2] [clang] Add `__builtin_sincospi` that lowers to
`llvm.sin
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/126750
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/126750
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4096,6 +4114,15 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl
GD, unsigned BuiltinID,
case Builtin::BI__builtin_frexpf128:
case Builtin::BI__builtin_frexpf16:
return RValue::get(emitFrexpBuiltin(*this, E, Intrinsic::frexp));
+ case Builtin::BImodf:
+
MacDue wrote:
> So to handle this, we need different lowering in strictfp mode, probably to a
> "constrained" intrinsic.
I've updated the lowering to simply bail out when
`Builder.getIsFPConstrained()` set (which I think corresponds to `strictfp`).
So now in the `HAS_MAYTRAP` case the lowerin
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/126750
>From eee5bc815c4b6b7e5a18503959b2a2354d73058b Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Tue, 11 Feb 2025 15:32:23 +
Subject: [PATCH 1/4] [clang] Lower modf builtin using `llvm.modf` intrinsic
Th
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/127183
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue approved this pull request.
LGTM, thanks!
https://github.com/llvm/llvm-project/pull/127183
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/127183
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/116422
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -21962,6 +21962,35 @@ SDValue tryLowerPartialReductionToWideAdd(SDNode *N,
return DAG.getNode(TopOpcode, DL, AccVT, BottomNode, ExtOp);
}
+static SDValue foldRevInvolution(SDNode *N) {
+ SDValue InnerRev = N->getOperand(1);
+ if (!InnerRev.hasOneUse())
+return SDVal
@@ -21962,6 +21962,35 @@ SDValue tryLowerPartialReductionToWideAdd(SDNode *N,
return DAG.getNode(TopOpcode, DL, AccVT, BottomNode, ExtOp);
}
+static SDValue foldRevInvolution(SDNode *N) {
MacDue wrote:
Please add a doc comment that explains what this does
@@ -21962,6 +21962,35 @@ SDValue tryLowerPartialReductionToWideAdd(SDNode *N,
return DAG.getNode(TopOpcode, DL, AccVT, BottomNode, ExtOp);
}
+static SDValue foldRevInvolution(SDNode *N) {
+ SDValue InnerRev = N->getOperand(1);
+ if (!InnerRev.hasOneUse())
+return SDVal
@@ -21962,6 +21962,35 @@ SDValue tryLowerPartialReductionToWideAdd(SDNode *N,
return DAG.getNode(TopOpcode, DL, AccVT, BottomNode, ExtOp);
}
+static SDValue foldRevInvolution(SDNode *N) {
+ SDValue InnerRev = N->getOperand(1);
+ if (!InnerRev.hasOneUse())
+return SDVal
MacDue wrote:
> > when -fno-math-errno is set
>
> What does -fno-math-errno have to do with anything? modf never sets errno
> anyway.
With the current `modf` builtin (not changed here) it skips the code path for
emitting intrinsics when `math-errno` is enabled. I think setting
`ConstIgnoring
MacDue wrote:
Typo `svcrete` -> `svcreate` (PR title/description)
https://github.com/llvm/llvm-project/pull/126754
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -859,6 +859,24 @@ static void emitSincosBuiltin(CodeGenFunction &CGF, const
CallExpr *E,
StoreCos->setMetadata(LLVMContext::MD_noalias, AliasScopeList);
}
+static llvm::Value *emitModfBuiltin(CodeGenFunction &CGF, const CallExpr *E,
+l
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/126750
>From eee5bc815c4b6b7e5a18503959b2a2354d73058b Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Tue, 11 Feb 2025 15:32:23 +
Subject: [PATCH 1/2] [clang] Lower modf builtin using `llvm.modf` intrinsic
Th
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/126721
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue created
https://github.com/llvm/llvm-project/pull/126750
This updates the existing `modf[f|l]` builtin to be lowered via the
`llvm.modf.*` intrinsic when `-fno-math-errno` is set (rather than directly to
a library call).
>From eee5bc815c4b6b7e5a18503959b2a2354d73058b
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/126721
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MacDue wrote:
Given it looks like #123787 won't be accepted (due to compile time
regressions), I think we should restrict this lowering to AArch64 (and other
supported targets) until there's a solution for targets without AA in codegen
too. Does that seem reasonable?
https://github.com/llvm
MacDue wrote:
/cherry-pick
https://github.com/llvm/llvm-project/commit/692c9b210728323ac499a402ee6eb901f35856f2
https://github.com/llvm/llvm-project/pull/125077
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mai
https://github.com/MacDue milestoned
https://github.com/llvm/llvm-project/pull/125077
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/125077
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/125077
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MacDue wrote:
> Maybe the description here should more explicitly state that it looks for
> function pointers as well as functions...
>
> >
Good idea :+1: I've attempted to clarify what this function does now (in the
doc comment).
> Probably we should fix the error message not to mention K&
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/125077
>From 620bb22d1b44f3c60e15d2847fdcfd3dd9aafa51 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Thu, 30 Jan 2025 15:08:24 +
Subject: [PATCH 1/2] [clang] Support member function poiners in
Decl::getFunct
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/125077
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MacDue wrote:
Created an issue for the `alloc_align` attribute:
https://github.com/llvm/llvm-project/issues/125078
https://github.com/llvm/llvm-project/pull/125077
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/
https://github.com/MacDue created
https://github.com/llvm/llvm-project/pull/125077
This seems consistent with the documentation which claims it:
```
/// Looks through the Decl's underlying type to extract a FunctionType
/// when possible. Will return null if the type underlying the Decl does no
MacDue wrote:
/cherry-pick
https://github.com/llvm/llvm-project/commit/7939ce6295e7fc0214cd307f97dfccc0cabde381
https://github.com/llvm/llvm-project/pull/124968
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mai
https://github.com/MacDue milestoned
https://github.com/llvm/llvm-project/pull/124968
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue approved this pull request.
LGTM (assuming pre-commit goes green)
https://github.com/llvm/llvm-project/pull/125051
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com
https://github.com/MacDue milestoned
https://github.com/llvm/llvm-project/pull/124750
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MacDue wrote:
/cherry-pick
https://github.com/llvm/llvm-project/commit/2b7509e9885c9a5656bb3c201421e146a21fb88e
https://github.com/llvm/llvm-project/pull/124750
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mai
MacDue wrote:
/cherry-pick
https://github.com/llvm/llvm-project/commit/2b7509e9885c9a5656bb3c201421e146a21fb88e
https://github.com/llvm/llvm-project/pull/124750
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mai
@@ -2808,6 +2812,7 @@ void MicrosoftCXXNameMangler::mangleType(const
BuiltinType *T, Qualifiers,
#define SVE_TYPE(Name, Id, SingletonId) \
case BuiltinType::Id:
+#define SVE_SCALAR_TYPE(Name, MangledName, Id, SingletonId, Bits)
MacDue wrote:
You could defi
@@ -2808,6 +2812,7 @@ void MicrosoftCXXNameMangler::mangleType(const
BuiltinType *T, Qualifiers,
#define SVE_TYPE(Name, Id, SingletonId) \
case BuiltinType::Id:
+#define SVE_SCALAR_TYPE(Name, MangledName, Id, SingletonId, Bits)
MacDue wrote:
With the curre
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/124968
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/124968
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2808,6 +2812,7 @@ void MicrosoftCXXNameMangler::mangleType(const
BuiltinType *T, Qualifiers,
#define SVE_TYPE(Name, Id, SingletonId) \
case BuiltinType::Id:
+#define SVE_SCALAR_TYPE(Name, MangledName, Id, SingletonId, Bits)
MacDue wrote:
Is there a rea
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/124750
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue approved this pull request.
https://github.com/llvm/llvm-project/pull/124929
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
MacDue wrote:
> Please add some tests for lambdas with streaming attributes, for example:
>
> ```
> void f() { auto x = []__arm_locally_streaming {}; x(); }
> ```
Done :+1:
https://github.com/llvm/llvm-project/pull/124750
___
cfe-commits mailing lis
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/124750
>From cb83182da6b017397111be606c88a4eeecb4ce9d Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Tue, 28 Jan 2025 13:34:54 +
Subject: [PATCH 1/3] [clang][SME] Account for C++ lambdas in SME builtin
diagn
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/124750
>From cb83182da6b017397111be606c88a4eeecb4ce9d Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Tue, 28 Jan 2025 13:34:54 +
Subject: [PATCH 1/2] [clang][SME] Account for C++ lambdas in SME builtin
diagn
https://github.com/MacDue created
https://github.com/llvm/llvm-project/pull/124750
A C++ lambda does not inherit attributes from the parent function. So the SME
builtin diagnostics should look at the lambda's attributes, not the parent
function's.
The fix is very simple and just adds the miss
https://github.com/MacDue closed
https://github.com/llvm/llvm-project/pull/124590
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,68 @@
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme
-target-feature +sme2 -fopenmp -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sme
-target-feature +sme2 -fopenmp -fsyntax-only -verify=expected-
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/124590
>From f3083be395aa9cfb1e6d44f00a32faaee347468a Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Mon, 27 Jan 2025 16:43:58 +
Subject: [PATCH 1/3] [clang][SME] Emit error for OpemMP captured regions in
SM
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/124590
>From f3083be395aa9cfb1e6d44f00a32faaee347468a Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Mon, 27 Jan 2025 16:43:58 +
Subject: [PATCH 1/2] [clang][SME] Emit error for OpemMP captured regions in
SM
@@ -4568,9 +4568,28 @@ buildCapturedStmtCaptureList(Sema &S,
CapturedRegionScopeInfo *RSI,
return false;
}
+static std::optional
+isOpenMPCapturedRegionInArmSMEFunction(Sema const &S, CapturedRegionKind Kind)
{
+ if (!S.getLangOpts().OpenMP || Kind != CR_OpenMP)
+retu
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/124590
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4568,9 +4568,23 @@ buildCapturedStmtCaptureList(Sema &S,
CapturedRegionScopeInfo *RSI,
return false;
}
+static bool
+isOpenMPCapturedRegionInArmStreamingFunction(Sema const &S,
+ CapturedRegionKind Kind) {
+ if (!S.getLangOpt
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/124590
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/124590
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/124590
>From f3083be395aa9cfb1e6d44f00a32faaee347468a Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Mon, 27 Jan 2025 16:43:58 +
Subject: [PATCH] [clang][SME] Emit error for OpemMP captured regions in SME
fu
https://github.com/MacDue updated
https://github.com/llvm/llvm-project/pull/124590
>From 232e34b50d8e85665e331ec420ceacee716b19e6 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell
Date: Mon, 27 Jan 2025 16:43:58 +
Subject: [PATCH] [clang][SME] Emit error for OpemMP captured regions in SME
fu
https://github.com/MacDue created
https://github.com/llvm/llvm-project/pull/124590
Currently, these generate incorrect code, as streaming attributes are not
propagated to the outlined function. As we've yet to work on mixing OpenMP and
streaming functions (and determine how they should interac
MacDue wrote:
> > > > @RKSimon do you know if there is a reason CodeGen AA is not enabled for
> > > > x86?
> > > > I'd otherwise be happy to approve this patch, lowering to the intrinsic
> > > > seems like the right thing to do.
> > >
> > >
> > > I don't remember any reason for alias analysis
https://github.com/MacDue commented:
Nit on the title. Could the title be something like: `[Arch64][SVE] Lower
svrev_* to llvm.vector.reverse`? Since nothing in this PR is doing the folding
(I think the description saying this enables the fold is good).
https://github.com/llvm/llvm-project/pul
@@ -3835,6 +3835,9 @@ def err_sme_unimplemented_za_save_restore : Error<
"call to a function that shares state other than 'za' from a "
"function that has live 'za' state requires a spill/fill of ZA, which is not
yet "
"implemented">;
+def err_sme_unimplemented_agnostic_
https://github.com/MacDue approved this pull request.
LGTM, thanks for addressing my comments, just a minor nit-pick:
https://github.com/llvm/llvm-project/pull/121788
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bi
https://github.com/MacDue edited
https://github.com/llvm/llvm-project/pull/121788
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1328,4 +1328,57 @@ void SemaARM::handleInterruptAttr(Decl *D, const
ParsedAttr &AL) {
ARMInterruptAttr(getASTContext(), AL, Kind));
}
+// Check if the function definition uses any AArch64 SME features without
+// having the '+sme' feature enabled and warn
@@ -1328,4 +1328,57 @@ void SemaARM::handleInterruptAttr(Decl *D, const
ParsedAttr &AL) {
ARMInterruptAttr(getASTContext(), AL, Kind));
}
+// Check if the function definition uses any AArch64 SME features without
+// having the '+sme' feature enabled and warn
@@ -1,5 +1,19 @@
-// RUN: %clang_cc1 -triple=aarch64-gnu-linux -emit-llvm -O1 %s -o - |
FileCheck --check-prefix=NO-MATH-ERRNO %s
-// RUN: %clang_cc1 -triple=aarch64-gnu-linux -emit-llvm -fmath-errno %s -o - |
FileCheck --check-prefix=MATH-ERRNO %s
+// RUN: %clang_cc1 -triple=aa
1 - 100 of 219 matches
Mail list logo