https://github.com/bcardosolopes commented:
Title should start with `[CIR] ...`, more comments inline
https://github.com/llvm/llvm-project/pull/136807
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listin
wolfy1961 wrote:
LGTM
https://github.com/llvm/llvm-project/pull/136867
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -13,20 +13,76 @@
#include "CIRGenCall.h"
#include "CIRGenFunction.h"
+#include "CIRGenFunctionInfo.h"
#include "clang/CIR/MissingFeatures.h"
using namespace clang;
using namespace clang::CIRGen;
-CIRGenFunctionInfo *CIRGenFunctionInfo::create(CanQualType resultType)
@@ -47,18 +98,51 @@ class CIRGenFunctionInfo final
// This function has to be CamelCase because llvm::FoldingSet requires so.
// NOLINTNEXTLINE(readability-identifier-naming)
- static void Profile(llvm::FoldingSetNodeID &id, CanQualType resultType) {
+ static void Profil
@@ -13,20 +13,76 @@
#include "CIRGenCall.h"
#include "CIRGenFunction.h"
+#include "CIRGenFunctionInfo.h"
#include "clang/CIR/MissingFeatures.h"
using namespace clang;
using namespace clang::CIRGen;
-CIRGenFunctionInfo *CIRGenFunctionInfo::create(CanQualType resultType)
@@ -47,18 +98,51 @@ class CIRGenFunctionInfo final
// This function has to be CamelCase because llvm::FoldingSet requires so.
// NOLINTNEXTLINE(readability-identifier-naming)
- static void Profile(llvm::FoldingSetNodeID &id, CanQualType resultType) {
+ static void Profil
bcardosolopes wrote:
> It generates anonymous records for vtables and typeinfo
oh right, that was it! thanks for double checking
https://github.com/llvm/llvm-project/pull/136387
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llv
@@ -13,20 +13,76 @@
#include "CIRGenCall.h"
#include "CIRGenFunction.h"
+#include "CIRGenFunctionInfo.h"
#include "clang/CIR/MissingFeatures.h"
using namespace clang;
using namespace clang::CIRGen;
-CIRGenFunctionInfo *CIRGenFunctionInfo::create(CanQualType resultType)
@@ -13,20 +13,76 @@
#include "CIRGenCall.h"
#include "CIRGenFunction.h"
+#include "CIRGenFunctionInfo.h"
#include "clang/CIR/MissingFeatures.h"
using namespace clang;
using namespace clang::CIRGen;
-CIRGenFunctionInfo *CIRGenFunctionInfo::create(CanQualType resultType)
https://github.com/jansvoboda11 updated
https://github.com/llvm/llvm-project/pull/132984
>From 8599450e27f0d866db8785f1840372583fc545a2 Mon Sep 17 00:00:00 2001
From: Jan Svoboda
Date: Fri, 28 Mar 2025 09:02:12 -0700
Subject: [PATCH] [clang] Do not share ownership of `HeaderSearchOptions`
---
https://github.com/shafik created
https://github.com/llvm/llvm-project/pull/137029
Static analysis flagged this code b/c we should have been using std::move when
passing by value since the value is not used anymore. In this case the simpler
fix is just to use a temporary value as many of the o
@@ -13,20 +13,76 @@
#include "CIRGenCall.h"
#include "CIRGenFunction.h"
+#include "CIRGenFunctionInfo.h"
#include "clang/CIR/MissingFeatures.h"
using namespace clang;
using namespace clang::CIRGen;
-CIRGenFunctionInfo *CIRGenFunctionInfo::create(CanQualType resultType)
quic-garvgupt wrote:
> I'm looking at this patch in isolation, so its possible that the comments
> here are addressed elasewhere.
>
> It looks like useful functionality to add to the bare metal driver.
>
> It also looks like there is some scope for some documentation, for users and
> for tool
mizvekov wrote:
If you make it a canonical node, you also automatically don't get an `aka` in
diagnostics, which might be an advantage (or not).
Ie you avoid the aka in `size_t (aka 'unsigned long')` you currently get.
https://github.com/llvm/llvm-project/pull/136542
__
https://github.com/owenca edited
https://github.com/llvm/llvm-project/pull/137112
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Andy Kaylor
Date: 2025-04-23T10:52:35-07:00
New Revision: 0f5965fa9c67969e4de7374362b6af49bf400b3b
URL:
https://github.com/llvm/llvm-project/commit/0f5965fa9c67969e4de7374362b6af49bf400b3b
DIFF:
https://github.com/llvm/llvm-project/commit/0f5965fa9c67969e4de7374362b6af49bf400b3b.diff
L
@@ -617,6 +617,9 @@ void CIRGenModule::emitTopLevelDecl(Decl *decl) {
case Decl::OpenACCDeclare:
emitGlobalOpenACCDecl(cast(decl));
break;
+ case Decl::Enum:
+assert(!cir::MissingFeatures::generateDebugInfo() && "NYI");
bcardosolopes wrote:
`ass
@@ -90,36 +89,170 @@ bool RootSignatureParser::parseDescriptorTableClause() {
CurToken.TokKind == TokenKind::kw_Sampler) &&
"Expects to only be invoked starting at given keyword");
+ TokenKind ParamKind = CurToken.TokKind;
+
+ if (consumeExpectedToken(Toke
https://github.com/AaronBallman updated
https://github.com/llvm/llvm-project/pull/136855
>From 73a0a93e22976fd8ffdd5df70c459b648b7dd06d Mon Sep 17 00:00:00 2001
From: Aaron Ballman
Date: Wed, 23 Apr 2025 07:15:42 -0400
Subject: [PATCH 1/3] Diagnose implicit void * casts under -Wc++-compat
---
jeremyd2019 wrote:
It did turn out to be just one more slash issue. Test is passing now on
Windows (and Linux, and Cygwin itself)
https://github.com/llvm/llvm-project/pull/135691
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.l
@@ -93,9 +76,8 @@ ProgramStateRef getWidenedLoopState(ProgramStateRef PrevState,
RegionAndSymbolInvalidationTraits::TK_PreserveContents);
}
- return PrevState->invalidateRegions(Regions, getLoopCondition(LoopStmt),
-
@@ -114,7 +128,8 @@ class SValExplainer : public FullSValVisitor {
std::string VisitSymbolConjured(const SymbolConjured *S) {
return "symbol of type '" + S->getType().getAsString() +
- "' conjured at statement '" + printStmt(S->getStmt()) + "'";
+ "'
erichkeane wrote:
> If you make it a canonical node, you also automatically don't get an `aka` in
> diagnostics, which might be an advantage (or not).
>
> Ie you avoid the aka in `size_t (aka 'unsigned long')` you currently get.
I don't think you'd WANT to avoid that, I would want a type-alias
@@ -2801,6 +2801,10 @@ static bool isTriviallyCopyableTypeImpl(const QualType
&type,
if (type.hasNonTrivialObjCLifetime())
return false;
+ QualType::PrimitiveCopyKind PCK = type.isNonTrivialToPrimitiveCopy();
+ if (PCK != QualType::PCK_Trivial && PCK != QualType::PCK_
https://github.com/jofrn updated
https://github.com/llvm/llvm-project/pull/123609
>From 210b6d80bcfbbcd216f98199df386280724561e2 Mon Sep 17 00:00:00 2001
From: jofernau
Date: Mon, 20 Jan 2025 04:51:26 -0800
Subject: [PATCH 01/12] [TargetVerifier][AMDGPU] Add TargetVerifier.
This pass verifies
guy-david wrote:
Yeah, I realize it's misplaced, I am not familiar with that part of the
project, see the first paragraph in the PR description.
I don't really agree with your second point about breaking people's existing
assumptions on UB :) I am willing to run correctness suites to further v
@@ -645,6 +645,7 @@ struct StreamOperationEvaluator {
SymbolRef StreamSym = nullptr;
const StreamState *SS = nullptr;
const CallExpr *CE = nullptr;
+ std::optional ElemRef;
steakhal wrote:
Ah I completely missed the context. nvm.
https://github.com/llv
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?=
Message-ID:
In-Reply-To:
rnk wrote:
Thanks!
It looks like the new IR after this change doesn't pass verification, and
presumably this causes the crash later:
```
$ cl
https://github.com/erichkeane commented:
This loop is using a bunch of traditional for loops instead of 'range-for' (and
loops instead of algorithms!). It would be a vast improvement to replace those
with std::algorithms if they end up being 'simple' enough, and at least
range-for loops.
htt
@@ -169,6 +169,47 @@ See the discussion in the section about
:ref:`merging locations` for examples of when the rule for
dropping locations applies.
+.. _NewInstLocations:
+
+Setting locations for new instructions
+--
+
+Whenever a new instru
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?=
Message-ID:
In-Reply-To:
rnk wrote:
Hm, reverting this change doesn't fix the verifier error, the issue still
repros for me with this change reverted. Are we sure this
Author: Henrich Lauko
Date: 2025-04-23T23:02:25+02:00
New Revision: f4189817df9b32903d0704028c8d2ea9b0ea5908
URL:
https://github.com/llvm/llvm-project/commit/f4189817df9b32903d0704028c8d2ea9b0ea5908
DIFF:
https://github.com/llvm/llvm-project/commit/f4189817df9b32903d0704028c8d2ea9b0ea5908.diff
jansvoboda11 wrote:
CC @AaronBallman as a last resort. The reason for `CompilerInvocation` not
sharing ownership of its sub-objects is given here:
https://github.com/llvm/llvm-project/pull/133467#issuecomment-2762065443
https://github.com/llvm/llvm-project/pull/132984
_
@@ -71,6 +130,23 @@ static cir::CIRCallOpInterface
emitCallLikeOp(CIRGenFunction &cgf,
return builder.createCallOp(callLoc, directFuncOp);
}
+const CIRGenFunctionInfo &
+CIRGenTypes::arrangeFreeFunctionType(CanQual fpt) {
+ SmallVector argTypes;
+ for (unsigned i = 0, e =
https://github.com/cyndyishida closed
https://github.com/llvm/llvm-project/pull/136612
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Cyndy Ishida
Date: 2025-04-23T10:55:39-07:00
New Revision: 3c9027c1d7aac0c1e54af13182f1b8f58d376115
URL:
https://github.com/llvm/llvm-project/commit/3c9027c1d7aac0c1e54af13182f1b8f58d376115
DIFF:
https://github.com/llvm/llvm-project/commit/3c9027c1d7aac0c1e54af13182f1b8f58d376115.diff
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/136854
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
AaronBallman wrote:
> That is not possible, and this is exactly what I'm worried about with all
> this discussion about making `size_t` more "built-in". `size_t` is specified
> to be a typedef of a (platform-dependent) standard integer type, and it needs
> to continue to behave that way; we ca
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Shafik Yaghmour (shafik)
Changes
Static analysis flagged this code b/c we should have been using std::move when
passing by value since the value is not used anymore. In this case the simpler
fix is just to use a temporary value as many of
@@ -68,20 +168,70 @@ static cir::CIRCallOpInterface
emitCallLikeOp(CIRGenFunction &cgf,
assert(builder.getInsertionBlock() && "expected valid basic block");
assert(!cir::MissingFeatures::opCallIndirect());
- return builder.createCallOp(callLoc, directFuncOp);
+ return b
@@ -1496,6 +1496,10 @@ def FuncOp : CIR_Op<"func", [
return getFunctionType().getReturnTypes();
}
+// TODO(cir): this should be an operand attribute, but for now we just
hard-
+// wire this as a function. Will later add a $no_proto argument to this op.
+
https://github.com/bcardosolopes approved this pull request.
https://github.com/llvm/llvm-project/pull/136852
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
mizvekov wrote:
With template specialization resugaring, these being typedefs still help
somewhat:
https://compiler-explorer.com/z/qKxbYMEGq
You have to make a bit of contortion to expose the intermediate type, but I
think that's partly due to a different problem, where in diagnostics we don't
shiltian wrote:
Hmm, this PR is much shorter than it used to be.
https://github.com/llvm/llvm-project/pull/131838
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/inbelic closed
https://github.com/llvm/llvm-project/pull/136740
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
cor3ntin wrote:
https://compiler-explorer.com/z/zoze5br4d it turns out that we already produce
a warning for right fold... hum, this will require more work
https://github.com/llvm/llvm-project/pull/136836
___
cfe-commits mailing list
cfe-commits@lists
@@ -423,8 +423,8 @@ static void instantiateOMPDeclareVariantAttr(
auto *FD = cast(New);
auto *ThisContext = dyn_cast_or_null(FD->getDeclContext());
- auto &&SubstExpr = [FD, ThisContext, &S, &TemplateArgs](Expr *E) {
-if (auto *DRE = dyn_cast(E->IgnoreParenImpCasts())
Author: Finn Plummer
Date: 2025-04-23T11:51:24-07:00
New Revision: b8e420e424b41f67019155055f4f600ba0454189
URL:
https://github.com/llvm/llvm-project/commit/b8e420e424b41f67019155055f4f600ba0454189
DIFF:
https://github.com/llvm/llvm-project/commit/b8e420e424b41f67019155055f4f600ba0454189.diff
rjmccall wrote:
> > At least, it must ensure that `__size_t` is equivalent to `size_t` and
> > generates the same mangled name.
>
> Is that possible? @rjmccall
If `size_t` is a different type from `__size_t`, then `void foo(size_t);`
declares a different entity from `void foo(__size_t);`. The
AaronBallman wrote:
> Something being unspecified in the standard doesn't mean we're unconstrained.
> In this case, it is unspecified because it is allowed to vary between
> platforms, but platforms are required to specify what type `size_t` is, and
> it is well-defined to write code based on
https://github.com/jofrn updated
https://github.com/llvm/llvm-project/pull/123609
>From 210b6d80bcfbbcd216f98199df386280724561e2 Mon Sep 17 00:00:00 2001
From: jofernau
Date: Mon, 20 Jan 2025 04:51:26 -0800
Subject: [PATCH 01/12] [TargetVerifier][AMDGPU] Add TargetVerifier.
This pass verifies
AaronBallman wrote:
> LGTM, but how this fares against our stability guarantees for libclang APIs?
> Do we need `clang_File_isEqual2`?
I think this is a bug fix and so it meets our requirements. The ABI is stable,
but we can fix logic bugs.
https://github.com/llvm/llvm-project/pull/135773
___
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder
`sanitizer-x86_64-linux-android` running on `sanitizer-buildbot-android` while
building `clang,llvm` at step 2 "annotate".
Full details are available at:
https://lab.llvm.org/buildbot/#/builders/186/builds/8449
Here is the r
https://github.com/inbelic edited
https://github.com/llvm/llvm-project/pull/136747
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
rjmccall wrote:
That is not possible, and this is exactly what I'm worried about with all this
discussion about making `size_t` more "built-in". `size_t` is specified to be a
typedef of a (platform-dependent) standard integer type, and it needs to
continue to behave that way; we cannot actuall
https://github.com/AaronBallman commented:
Where is this new API expected to be used?
https://github.com/llvm/llvm-project/pull/136773
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/bcardosolopes edited
https://github.com/llvm/llvm-project/pull/136807
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3311,11 +3312,22 @@ ASTReader::ReadControlBlock(ModuleFile &F,
SignatureBytes.end());
Blob = Blob.substr(ASTFileSignature::size);
+// Use BaseDirectoryAsWritten to ensure we use the same path in the
+
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?= ,
Markus =?utf-8?q?Gschoßmann?=
Message-ID:
In-Reply-To:
rnk wrote:
The actual underlying issue appears to come from ae0d224 / #91310 , which
added `CodeGenModule::EmitExternalFunctionDeclaration`,
Author: Reid Kleckner
Date: 2025-04-23T22:30:44Z
New Revision: 0e0a1665fa340b9f1934d12aff818064aaf289ef
URL:
https://github.com/llvm/llvm-project/commit/0e0a1665fa340b9f1934d12aff818064aaf289ef
DIFF:
https://github.com/llvm/llvm-project/commit/0e0a1665fa340b9f1934d12aff818064aaf289ef.diff
LOG:
401 - 460 of 460 matches
Mail list logo