summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-link.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-ir-link.cpp')
-rw-r--r--source/slang/slang-ir-link.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/source/slang/slang-ir-link.cpp b/source/slang/slang-ir-link.cpp
index 385b536dc..45b9a842f 100644
--- a/source/slang/slang-ir-link.cpp
+++ b/source/slang/slang-ir-link.cpp
@@ -1345,12 +1345,14 @@ struct IRSpecializationState
};
LinkedIR linkIR(
- BackEndCompileRequest* compileRequest,
- const List<Int>& entryPointIndices,
- CodeGenTarget target,
- TargetProgram* targetProgram)
+ CodeGenContext* codeGenContext)
{
- auto targetReq = targetProgram->getTargetReq();
+ auto linkage = codeGenContext->getLinkage();
+ auto program = codeGenContext->getProgram();
+ auto session = codeGenContext->getSession();
+ auto target = codeGenContext->getTargetFormat();
+ auto targetProgram = codeGenContext->getTargetProgram();
+ auto targetReq = codeGenContext->getTargetReq();
// TODO: We need to make sure that the program we are being asked
// to compile has been "resolved" so that it has no outstanding
@@ -1362,19 +1364,17 @@ LinkedIR linkIR(
state->target = target;
state->targetReq = targetReq;
- auto program = compileRequest->getProgram();
auto sharedContext = state->getSharedContext();
initializeSharedSpecContext(
sharedContext,
- compileRequest->getSession(),
+ session,
nullptr,
target,
targetReq);
state->irModule = sharedContext->module;
- auto linkage = compileRequest->getLinkage();
// We need to be able to look up IR definitions for any symbols in
// modules that the program depends on (transitively). To
@@ -1437,7 +1437,7 @@ LinkedIR linkIR(
//
List<IRFunc*> irEntryPoints;
- for (auto entryPointIndex : entryPointIndices)
+ for (auto entryPointIndex : codeGenContext->getEntryPointIndices())
{
auto entryPointMangledName = program->getEntryPointMangledName(entryPointIndex);
auto nameOverride = program->getEntryPointNameOverride(entryPointIndex);