https://github.com/llvm-beanz approved this pull request.
This will have some nuanced differences from what DXC does today because of the
differences in granularity of floating point semantic controls in LLVM today vs
3.7. That said, I think this will be conservatively correct and is probably t
@@ -0,0 +1,12 @@
+// RUN: %clang_dxc -T lib_6_4 -Gis %s 2>&1 -### | FileCheck -check-prefix=Gis
%s
+// RUN: %clang_dxc -T lib_6_4 %s 2>&1 -### | FileCheck -check-prefix=NO_Gis %s
+// RUN: not %clang_dxc -T lib_6_4 /Gis gibberish -### %s 2>&1 | FileCheck
-check-prefix=CHECK-ERR %
@@ -0,0 +1,12 @@
+// RUN: %clang_dxc -T lib_6_4 -Gis %s 2>&1 -### | FileCheck -check-prefix=Gis
%s
+// RUN: %clang_dxc -T lib_6_4 %s 2>&1 -### | FileCheck -check-prefix=NO_Gis %s
+// RUN: not %clang_dxc -T lib_6_4 /Gis gibberish -### %s 2>&1 | FileCheck
-check-prefix=CHECK-ERR %
https://github.com/llvm-beanz commented:
This looks good to me, but it would be good to get @AaronBallman's eyes on it
too.
https://github.com/llvm/llvm-project/pull/143184
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org
@@ -4942,18 +4942,13 @@ void
Parser::ParseMicrosoftRootSignatureAttributeArgs(ParsedAttributes &Attrs) {
// Construct our identifier
llvm-beanz wrote:
I suspect the "Microsoft" bit came from the attribute parsing syntax. HLSL
supports "Microsoft"-style att
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/134034
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/140627
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/138541
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2095,6 +2096,17 @@ Value *ScalarExprEmitter::VisitInitListExpr(InitListExpr
*E) {
assert (Ignore == false && "init list ignored");
unsigned NumInitElements = E->getNumInits();
+ // HLSL initialization lists in the AST are an expansion which can contain
+ // side-eff
https://github.com/llvm-beanz edited
https://github.com/llvm/llvm-project/pull/137690
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz commented:
A few comments, but I think this is mostly the right direction.
https://github.com/llvm/llvm-project/pull/137690
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/lis
@@ -5178,6 +5179,29 @@ class HLSLBufferDecl final : public NamedDecl, public
DeclContext {
friend class ASTDeclWriter;
};
+class HLSLRootSignatureDecl final : public NamedDecl {
+ ArrayRef RootElements;
llvm-beanz wrote:
This should probably be a `Trailin
@@ -3037,6 +3037,11 @@ void TextNodeDumper::VisitHLSLBufferDecl(const
HLSLBufferDecl *D) {
dumpName(D);
}
+void TextNodeDumper::VisitHLSLRootSignatureDecl(
+const HLSLRootSignatureDecl *D) {
+ dumpName(D);
llvm-beanz wrote:
We should think through how
@@ -949,6 +950,23 @@ void SemaHLSL::emitLogicalOperatorFixIt(Expr *LHS, Expr
*RHS,
<< NewFnName << FixItHint::CreateReplacement(FullRange, OS.str());
}
+void SemaHLSL::handleRootSignatureAttr(Decl *D, const ParsedAttr &AL) {
+ if (AL.getNumArgs() != 1) {
+Diag(AL.g
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/133508
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/133508
>From 6234f442adfebaaf73328d2c09ee443facc848b0 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 27 Mar 2025 09:26:31 -0500
Subject: [PATCH 1/6] [HLSL] Handle incomplete array types
This refactors the
@@ -3228,6 +3228,62 @@ static QualType builtinCommonTypeImpl(Sema &S,
TemplateName BaseTemplate,
}
}
+static bool isInVkNamespace(const RecordType *RT) {
+ DeclContext *DC = RT->getDecl()->getDeclContext();
+ if (!DC)
+return false;
+
+ NamespaceDecl *ND = dyn_cast(D
@@ -5444,6 +5459,31 @@ QualType ASTContext::getHLSLAttributedResourceType(
return QualType(Ty, 0);
}
+
+QualType ASTContext::getHLSLInlineSpirvType(uint32_t Opcode, uint32_t Size,
+uint32_t Alignment,
+
@@ -877,6 +878,11 @@ bool CodeGenTypes::isZeroInitializable(QualType T) {
if (const MemberPointerType *MPT = T->getAs())
return getCXXABI().isZeroInitializable(MPT);
+ // HLSL Inline SPIR-V types are non-zero-initializable.
+ if (T->getAs()) {
+return false;
+ }
-
@@ -6330,6 +6331,140 @@ class HLSLAttributedResourceType : public Type, public
llvm::FoldingSetNode {
findHandleTypeOnResource(const Type *RT);
};
+/// Instances of this class represent operands to a SPIR-V type instruction.
+class SpirvOperand {
+public:
+ enum SpirvOpera
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -finclude-default-header -x hlsl -triple \
+// RUN: dxil-pc-shadermodel6.0-compute %s \
+// RUN: -fsyntax-only -verify
+
+typedef vk::SpirvType<12, 2, 4, float> InvalidType1; // expected-error {{use
of undeclared identifier 'vk'}}
+vk::Li
llvm-beanz wrote:
Please move to SemaHLSL.
https://github.com/llvm/llvm-project/pull/134034
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3228,6 +3228,62 @@ static QualType builtinCommonTypeImpl(Sema &S,
TemplateName BaseTemplate,
}
}
+static bool isInVkNamespace(const RecordType *RT) {
+ DeclContext *DC = RT->getDecl()->getDeclContext();
+ if (!DC)
+return false;
+
+ NamespaceDecl *ND = dyn_cast(D
@@ -3332,6 +3388,39 @@ checkBuiltinTemplateIdType(Sema &SemaRef,
BuiltinTemplateDecl *BTD,
}
return HasNoTypeMember;
}
+
+ case BTK__hlsl_spirv_type: {
+assert(Converted.size() == 4);
+
+if (!Context.getTargetInfo().getTriple().isSPIRV()) {
+ SemaRef.Di
@@ -3332,6 +3388,39 @@ checkBuiltinTemplateIdType(Sema &SemaRef,
BuiltinTemplateDecl *BTD,
}
return HasNoTypeMember;
}
+
+ case BTK__hlsl_spirv_type: {
+assert(Converted.size() == 4);
+
+if (!Context.getTargetInfo().getTriple().isSPIRV()) {
+ SemaRef.Di
@@ -6330,6 +6331,140 @@ class HLSLAttributedResourceType : public Type, public
llvm::FoldingSetNode {
findHandleTypeOnResource(const Type *RT);
};
+/// Instances of this class represent operands to a SPIR-V type instruction.
+class SpirvOperand {
+public:
+ enum SpirvOpera
@@ -0,0 +1,28 @@
+//===- hlsl_spirv.h - HLSL definitions for SPIR-V target
--===//
+//
+// 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: Apa
@@ -6330,6 +6331,140 @@ class HLSLAttributedResourceType : public Type, public
llvm::FoldingSetNode {
findHandleTypeOnResource(const Type *RT);
};
+/// Instances of this class represent operands to a SPIR-V type instruction.
+class SpirvOperand {
+public:
+ enum SpirvOpera
llvm-beanz wrote:
Cool... cool... This is fine, but it looks like #130910 rewrote the line
endings on some test files to CRLF.
@hekota might be worth checking your editor settings and cleaning up the test
files to avoid every edit rewriting every line of the
@@ -369,14 +369,102 @@ llvm::Type
*CommonSPIRTargetCodeGenInfo::getOpenCLType(CodeGenModule &CGM,
return nullptr;
}
+// Gets a spirv.IntegralConstant or spirv.Literal. If IntegralType is present,
+// returns an IntegralConstant, otherwise returns a Literal.
+static llvm::Ty
https://github.com/llvm-beanz commented:
A few substantive comments, but mostly coding standard nits.
https://github.com/llvm/llvm-project/pull/134034
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listin
@@ -6165,6 +6254,18 @@ bool
UnnamedLocalNoLinkageFinder::VisitHLSLAttributedResourceType(
return Visit(T->getWrappedType());
}
+bool UnnamedLocalNoLinkageFinder::VisitHLSLInlineSpirvType(
+const HLSLInlineSpirvType *T) {
+ for (auto &Operand : T->getOperands()) {
+
https://github.com/llvm-beanz edited
https://github.com/llvm/llvm-project/pull/134034
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/136234
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/133508
>From 6234f442adfebaaf73328d2c09ee443facc848b0 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 27 Mar 2025 09:26:31 -0500
Subject: [PATCH 1/6] [HLSL] Handle incomplete array types
This refactors the
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/135909
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/135830
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11360,6 +11360,14 @@ static void AnalyzeAssignment(Sema &S, BinaryOperator
*E) {
static void DiagnoseImpCast(Sema &S, Expr *E, QualType SourceType, QualType T,
SourceLocation CContext, unsigned diag,
bool pruneControl
@@ -11360,6 +11360,14 @@ static void AnalyzeAssignment(Sema &S, BinaryOperator
*E) {
static void DiagnoseImpCast(Sema &S, Expr *E, QualType SourceType, QualType T,
SourceLocation CContext, unsigned diag,
bool pruneControl
https://github.com/llvm-beanz created
https://github.com/llvm/llvm-project/pull/135830
The address space of a source value for an implicit cast isn't really relevant
when emitting conversion warnings. Since the lvalue->rvalue cast effectively
removes the address space they don't factor in, but
@@ -89,37 +88,178 @@ bool RootSignatureParser::parseDescriptorTableClause() {
CurToken.TokKind == TokenKind::kw_UAV ||
CurToken.TokKind == TokenKind::kw_Sampler) &&
"Expects to only be invoked starting at given keyword");
+ TokenKind ParamKind = Cu
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/135125
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -3964,6 +3964,8 @@ Value *ScalarExprEmitter::EmitRem(const BinOpInfo &Ops) {
if (Ops.Ty->hasUnsignedIntegerRepresentation())
return Builder.CreateURem(Ops.LHS, Ops.RHS, "rem");
+ else if (CGF.getLangOpts().HLSL && Ops.Ty->hasFloatingRepresentation())
+return Buil
@@ -89,37 +88,178 @@ bool RootSignatureParser::parseDescriptorTableClause() {
CurToken.TokKind == TokenKind::kw_UAV ||
CurToken.TokKind == TokenKind::kw_Sampler) &&
"Expects to only be invoked starting at given keyword");
+ TokenKind ParamKind = Cu
@@ -3249,166 +3249,204 @@ void SemaHLSL::processExplicitBindingsOnDecl(VarDecl
*VD) {
}
}
}
-
-static bool CastInitializer(Sema &S, ASTContext &Ctx, Expr *E,
-llvm::SmallVectorImpl &List,
-llvm::SmallVectorImpl &Des
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/133508
>From 6234f442adfebaaf73328d2c09ee443facc848b0 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 27 Mar 2025 09:26:31 -0500
Subject: [PATCH 1/5] [HLSL] Handle incomplete array types
This refactors the
@@ -3249,166 +3249,204 @@ void SemaHLSL::processExplicitBindingsOnDecl(VarDecl
*VD) {
}
}
}
-
-static bool CastInitializer(Sema &S, ASTContext &Ctx, Expr *E,
-llvm::SmallVectorImpl &List,
-llvm::SmallVectorImpl &Des
llvm-beanz wrote:
> Given your feedback here it sounds like you want us to drop the template and
> allow for implicit vector truncation so that the error will be ambiguous
> instead of `call to deleted function 'lit'`?
Yes, let's not add compatibility overloads unless we have driving reasons f
@@ -280,6 +280,17 @@ constexpr bool4 isinf(double4 V) { return
isinf((float4)V); }
_DXC_COMPAT_TERNARY_DOUBLE_OVERLOADS(lerp)
_DXC_COMPAT_TERNARY_INTEGER_OVERLOADS(lerp)
+//===--===//
+// lit builtins overloa
@@ -89,37 +88,178 @@ bool RootSignatureParser::parseDescriptorTableClause() {
CurToken.TokKind == TokenKind::kw_UAV ||
CurToken.TokKind == TokenKind::kw_Sampler) &&
"Expects to only be invoked starting at given keyword");
+ TokenKind ParamKind = Cu
@@ -280,6 +280,17 @@ constexpr bool4 isinf(double4 V) { return
isinf((float4)V); }
_DXC_COMPAT_TERNARY_DOUBLE_OVERLOADS(lerp)
_DXC_COMPAT_TERNARY_INTEGER_OVERLOADS(lerp)
+//===--===//
+// lit builtins overloa
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/134683
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz created
https://github.com/llvm/llvm-project/pull/133508
This refactors the initialization list transformation code to handle incomplete
array types.
Fixes #132958
>From 6234f442adfebaaf73328d2c09ee443facc848b0 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date:
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/133508
>From 6234f442adfebaaf73328d2c09ee443facc848b0 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 27 Mar 2025 09:26:31 -0500
Subject: [PATCH 1/4] [HLSL] Handle incomplete array types
This refactors the
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/133508
>From 6234f442adfebaaf73328d2c09ee443facc848b0 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 27 Mar 2025 09:26:31 -0500
Subject: [PATCH 1/3] [HLSL] Handle incomplete array types
This refactors the
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/133520
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/133508
>From 6234f442adfebaaf73328d2c09ee443facc848b0 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Thu, 27 Mar 2025 09:26:31 -0500
Subject: [PATCH 1/2] [HLSL] Handle incomplete array types
This refactors the
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/133441
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/133162
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/132979
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -16,6 +16,84 @@ namespace hlsl {
// unsigned integer and floating point. Keeping this ordering consistent will
// help keep this file manageable as it grows.
+#define _DXC_COMPAT_UNARY_DOUBLE_OVERLOADS(fn)
\
+ constexpr float fn(double V) {
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/131666
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/131739
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
llvm-beanz wrote:
> Finish the work of #81782
Maybe instead:
> Apply pattern of #81782 to intrinsics added in #95999.
Also probably worth having a description of the problem this solves in the
description so that it ends up in the final commit message.
https://github.com/llvm/llvm-project/pu
https://github.com/llvm-beanz commented:
this is not NFC, so we should verify that we can call these intrinsics with
`half` values even if 16-bit types aren't enabled, and that they properly
codegen to 32-bit variants.
https://github.com/llvm/llvm-project/pull/132804
__
@@ -2276,6 +2276,29 @@ void CodeGenFunction::EmitSwitchStmt(const SwitchStmt
&S) {
// failure.
llvm::BasicBlock *DefaultBlock = createBasicBlock("sw.default");
SwitchInsn = Builder.CreateSwitch(CondV, DefaultBlock);
+ switch (HLSLControlFlowAttr) {
+ case HLSLControlFl
@@ -54,5 +54,67 @@ clamp(U p0, V p1, W p2) {
return clamp(p0, (U)p1, (U)p2);
}
+//===--===//
+// max builtin overloads
+//===--===//
+
+tem
https://github.com/llvm-beanz commented:
One small nit on formatting, otherwise looks good.
https://github.com/llvm/llvm-project/pull/129939
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com
@@ -0,0 +1,59 @@
+//===--- hlsl_compat_overloads.h - Additional HLSL overload definitions for
+// intrinsics --===//
llvm-beanz wrote:
nit: shorten the summary so this fits on one line.
https://github.com/llvm/llvm-project/pull/129939
___
https://github.com/llvm-beanz edited
https://github.com/llvm/llvm-project/pull/129939
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/129396
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -141,6 +141,8 @@ void Parser::ParseHLSLAnnotations(ParsedAttributes &Attrs,
return;
}
+ II = PP.getIdentifierInfo(II->getName().lower());
llvm-beanz wrote:
Can we keep the original identifier around and use that for the diagnostics so
that the diag
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/129773
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
llvm-beanz wrote:
> > nit: is there a way to check that the spelling is consistent in the error
> > messages? Asking since I am no familiar with this part of the code.
>
> I'm not sure I understand what you mean.
I think the point (and my earlier comment) is to use the spelling as it is
writt
Nathan =?utf-8?q?Gauër?=
Message-ID:
In-Reply-To:
llvm-beanz wrote:
Is there a reason we can't do this in Sema? It would probably be ideal to have
the AST represent the address spaces of values accurately.
https://github.com/llvm/llvm-project/pull/122103
_
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/130436
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/129396
>From 7620f9fac9932a13f1da0468b02c1aeceb212a0b Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Wed, 19 Feb 2025 17:18:20 -0600
Subject: [PATCH 1/5] [HLSL] select scalar overloads for vector conditions
Th
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/129396
>From 7620f9fac9932a13f1da0468b02c1aeceb212a0b Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Wed, 19 Feb 2025 17:18:20 -0600
Subject: [PATCH 1/6] [HLSL] select scalar overloads for vector conditions
Th
@@ -1817,5 +1817,9 @@ def ext_hlsl_access_specifiers : ExtWarn<
InGroup;
def err_hlsl_unsupported_component : Error<"invalid component '%0' used;
expected 'x', 'y', 'z', or 'w'">;
def err_hlsl_packoffset_invalid_reg : Error<"invalid resource class specifier
'%0' for packoff
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/127346
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/129396
>From 7620f9fac9932a13f1da0468b02c1aeceb212a0b Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Wed, 19 Feb 2025 17:18:20 -0600
Subject: [PATCH 1/4] [HLSL] select scalar overloads for vector conditions
Th
@@ -0,0 +1,71 @@
+//===- hlsl_intrinsic_helpers.h - HLSL helpers intrinsics
-===//
+//
+// 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: Apa
https://github.com/llvm-beanz created
https://github.com/llvm/llvm-project/pull/130436
This updates the DXV and Metal Converter actions to properly use temporary
files created by the driver. I've abstracted away a check to determine if an
action is the last in the sequence because we may have
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/130173
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/129396
>From 7620f9fac9932a13f1da0468b02c1aeceb212a0b Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Wed, 19 Feb 2025 17:18:20 -0600
Subject: [PATCH 1/3] [HLSL] select scalar overloads for vector conditions
Th
@@ -4790,7 +4790,7 @@ def HLSLPackOffset: HLSLAnnotationAttr {
}
def HLSLSV_DispatchThreadID: HLSLAnnotationAttr {
- let Spellings = [HLSLAnnotation<"SV_DispatchThreadID">];
+ let Spellings = [HLSLAnnotation<"sv_dispatchthreadid">];
llvm-beanz wrote:
Can we
https://github.com/llvm-beanz updated
https://github.com/llvm/llvm-project/pull/129396
>From 999c9253dc69c43f2d5d686bb4e9a9fd2f8783d4 Mon Sep 17 00:00:00 2001
From: Chris Bieneman
Date: Wed, 19 Feb 2025 17:18:20 -0600
Subject: [PATCH 1/2] [HLSL] select scalar overloads for vector conditions
Th
https://github.com/llvm-beanz created
https://github.com/llvm/llvm-project/pull/130173
This adds a flag to the DXC driver to enable calling the metal shader converter
if it is available to convert the final shader output for metal.
>From 0e5a24665c3a9522263b2ddfbce5f46e6a0e33c9 Mon Sep 17 00:0
@@ -14017,6 +14017,24 @@ void Sema::CheckCastAlign(Expr *Op, QualType T,
SourceRange TRange) {
<< TRange << Op->getSourceRange();
}
+void Sema::CheckVectorAccess(const Expr *BaseExpr, const Expr *IndexExpr) {
+ const VectorType *VTy = BaseExpr->getType()->getAs();
+ if
https://github.com/llvm-beanz created
https://github.com/llvm/llvm-project/pull/129396
This PR adds scalar/vector overloads for vector conditions to the `select`
builtin, and updates the sema checking and codegen to allow scalars to extend
to vectors.
Fixes #126570
>From 999c9253dc69c43f2d5d
@@ -0,0 +1,375 @@
+//=== ParseHLSLRootSignatureTest.cpp - Parse Root Signature tests
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
llvm-beanz wro
@@ -0,0 +1,417 @@
+#include "clang/Parse/ParseHLSLRootSignature.h"
llvm-beanz wrote:
This is the file with the missing license header that @bob80905 pointed out.
https://github.com/llvm/llvm-project/pull/122982
___
cfe
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/121515
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -10635,6 +10635,12 @@ def err_block_on_vm : Error<
def err_sizeless_nonlocal : Error<
"non-local variable with sizeless type %0">;
+def err_vector_index_out_of_range : Error<
+ "vector element index %0 is out of bounds">;
+def warn_vector_index_out_of_range : Warning<
+
@@ -14017,6 +14017,24 @@ void Sema::CheckCastAlign(Expr *Op, QualType T,
SourceRange TRange) {
<< TRange << Op->getSourceRange();
}
+void Sema::CheckVectorAccess(const Expr *BaseExpr, const Expr *IndexExpr) {
+ const VectorType *VTy = BaseExpr->getType()->getAs();
+ if
@@ -14017,6 +14017,24 @@ void Sema::CheckCastAlign(Expr *Op, QualType T,
SourceRange TRange) {
<< TRange << Op->getSourceRange();
}
+void Sema::CheckVectorAccess(const Expr *BaseExpr, const Expr *IndexExpr) {
+ const VectorType *VTy = BaseExpr->getType()->getAs();
+ if
https://github.com/llvm-beanz created
https://github.com/llvm/llvm-project/pull/128894
If you have zlib (not standard) on Windows, this test runs, and it was missing
a match for the file extension on lld.
>From da4f0de19daaed0a30b3dfe985e6920e89a07c7d Mon Sep 17 00:00:00 2001
From: Chris B
Da
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/128257
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -94,3 +122,60 @@ double3 test_abs_double3(double3 p0) { return abs(p0); }
// CHECK-LABEL: define noundef nofpclass(nan inf) <4 x double>
@_Z16test_abs_double4
// CHECK: call reassoc nnan ninf nsz arcp afn <4 x double> @llvm.fabs.v4f64(
double4 test_abs_double4(double4 p0) {
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/128250
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
1 - 100 of 1004 matches
Mail list logo