https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/157005
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -961,27 +952,27 @@ std::optional
CGHLSLRuntime::emitResourceArraySubscriptExpr(
// If the result of the subscript operation is a single resource, call the
// constructor.
if (ResultTy == ResourceTy) {
-QualType ThisType = CD->getThisType()->getPointeeType();
-
@@ -110,52 +112,29 @@ static int getTotalArraySize(ASTContext &AST, const
clang::Type *Ty) {
return AST.getConstantArrayElementCount(cast(Ty));
}
-// Find constructor decl for a specific resource record type and binding
-// (implicit vs. explicit). The constructor has 5 par
@@ -243,16 +238,18 @@ static Value *initializeLocalResourceArray(
Index = CGF.Builder.CreateAdd(Index, One);
GEPIndices.back() = llvm::ConstantInt::get(IntTy, I);
}
-Address ThisAddress =
+Address ReturnAddress =
CGF.Builder.CreateGEP(TmpArrayAd
@@ -76,9 +76,10 @@ class Action {
StaticLibJobClass,
BinaryAnalyzeJobClass,
BinaryTranslatorJobClass,
+BinaryModifyJobClass,
llvm-beanz wrote:
Probably better to align this with the specific tool you're running:
```suggestion
ObjcopyJobClas
@@ -42,6 +42,19 @@ class LLVM_LIBRARY_VISIBILITY MetalConverter : public Tool {
const llvm::opt::ArgList &TCArgs,
const char *LinkingOutput) const override;
};
+
+class LLVM_LIBRARY_VISIBILITY LLVMObjcopy : public Tool {
+public:
+ LLVMO
@@ -247,6 +247,30 @@ void tools::hlsl::MetalConverter::ConstructJob(
Exec, CmdArgs, Inputs, Input));
}
+void tools::hlsl::LLVMObjcopy::ConstructJob(Compilation &C, const JobAction
&JA,
+const
@@ -4601,6 +4601,16 @@ void Driver::BuildActions(Compilation &C, DerivedArgList
&Args,
Actions.push_back(C.MakeAction(
LastAction, types::TY_DX_CONTAINER));
}
+if (TC.requiresObjcopy(Args)) {
+ Action *LastAction = Actions.back();
+ // llv
@@ -295,6 +297,105 @@ getRootSignature(RootSignatureBindingInfo &RSBI,
return RootSigDesc;
}
+static void
+reportOverlappingRegisters(Module &M,
+ llvm::hlsl::rootsig::OverlappingRanges Overlap) {
+ const llvm::hlsl::rootsig::RangeInfo *Info = Over
@@ -295,6 +297,105 @@ getRootSignature(RootSignatureBindingInfo &RSBI,
return RootSigDesc;
}
+static void
+reportOverlappingRegisters(Module &M,
+ llvm::hlsl::rootsig::OverlappingRanges Overlap) {
+ const llvm::hlsl::rootsig::RangeInfo *Info = Over
llvm-beanz wrote:
Looking at this PR and https://github.com/llvm/llvm-project/pull/144577 led me
to look a bit more at the code around this.
I think the way you're handling errors in this code is a bit sub-optimal.
Instead of having a bunch of report functions and chains of functions returning
@@ -48,6 +48,71 @@ static bool reportValueError(LLVMContext *Ctx, Twine
ParamName,
return true;
}
+// Template function to get formatted type string based on C++ type
+template std::string getTypeFormatted() {
+ if constexpr (std::is_same_v) {
+return "string";
+ } e
@@ -48,6 +48,71 @@ static bool reportValueError(LLVMContext *Ctx, Twine
ParamName,
return true;
}
+// Template function to get formatted type string based on C++ type
+template std::string getTypeFormatted() {
+ if constexpr (std::is_same_v) {
+return "string";
+ } e
@@ -48,6 +48,71 @@ static bool reportValueError(LLVMContext *Ctx, Twine
ParamName,
return true;
}
+// Template function to get formatted type string based on C++ type
+template std::string getTypeFormatted() {
llvm-beanz wrote:
Looks like this could be a
@@ -699,19 +736,20 @@ static bool verifyBorderColor(uint32_t BorderColor) {
static bool verifyLOD(float LOD) { return !std::isnan(LOD); }
static bool validate(LLVMContext *Ctx, const mcdxbc::RootSignatureDesc &RSD) {
-
+ bool HasError = false;
if (!verifyVersion(RSD.Versio
@@ -71,6 +71,199 @@ static raw_ostream &operator<<(raw_ostream &OS,
return OS;
}
+static raw_ostream &operator<<(raw_ostream &OS, const SamplerFilter &Filter) {
+ switch (Filter) {
+ case SamplerFilter::MinMagMipPoint:
+OS << "MinMagMipPoint";
llvm-bea
@@ -711,6 +734,35 @@ std::optional
RootSignatureParser::parseRegister() {
return Reg;
}
+std::optional RootSignatureParser::parseFloatParam() {
+ assert(CurToken.TokKind == TokenKind::pu_equal &&
+ "Expects to only be invoked starting at given keyword");
+ // Cons
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/137690
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -0,0 +1,7343 @@
+/*
+ * xxHash - Extremely Fast Hash algorithm
+ * Header File
+ * Copyright (C) 2012-2023 Yann Collet
+ *
+ * BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php)
llvm-beanz wrote:
The introduction of BSD-licensed code to
https://github.com/llvm-beanz requested changes to this pull request.
We cannot introduce BSD-licensed code to compiler-rt. Please see [my comment
for more
details](https://github.com/llvm/llvm-project/pull/133530#discussion_r2021952691).
https://github.com/llvm/llvm-project/pull/133530
__
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/128699
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/128698
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/llvm-beanz commented:
I think that the way you're breaking up this change is sub-optimal from a
review perspective. You've added a lot of code that partially handles parsing a
very complex root signature. The problem is that to complete this
implementation you're going to go
@@ -89,6 +91,72 @@ class RootSignatureLexer {
}
};
+class RootSignatureParser {
+public:
+ RootSignatureParser(SmallVector &Elements,
+ const SmallVector &Tokens);
+
+ // Iterates over the provided tokens and constructs the in-memory
+ // representati
https://github.com/llvm-beanz edited
https://github.com/llvm/llvm-project/pull/122982
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -0,0 +1,140 @@
+//===- HLSLRootSignature.h - HLSL Root Signature helper objects
---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Ap
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/121282
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -542,6 +542,48 @@ class OpLowerer {
});
}
+ [[nodiscard]] bool lowerRawBufferLoad(Function &F) {
+Triple TT(Triple(M.getTargetTriple()));
+VersionTuple DXILVersion = TT.getDXILVersion();
+const DataLayout &DL = F.getDataLayout();
+IRBuilder<> &IRB = O
https://github.com/llvm-beanz edited
https://github.com/llvm/llvm-project/pull/121012
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/llvm-beanz approved this pull request.
LGTM. One extremely small nit that you can take or leave.
https://github.com/llvm/llvm-project/pull/121012
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.l
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/120157
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/119773
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
llvm-beanz wrote:
All looks good to me.
https://github.com/llvm/llvm-project/pull/104252
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/104252
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -683,6 +686,17 @@ def CreateHandle : DXILOp<57, createHandle> {
let stages = [Stages];
}
+def BufferLoad : DXILOp<68, bufferLoad> {
+ let Doc = "reads from a TypedBuffer";
+ // Handle, Coord0, Coord1
+ let arguments = [HandleTy, Int32Ty, Int32Ty];
+ let result = Overl
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/100700
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -212,6 +216,53 @@ class ResourceInfo {
};
} // namespace dxil
+
+using DXILResourceMap = MapVector;
+
+class DXILResourceAnalysis : public AnalysisInfoMixin {
+ friend AnalysisInfoMixin;
+
+ static AnalysisKey Key;
+
+public:
+ using Result = DXILResourceMap;
+
+ /// Ga
https://github.com/llvm-beanz approved this pull request.
Looks like you angered the clang-format god, but otherwise LGTM.
https://github.com/llvm/llvm-project/pull/78225
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://l
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/73967
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
llvm-beanz wrote:
Hi @isubasinghe, as you guessed LLVM 9 is a closed release so we're not
accepting PRs into it anymore (even ones that fix pretty obvious issues).
Thank you for your contribution (even though we won't be merging it).
https://github.com/llvm/llvm-project/pull/67217
https://github.com/llvm-beanz closed
https://github.com/llvm/llvm-project/pull/67217
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/llvm-beanz approved this pull request.
https://github.com/llvm/llvm-project/pull/71265
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
42 matches
Mail list logo