@@ -59,7 +59,7 @@ LinearMapInfo::LinearMapInfo(ADContext &context, AutoDiffLinearMapKind kind,
59
59
: kind(kind), original(original), derivative(derivative),
60
60
activityInfo (activityInfo), indices(indices),
61
61
typeConverter(context.getTypeConverter()) {
62
- generateDifferentiationDataStructures (context, indices, derivative);
62
+ generateDifferentiationDataStructures (context, derivative);
63
63
}
64
64
65
65
SILType LinearMapInfo::remapTypeInDerivative (SILType ty) {
@@ -122,9 +122,10 @@ void LinearMapInfo::computeAccessLevel(NominalTypeDecl *nominal,
122
122
}
123
123
}
124
124
125
- EnumDecl *LinearMapInfo::createBranchingTraceDecl (
126
- SILBasicBlock *originalBB, SILAutoDiffIndices indices,
127
- CanGenericSignature genericSig, SILLoopInfo *loopInfo) {
125
+ EnumDecl *
126
+ LinearMapInfo::createBranchingTraceDecl (SILBasicBlock *originalBB,
127
+ CanGenericSignature genericSig,
128
+ SILLoopInfo *loopInfo) {
128
129
assert (originalBB->getParent () == original);
129
130
auto &astCtx = original->getASTContext ();
130
131
auto *moduleDecl = original->getModule ().getSwiftModule ();
@@ -195,7 +196,6 @@ EnumDecl *LinearMapInfo::createBranchingTraceDecl(
195
196
196
197
StructDecl *
197
198
LinearMapInfo::createLinearMapStruct (SILBasicBlock *originalBB,
198
- SILAutoDiffIndices indices,
199
199
CanGenericSignature genericSig) {
200
200
assert (originalBB->getParent () == original);
201
201
auto *original = originalBB->getParent ();
@@ -267,8 +267,7 @@ VarDecl *LinearMapInfo::addLinearMapDecl(ApplyInst *ai, SILType linearMapType) {
267
267
return linearMapDecl;
268
268
}
269
269
270
- void LinearMapInfo::addLinearMapToStruct (ADContext &context, ApplyInst *ai,
271
- SILAutoDiffIndices indices) {
270
+ void LinearMapInfo::addLinearMapToStruct (ADContext &context, ApplyInst *ai) {
272
271
SmallVector<SILValue, 4 > allResults;
273
272
SmallVector<unsigned , 8 > activeParamIndices;
274
273
SmallVector<unsigned , 8 > activeResultIndices;
@@ -372,7 +371,7 @@ void LinearMapInfo::addLinearMapToStruct(ADContext &context, ApplyInst *ai,
372
371
}
373
372
374
373
void LinearMapInfo::generateDifferentiationDataStructures (
375
- ADContext &context, SILAutoDiffIndices indices, SILFunction *derivativeFn) {
374
+ ADContext &context, SILFunction *derivativeFn) {
376
375
auto &astCtx = original->getASTContext ();
377
376
auto *loopAnalysis = context.getPassManager ().getAnalysis <SILLoopAnalysis>();
378
377
auto *loopInfo = loopAnalysis->get (original);
@@ -385,8 +384,7 @@ void LinearMapInfo::generateDifferentiationDataStructures(
385
384
386
385
// Create linear map struct for each original block.
387
386
for (auto &origBB : *original) {
388
- auto *linearMapStruct =
389
- createLinearMapStruct (&origBB, indices, derivativeFnGenSig);
387
+ auto *linearMapStruct = createLinearMapStruct (&origBB, derivativeFnGenSig);
390
388
linearMapStructs.insert ({&origBB, linearMapStruct});
391
389
}
392
390
@@ -402,8 +400,8 @@ void LinearMapInfo::generateDifferentiationDataStructures(
402
400
break ;
403
401
}
404
402
for (auto &origBB : *original) {
405
- auto *traceEnum = createBranchingTraceDecl (&origBB, indices,
406
- derivativeFnGenSig, loopInfo);
403
+ auto *traceEnum =
404
+ createBranchingTraceDecl (&origBB, derivativeFnGenSig, loopInfo);
407
405
branchingTraceDecls.insert ({&origBB, traceEnum});
408
406
if (origBB.isEntry ())
409
407
continue ;
@@ -426,7 +424,7 @@ void LinearMapInfo::generateDifferentiationDataStructures(
426
424
continue ;
427
425
LLVM_DEBUG (getADDebugStream ()
428
426
<< " Adding linear map struct field for " << *ai);
429
- addLinearMapToStruct (context, ai, indices );
427
+ addLinearMapToStruct (context, ai);
430
428
}
431
429
}
432
430
}
0 commit comments