diff options
| author | yum <yum.food.vr@gmail.com> | 2025-10-28 19:47:02 -0700 |
|---|---|---|
| committer | yum <yum.food.vr@gmail.com> | 2025-10-28 19:47:02 -0700 |
| commit | 30c5fa6808b9a71a47d9e89ad090a824d8ea48c3 (patch) | |
| tree | 3f8d4ef4213c7ea474811b185c513665488d34e1 /main.cc | |
| parent | 23ff32d84e1f026c68a340f32d9f6b15e953d85a (diff) | |
accelerate abseil build
Diffstat (limited to 'main.cc')
| -rw-r--r-- | main.cc | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -491,7 +491,12 @@ absl::StatusOr<ComPtr<IModule>> loadSlangModule(ISession* session, const std::st return module; } -absl::StatusOr<std::vector<FunctionInfo>> collectEntryPoints( +struct EntryPointsResult { + std::vector<FunctionInfo> functions; + std::unordered_set<std::string> publicFunctions; +}; + +absl::StatusOr<EntryPointsResult> collectEntryPoints( IModule* module, const std::string& moduleName, const fs::path& sourcePath) { @@ -521,7 +526,7 @@ absl::StatusOr<std::vector<FunctionInfo>> collectEntryPoints( return absl::NotFoundError(msg.str()); } - return functions; + return EntryPointsResult{functions, publicFunctions}; } absl::StatusOr<ComPtr<ICompileRequest>> createCompileRequest( @@ -625,6 +630,7 @@ std::string removeNvapiInclude(std::string hlslSource) { return hlslSource; } + std::string applyIncludeGuard(const std::string& hlslSource, const IncludeGuardInfo& includeGuard) { if (!includeGuard.present) { return hlslSource; @@ -702,15 +708,15 @@ absl::Status run(int argc, char** argv) { } ComPtr<IModule> libraryModule = std::move(libraryModuleOr).value(); - absl::StatusOr<std::vector<FunctionInfo>> functionsOr = + absl::StatusOr<EntryPointsResult> entryPointsOr = collectEntryPoints(libraryModule.get(), request.moduleName, request.modulePath); - if (!functionsOr.ok()) { - return functionsOr.status(); + if (!entryPointsOr.ok()) { + return entryPointsOr.status(); } - std::vector<FunctionInfo> functions = std::move(functionsOr).value(); + EntryPointsResult entryPoints = std::move(entryPointsOr).value(); absl::StatusOr<ComPtr<ICompileRequest>> compileRequestOr = - createCompileRequest(session.get(), request, targetDesc, functions); + createCompileRequest(session.get(), request, targetDesc, entryPoints.functions); if (!compileRequestOr.ok()) { return compileRequestOr.status(); } |
