From 30c5fa6808b9a71a47d9e89ad090a824d8ea48c3 Mon Sep 17 00:00:00 2001 From: yum Date: Tue, 28 Oct 2025 19:47:02 -0700 Subject: accelerate abseil build --- main.cc | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'main.cc') diff --git a/main.cc b/main.cc index f6c7a3b..de429a9 100644 --- a/main.cc +++ b/main.cc @@ -491,7 +491,12 @@ absl::StatusOr> loadSlangModule(ISession* session, const std::st return module; } -absl::StatusOr> collectEntryPoints( +struct EntryPointsResult { + std::vector functions; + std::unordered_set publicFunctions; +}; + +absl::StatusOr collectEntryPoints( IModule* module, const std::string& moduleName, const fs::path& sourcePath) { @@ -521,7 +526,7 @@ absl::StatusOr> collectEntryPoints( return absl::NotFoundError(msg.str()); } - return functions; + return EntryPointsResult{functions, publicFunctions}; } absl::StatusOr> 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 libraryModule = std::move(libraryModuleOr).value(); - absl::StatusOr> functionsOr = + absl::StatusOr entryPointsOr = collectEntryPoints(libraryModule.get(), request.moduleName, request.modulePath); - if (!functionsOr.ok()) { - return functionsOr.status(); + if (!entryPointsOr.ok()) { + return entryPointsOr.status(); } - std::vector functions = std::move(functionsOr).value(); + EntryPointsResult entryPoints = std::move(entryPointsOr).value(); absl::StatusOr> compileRequestOr = - createCompileRequest(session.get(), request, targetDesc, functions); + createCompileRequest(session.get(), request, targetDesc, entryPoints.functions); if (!compileRequestOr.ok()) { return compileRequestOr.status(); } -- cgit v1.2.3