@@ -938,6 +938,53 @@ optin.portability.UnixAPI
"
Finds implementation-defined behavior in UNIX/Posix functions.
+.. _optin-taint-TaintedAlloc:
+
+optin.taint.TaintedAlloc (C, C++)
+"""
steakhal wrote:
```sug
steakhal wrote:
Is this NFC?
https://github.com/llvm/llvm-project/pull/94357
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,23 @@
+!! The main point of this test is to check that the code compiles at all, so
the
Leporacanthicus wrote:
I have created an internal ticket to improve the code generation. It's just a
much bigger task than this one started out as. I then found m
paulwalker-arm wrote:
@momchil-velikov's commentary applies globally and is not specific to FPMR.
Which is to say, Arm switched a while back from "all system register need to be
protected by their feature flag" to "only protect system registers where there
is a need". The rational is that we
Author: Timm Bäder
Date: 2024-06-05T13:10:18+02:00
New Revision: 1ea568895aa106a61e84607edfd52c3ebf4b59bc
URL:
https://github.com/llvm/llvm-project/commit/1ea568895aa106a61e84607edfd52c3ebf4b59bc
DIFF:
https://github.com/llvm/llvm-project/commit/1ea568895aa106a61e84607edfd52c3ebf4b59bc.diff
LO
https://github.com/skatrak edited
https://github.com/llvm/llvm-project/pull/93977
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/skatrak commented:
Thank you Pranav, I think this looks good. I just have a few minor comments.
https://github.com/llvm/llvm-project/pull/93977
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/ma
@@ -5252,6 +5660,8 @@ static void emitTargetCall(OpenMPIRBuilder &OMPBuilder,
IRBuilderBase &Builder,
// emitKernelLaunch
auto &&EmitTargetCallFallbackCB =
[&](OpenMPIRBuilder::InsertPointTy IP) -> OpenMPIRBuilder::InsertPointTy
{
+LLVM_DEBUG(dbgs() << "EmitTar
@@ -5572,6 +5999,8 @@ void OpenMPIRBuilder::emitOffloadingArrays(
return;
Builder.restoreIP(AllocaIP);
+ LLVM_DEBUG(dbgs() << "Basicblock before emitOffloadingArrays\n"
+<< *(Builder.GetInsertBlock()) << "\n");
skatrak wrote:
Nit: I
@@ -5212,6 +5273,78 @@ static Function *createOutlinedFunction(
return Func;
}
+// Create an entry point for a target task with the following.
+// It'll have the following signature
+// void @.omp_target_task_proxy_func(i32 %thread.id, ptr %task)
+// This function is called
@@ -0,0 +1,37 @@
+! Offloading test checking the use of the depend clause on
+! the target construct
+! REQUIRES: flang, amdgcn-amd-amdhsa
+! UNSUPPORTED: nvptx64-nvidia-cuda
+! UNSUPPORTED: nvptx64-nvidia-cuda-LTO
+! UNSUPPORTED: aarch64-unknown-linux-gnu
+! UNSUPPORTED: aarch64-
@@ -5272,36 +5682,53 @@ static void emitTargetCall(OpenMPIRBuilder &OMPBuilder,
IRBuilderBase &Builder,
Value *DynCGGroupMem = Builder.getInt32(0);
bool HasNoWait = false;
+ bool HasDependencies = Dependencies.size() > 0;
+ bool RequiresOuterTargetTask = HasNoWait || Ha
@@ -792,6 +792,9 @@ void OpenMPIRBuilder::finalize(Function *Fn) {
if (!OffloadInfoManager.empty())
createOffloadEntriesAndInfoMetadata(ErrorReportFn);
+
+ LLVM_DEBUG(dbgs() << "Module after OMPIRBuilder::finalize\n");
+ LLVM_DEBUG(dbgs() << M << "\n");
---
@@ -1698,6 +1701,64 @@ void OpenMPIRBuilder::createTaskyield(const
LocationDescription &Loc) {
emitTaskyieldImpl(Loc);
}
+// Processes the dependencies in Dependencies and does the following
+// - Allocates space on the stack of an array of DependInfo objects
+// - Populate
@@ -705,28 +728,9 @@ convertOmpTaskOp(omp::TaskOp taskOp, llvm::IRBuilderBase
&builder,
};
SmallVector dds;
- if (!taskOp.getDependVars().empty() && taskOp.getDepends()) {
-for (auto dep :
- llvm::zip(taskOp.getDependVars(), taskOp.getDepends()->getValue()))
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/94279
>From a413428bb0fdcd45b4a251e385b6cc00ff6a0a2c Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Mon, 3 Jun 2024 19:57:49 +0100
Subject: [PATCH 1/2] [AArch64] Decouple feature dependency expansion.
The
@@ -718,12 +718,16 @@ def ProcessorFeatures {
list AppleA13 = [HasV8_4aOps, FeatureCrypto,
FeatureFPARMv8,
FeatureNEON, FeaturePerfMon,
FeatureFullFP16,
FeatureFP16FML, FeatureSHA3];
+ // Apple A14 a
@@ -286,7 +286,6 @@ void AArch64TargetInfo::getTargetDefinesARMV84A(const
LangOptions &Opts,
void AArch64TargetInfo::getTargetDefinesARMV85A(const LangOptions &Opts,
MacroBuilder &Builder) const {
Builder.defineMacro("__ARM_FEA
https://github.com/dkrupp updated
https://github.com/llvm/llvm-project/pull/92420
>From f6fdd544a90b865e5e0e530930db87cad405216e Mon Sep 17 00:00:00 2001
From: Daniel Krupp
Date: Tue, 30 Apr 2024 15:20:52 +0200
Subject: [PATCH 1/8] [analyzer] Adding taint analysis capability to
unix.Malloc che
https://github.com/hokein updated
https://github.com/llvm/llvm-project/pull/86512
>From 0eec9639530a137da6c4c4b2cc4249a3f9dd9939 Mon Sep 17 00:00:00 2001
From: Haojian Wu
Date: Mon, 25 Mar 2024 15:10:51 +0100
Subject: [PATCH] [clang] Implement a bitwise_copyable builtin type trait.
This patch
Author: Timm Bäder
Date: 2024-06-05T13:24:22+02:00
New Revision: 5f2aa912766e4d48a5b46afa7ad9e99a41a51ee8
URL:
https://github.com/llvm/llvm-project/commit/5f2aa912766e4d48a5b46afa7ad9e99a41a51ee8
DIFF:
https://github.com/llvm/llvm-project/commit/5f2aa912766e4d48a5b46afa7ad9e99a41a51ee8.diff
LO
Author: Timm Bäder
Date: 2024-06-05T13:24:22+02:00
New Revision: 145815c180fc82c5a55bf568d01d98d250490a55
URL:
https://github.com/llvm/llvm-project/commit/145815c180fc82c5a55bf568d01d98d250490a55
DIFF:
https://github.com/llvm/llvm-project/commit/145815c180fc82c5a55bf568d01d98d250490a55.diff
LO
https://github.com/tmatheson-arm updated
https://github.com/llvm/llvm-project/pull/92600
>From 518b83ab69c4852f7e7ea71c17df3f58e8ff50ef Mon Sep 17 00:00:00 2001
From: Tomas Matheson
Date: Fri, 17 May 2024 21:39:17 +0100
Subject: [PATCH 1/4] [AArch64] set AppleA14 architecture version to 8.5
--
https://github.com/tmatheson-arm updated
https://github.com/llvm/llvm-project/pull/92600
>From 518b83ab69c4852f7e7ea71c17df3f58e8ff50ef Mon Sep 17 00:00:00 2001
From: Tomas Matheson
Date: Fri, 17 May 2024 21:39:17 +0100
Subject: [PATCH 1/5] [AArch64] set AppleA14 architecture version to 8.5
--
https://github.com/hokein updated
https://github.com/llvm/llvm-project/pull/86512
>From 3ce87797dbc36ae792b4d82077cd8f27f1eee53e Mon Sep 17 00:00:00 2001
From: Haojian Wu
Date: Mon, 25 Mar 2024 15:10:51 +0100
Subject: [PATCH] [clang] Implement a bitwise_copyable builtin type trait.
This patch
@@ -118,6 +124,37 @@ llvm::Type *CodeGenTypes::ConvertTypeForMem(QualType T,
bool ForBitField) {
return R;
}
+bool CodeGenTypes::LLVMTypeLayoutMatchesAST(QualType ASTTy,
+llvm::Type *LLVMTy) {
+ CharUnits ASTSize = Context.getTyp
@@ -118,6 +124,37 @@ llvm::Type *CodeGenTypes::ConvertTypeForMem(QualType T,
bool ForBitField) {
return R;
}
+bool CodeGenTypes::LLVMTypeLayoutMatchesAST(QualType ASTTy,
+llvm::Type *LLVMTy) {
+ CharUnits ASTSize = Context.getTyp
https://github.com/steakhal approved this pull request.
https://github.com/llvm/llvm-project/pull/92420
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Timm Bäder
Date: 2024-06-05T13:57:23+02:00
New Revision: 3388c5aadd8583b5a596576c52be886104d557f2
URL:
https://github.com/llvm/llvm-project/commit/3388c5aadd8583b5a596576c52be886104d557f2
DIFF:
https://github.com/llvm/llvm-project/commit/3388c5aadd8583b5a596576c52be886104d557f2.diff
LO
Author: Timm Bäder
Date: 2024-06-05T13:57:23+02:00
New Revision: a16d33eaebb3fdbc9435c125c206372c8a7374d5
URL:
https://github.com/llvm/llvm-project/commit/a16d33eaebb3fdbc9435c125c206372c8a7374d5
DIFF:
https://github.com/llvm/llvm-project/commit/a16d33eaebb3fdbc9435c125c206372c8a7374d5.diff
LO
Author: Timm Bäder
Date: 2024-06-05T13:57:23+02:00
New Revision: c70fa55bed45fc0cc0063e9f0bf93f163b5a1962
URL:
https://github.com/llvm/llvm-project/commit/c70fa55bed45fc0cc0063e9f0bf93f163b5a1962
DIFF:
https://github.com/llvm/llvm-project/commit/c70fa55bed45fc0cc0063e9f0bf93f163b5a1962.diff
LO
AaronBallman wrote:
So are we in a chicken-and-egg situation where we need some support in-tree in
order to have a reason to set up a postcommit test bot but we don't want to
land untested changes?
At the end of the day, if we're claiming support for something, we need it to
be tested and thi
https://github.com/AaronBallman approved this pull request.
LGTM!
https://github.com/llvm/llvm-project/pull/93430
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/AaronBallman edited
https://github.com/llvm/llvm-project/pull/93430
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -13367,6 +13367,8 @@ static void DiagnoseConstAssignment(Sema &S, const Expr
*E,
if (!DiagnosticEmitted) {
S.Diag(Loc, diag::err_typecheck_assign_const)
<< ExprRange << ConstVariable << VD << VD->getType();
+ S.Diag(Loc, diag::note_t
vgvassilev wrote:
That would make sense. I am not sure if we can set a post commit bot though.
@argentite what do you think?
https://github.com/llvm/llvm-project/pull/86402
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org
vgvassilev wrote:
@AaronBallman, to be fair, clang is testing the wasm features in terms of
output. So this is wiring up a bunch of tested features that will allow
execution. Clang generally does not test execution but output, so we are not
creating a precedent here since that PR can be consid
AaronBallman wrote:
> @AaronBallman, to be fair, clang is testing the wasm features in terms of
> output. So this is wiring up a bunch of tested features that will allow
> execution. Clang generally does not test execution but output, so we are not
> creating a precedent here since that PR can
vgvassilev wrote:
> > @AaronBallman, to be fair, clang is testing the wasm features in terms of
> > output. So this is wiring up a bunch of tested features that will allow
> > execution. Clang generally does not test execution but output, so we are
> > not creating a precedent here since that
AaronBallman wrote:
> > > @AaronBallman, to be fair, clang is testing the wasm features in terms of
> > > output. So this is wiring up a bunch of tested features that will allow
> > > execution. Clang generally does not test execution but output, so we are
> > > not creating a precedent here s
https://github.com/skatrak updated
https://github.com/llvm/llvm-project/pull/94359
>From 88a2553168b4fd3ad1b65b855c2bdf5aba09d126 Mon Sep 17 00:00:00 2001
From: Sergio Afonso
Date: Tue, 4 Jun 2024 15:26:38 +0100
Subject: [PATCH 1/2] [Flang][OpenMP] Add -fopenmp-force-usm option to flang
This p
@@ -259,9 +258,9 @@ void
UnnecessaryCopyInitialization::registerMatchers(MatchFinder *Finder) {
.bind("blockStmt");
};
-
Finder->addMatcher(LocalVarCopiedFrom(anyOf(isConstRefReturningFunctionCall(),
- isConstRefReturni
vgvassilev wrote:
> > > > @AaronBallman, to be fair, clang is testing the wasm features in terms
> > > > of output. So this is wiring up a bunch of tested features that will
> > > > allow execution. Clang generally does not test execution but output, so
> > > > we are not creating a precedent
hokein wrote:
@vgvassilev
The reland d999ce0302f06d250f6d496b56a5a5f2dc331e61 makes the clang reject the
valid code now:
```
$ cat /tmp/t33.cpp
#include
#include
int main() {
}
@@ -149,6 +149,63 @@ class TextTokenRetokenizer {
addToken();
}
+ /// Check if this line starts with @par or \par
+ bool startsWithParCommand() {
+unsigned Offset = 1;
+
+/// Skip all whitespace characters at the beginning.
+/// This needs to backtrack beca
vgvassilev wrote:
@hokein, ah, that's annoying. Can you provide the entire proprocessed file that
does not work? I'd like to bisect and debug.
https://github.com/llvm/llvm-project/pull/89804
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http
@@ -36,6 +36,111 @@ void extractNodesByIdTo(ArrayRef Matches,
StringRef ID,
Nodes.insert(Match.getNodeAs(ID));
}
+// If `D` has a const-qualified overload with otherwise identical
+// ref-qualifiers, returns that overload.
+const CXXMethodDecl *findConstOverload(const CXX
@@ -36,6 +36,111 @@ void extractNodesByIdTo(ArrayRef Matches,
StringRef ID,
Nodes.insert(Match.getNodeAs(ID));
}
+// If `D` has a const-qualified overload with otherwise identical
+// ref-qualifiers, returns that overload.
+const CXXMethodDecl *findConstOverload(const CXX
@@ -36,6 +36,111 @@ void extractNodesByIdTo(ArrayRef Matches,
StringRef ID,
Nodes.insert(Match.getNodeAs(ID));
}
+// If `D` has a const-qualified overload with otherwise identical
+// ref-qualifiers, returns that overload.
+const CXXMethodDecl *findConstOverload(const CXX
@@ -36,6 +36,111 @@ void extractNodesByIdTo(ArrayRef Matches,
StringRef ID,
Nodes.insert(Match.getNodeAs(ID));
}
+// If `D` has a const-qualified overload with otherwise identical
+// ref-qualifiers, returns that overload.
+const CXXMethodDecl *findConstOverload(const CXX
vgvassilev wrote:
I realize I do not entirely understand the role of the IdResolver chain in c++.
Perhaps we are better of changing this line to:
```cpp
if (!PP.isIncrementalProcessingEnabled() || getLangOpts().ObjC)
IdResolver.RemoveDecl(D);
```
to
```
if (!PP.isIncrementalPro
DerThorsten wrote:
> > > @AaronBallman, to be fair, clang is testing the wasm features in terms of
> > > output. So this is wiring up a bunch of tested features that will allow
> > > execution. Clang generally does not test execution but output, so we are
> > > not creating a precedent here si
fanbo-meng wrote:
@uweigand can you review again pls? thanks
https://github.com/llvm/llvm-project/pull/91384
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/93742
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Erich Keane
Date: 2024-06-05T06:21:48-07:00
New Revision: 42f4e505a38480b6a714b503dd94631ae029
URL:
https://github.com/llvm/llvm-project/commit/42f4e505a38480b6a714b503dd94631ae029
DIFF:
https://github.com/llvm/llvm-project/commit/42f4e505a38480b6a714b503dd94631ae029.diff
L
hokein wrote:
Thanks for the prompt response. I think limiting it to C-only will fix the
issue (note that there is no `C` in `LangOpts`, you may want to use
`!getLangOpts().CPlusPlus` to exclude C++).
https://github.com/llvm/llvm-project/pull/89804
_
pdherbemont wrote:
> One question I have is whether there will be follow-up work for other thread
> safety attributes (`acquire_capability`, `try_acquire_capability`, etc)?
They already work fine in C so far. But if you are aware of some issues don't
hesitate to let me know!
https://github.co
vgvassilev wrote:
> Thanks for the prompt response. I think limiting it to C-only will fix the
> issue (note that there is no `C` in `LangOpts`, you may want to use
> `!getLangOpts().CPlusPlus` to exclude C++).
Makes sense. If that works for you, we can check this in. I want to somehow
record
vgvassilev wrote:
> > > > @AaronBallman, to be fair, clang is testing the wasm features in terms
> > > > of output. So this is wiring up a bunch of tested features that will
> > > > allow execution. Clang generally does not test execution but output, so
> > > > we are not creating a precedent
hokein wrote:
> Out of curiosity, in what context you use -fincremental-extensions?
The code snippet I provided is extracted from our internal test. We have an
internal clang-tool (with the `incremental-extensions` on) to generate headers
https://github.com/llvm/llvm-project/pull/89804
__
AaronBallman wrote:
> > > > > @AaronBallman, to be fair, clang is testing the wasm features in
> > > > > terms of output. So this is wiring up a bunch of tested features that
> > > > > will allow execution. Clang generally does not test execution but
> > > > > output, so we are not creating a
vgvassilev wrote:
> > Out of curiosity, in what context you use -fincremental-extensions?
>
> The code snippet I provided is extracted from our internal test. We have an
> internal clang-tool (with the `incremental-extensions` on) to generate headers
I am a bit overwhelmed right now, are you w
skatrak wrote:
Thank your for the reviews. Merging now since buildbot failure is unrelated.
https://github.com/llvm/llvm-project/pull/94359
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm
Author: Sergio Afonso
Date: 2024-06-05T14:43:58+01:00
New Revision: b9549261e218cee2ad1305fb7272b831799b7bfe
URL:
https://github.com/llvm/llvm-project/commit/b9549261e218cee2ad1305fb7272b831799b7bfe
DIFF:
https://github.com/llvm/llvm-project/commit/b9549261e218cee2ad1305fb7272b831799b7bfe.diff
https://github.com/skatrak closed
https://github.com/llvm/llvm-project/pull/94359
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
hokein wrote:
> I want to somehow record this breakage in the form of a test for our future
> selves when decide to revisit this workaround-looking code.
This is the processed file
https://gist.github.com/hokein/e4a5881329c3956494afa2de7d350476.
> I am a bit overwhelmed right now, are you wi
https://github.com/labrinea updated
https://github.com/llvm/llvm-project/pull/94279
>From a413428bb0fdcd45b4a251e385b6cc00ff6a0a2c Mon Sep 17 00:00:00 2001
From: Alexandros Lamprineas
Date: Mon, 3 Jun 2024 19:57:49 +0100
Subject: [PATCH 1/3] [AArch64] Decouple feature dependency expansion.
The
https://github.com/hokein created
https://github.com/llvm/llvm-project/pull/94471
The incremental processing mode doesn't seem to work well for C++.
>From 8457c4aa1758d10188da5978d30d2d1ed505e01e Mon Sep 17 00:00:00 2001
From: Haojian Wu
Date: Wed, 5 Jun 2024 15:46:56 +0200
Subject: [PATCH]
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Haojian Wu (hokein)
Changes
The incremental processing mode doesn't seem to work well for C++.
---
Full diff: https://github.com/llvm/llvm-project/pull/94471.diff
1 Files Affected:
- (modified) clang/lib/Sema/SemaDecl.cpp (+2-1)
``
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
@@ -0,0 +1,1037 @@
+//===-- ExpandVariadicsPass.cpp *- 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: Apach
https://github.com/pdherbemont updated
https://github.com/llvm/llvm-project/pull/94216
>From 0fd6864d7f0a85ca82f3c926a51403383c7ea0c7 Mon Sep 17 00:00:00 2001
From: Pierre d'Herbemont
Date: Wed, 29 May 2024 11:11:03 +0200
Subject: [PATCH] Support [[guarded_by(mutex)]] attribute inside C struct
@@ -10211,8 +10211,8 @@ Value *CodeGenFunction::EmitSVETupleSetOrGet(const
SVETypeFlags &TypeFlags,
"Expects TypleFlag isTupleSet or TypeFlags.isTupleSet()");
unsigned I = cast(Ops[1])->getSExtValue();
- auto *SingleVecTy = dyn_cast(
- TypeFla
https://github.com/pdherbemont updated
https://github.com/llvm/llvm-project/pull/94216
>From 7d01e8aae371e02f23b118d5b92f39fcee72723f Mon Sep 17 00:00:00 2001
From: Pierre d'Herbemont
Date: Wed, 29 May 2024 11:11:03 +0200
Subject: [PATCH] Support [[guarded_by(mutex)]] attribute inside C struct
@@ -3330,6 +3340,63 @@ void Parser::DistributeCLateParsedAttrs(Decl *Dcl,
}
}
+/// GuardedBy attributes (e.g., guarded_by):
+/// AttrName '(' expression ')'
+void Parser::ParseGuardedByAttribute(IdentifierInfo &AttrName,
+ SourceLocation
@@ -671,6 +671,16 @@ void Parser::ParseGNUAttributeArgs(
ParseBoundsAttribute(*AttrName, AttrNameLoc, Attrs, ScopeName, ScopeLoc,
Form);
return;
+ } else if (AttrKind == ParsedAttr::AT_GuardedBy) {
+ParseGuardedByAttribute(*AttrName, AttrNa
@@ -28,7 +28,12 @@
struct LOCKABLE Mutex {};
struct Foo {
- struct Mutex *mu_;
+struct Mutex *mu_;
+struct Bar {
+struct Mutex *other_mu;
+} bar;
+ int a_value GUARDED_BY(mu_);
pdherbemont wrote:
Fixed
https://github.com/llvm/llvm-proj
@@ -118,6 +124,37 @@ llvm::Type *CodeGenTypes::ConvertTypeForMem(QualType T,
bool ForBitField) {
return R;
}
+bool CodeGenTypes::LLVMTypeLayoutMatchesAST(QualType ASTTy,
+llvm::Type *LLVMTy) {
+ CharUnits ASTSize = Context.getTyp
https://github.com/Endilll commented:
`Sema.h` changes look good to me.
https://github.com/llvm/llvm-project/pull/94216
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/vgvassilev approved this pull request.
LGTM, can you include the produced errors and the steps to reproduce the
failure in the commit log? Or refer to the github post describing it?
https://github.com/llvm/llvm-project/pull/94471
__
AaronBallman wrote:
> > One question I have is whether there will be follow-up work for other
> > thread safety attributes (`acquire_capability`, `try_acquire_capability`,
> > etc)?
>
> They already work fine in C so far. But if you are aware of some issues don't
> hesitate to let me know!
A
pdherbemont wrote:
> You may also want to consider making the attribute late parsed in C when
> `-fexperimental-late-parse-attributes` is enabled. See
> https://github.com/llvm/llvm-project/pull/93121/files#diff-ae2ec9524bdbeea1f06917607482634dd89af5bcbb929805032463e5dafe79e7R2260
>
> That wil
pdherbemont wrote:
> > > One question I have is whether there will be follow-up work for other
> > > thread safety attributes (`acquire_capability`, `try_acquire_capability`,
> > > etc)?
> >
> >
> > They already work fine in C so far. But if you are aware of some issues
> > don't hesitate to
AlexVlx wrote:
> I think the point is there are two things going on here that people think of
> as unqualified:
>
> 1. "Give me a pointer that's whatever `void *` is"
> 2. "Give me a pointer in some address space just so I can put a global in
> some metadata"
>
> The vast majority of the time
1 - 100 of 472 matches
Mail list logo