[llvm] [DirectX] Infrastructure to collect shader flags for each function (PR #112967)
S. Bharadwaj Yadavalli via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 22 08:25:50 PST 2024
================
@@ -63,20 +106,64 @@ void ComputedShaderFlags::print(raw_ostream &OS) const {
OS << ";\n";
}
+/// Get the combined shader flag mask of all module functions.
+const ComputedShaderFlags DXILModuleShaderFlagsInfo::getCombinedFlags() const {
+ return CombinedSFMask;
+}
+
+/// Return the shader flags mask of the specified function Func, if one exists.
+/// else an error
+Expected<const ComputedShaderFlags &>
+DXILModuleShaderFlagsInfo::getShaderFlagsMask(const Function *Func) const {
+ std::pair<Function const *, ComputedShaderFlags> V{Func, {}};
+ const auto Iter = llvm::lower_bound(FunctionFlags, V);
+ if (Iter == FunctionFlags.end() || Iter->first != Func) {
+ return createStringError("Shader Flags information of Function '" +
+ Func->getName() + "' not found");
+ }
----------------
bharadwajy wrote:
> nit: https://llvm.org/docs/CodingStandards.html#don-t-use-braces-on-simple-single-statement-bodies-of-if-else-loop-statements
Changed the `if` statement `assert`.
https://github.com/llvm/llvm-project/pull/112967
More information about the llvm-commits
mailing list