Skip to content

Commit 43715e7

Browse files
authored
[AutoDiff] NFC: reorganize differentiation SILOptimizer files. (#30969)
Move differentiation-related SILOptimizer files to {include/swift,lib}/SILOptimizer/Differentiation/. This reduces directory nesting and gathers files together.
1 parent 31af116 commit 43715e7

23 files changed

+48
-38
lines changed

include/swift/SILOptimizer/Utils/Differentiation/ADContext.h renamed to include/swift/SILOptimizer/Differentiation/ADContext.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@
1717
#ifndef SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_ADCONTEXT_H
1818
#define SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_ADCONTEXT_H
1919

20+
#include "swift/SILOptimizer/Differentiation/Common.h"
21+
#include "swift/SILOptimizer/Differentiation/DifferentiationInvoker.h"
22+
2023
#include "swift/AST/DiagnosticsSIL.h"
2124
#include "swift/AST/Expr.h"
2225
#include "swift/AST/SynthesizedFileUnit.h"
2326
#include "swift/SIL/SILBuilder.h"
24-
#include "swift/SILOptimizer/Utils/Differentiation/Common.h"
25-
#include "swift/SILOptimizer/Utils/Differentiation/DifferentiationInvoker.h"
2627
#include "llvm/ADT/DenseMap.h"
2728
#include "llvm/ADT/MapVector.h"
2829
#include "llvm/ADT/SmallPtrSet.h"

include/swift/SILOptimizer/Utils/Differentiation/AdjointValue.h renamed to include/swift/SILOptimizer/Differentiation/AdjointValue.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#ifndef SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_ADJOINTVALUE_H
1919
#define SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_ADJOINTVALUE_H
2020

21+
#include "swift/AST/Decl.h"
2122
#include "swift/SIL/SILValue.h"
2223
#include "llvm/ADT/ArrayRef.h"
2324

include/swift/SILOptimizer/Utils/Differentiation/JVPEmitter.h renamed to include/swift/SILOptimizer/Differentiation/JVPEmitter.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@
1818
#ifndef SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_JVPEMITTER_H
1919
#define SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_JVPEMITTER_H
2020

21+
#include "swift/SILOptimizer/Differentiation/AdjointValue.h"
22+
#include "swift/SILOptimizer/Differentiation/DifferentiationInvoker.h"
23+
#include "swift/SILOptimizer/Differentiation/LinearMapInfo.h"
24+
2125
#include "swift/SIL/SILValue.h"
2226
#include "swift/SIL/TypeSubstCloner.h"
2327
#include "swift/SILOptimizer/Analysis/DifferentiableActivityAnalysis.h"
24-
#include "swift/SILOptimizer/Utils/Differentiation/AdjointValue.h"
25-
#include "swift/SILOptimizer/Utils/Differentiation/DifferentiationInvoker.h"
26-
#include "swift/SILOptimizer/Utils/Differentiation/LinearMapInfo.h"
2728
#include "llvm/ADT/DenseMap.h"
2829

2930
namespace swift {

include/swift/SILOptimizer/Utils/Differentiation/PullbackEmitter.h renamed to include/swift/SILOptimizer/Differentiation/PullbackEmitter.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@
1818
#ifndef SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_PULLBACKEMITTER_H
1919
#define SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_PULLBACKEMITTER_H
2020

21-
#include "swift/SIL/TypeSubstCloner.h"
21+
#include "swift/SILOptimizer/Differentiation/AdjointValue.h"
22+
#include "swift/SILOptimizer/Differentiation/DifferentiationInvoker.h"
23+
#include "swift/SILOptimizer/Differentiation/LinearMapInfo.h"
2224
#include "swift/SILOptimizer/Analysis/DifferentiableActivityAnalysis.h"
23-
#include "swift/SILOptimizer/Utils/Differentiation/AdjointValue.h"
24-
#include "swift/SILOptimizer/Utils/Differentiation/DifferentiationInvoker.h"
25-
#include "swift/SILOptimizer/Utils/Differentiation/LinearMapInfo.h"
25+
26+
#include "swift/SIL/TypeSubstCloner.h"
2627
#include "llvm/ADT/DenseMap.h"
2728

2829
namespace swift {

include/swift/SILOptimizer/Utils/Differentiation/VJPEmitter.h renamed to include/swift/SILOptimizer/Differentiation/VJPEmitter.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@
1818
#ifndef SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_VJPEMITTER_H
1919
#define SWIFT_SILOPTIMIZER_UTILS_DIFFERENTIATION_VJPEMITTER_H
2020

21-
#include "swift/SIL/TypeSubstCloner.h"
21+
#include "swift/SILOptimizer/Differentiation/DifferentiationInvoker.h"
22+
#include "swift/SILOptimizer/Differentiation/LinearMapInfo.h"
2223
#include "swift/SILOptimizer/Analysis/DifferentiableActivityAnalysis.h"
23-
#include "swift/SILOptimizer/Utils/Differentiation/DifferentiationInvoker.h"
24-
#include "swift/SILOptimizer/Utils/Differentiation/LinearMapInfo.h"
24+
25+
#include "swift/SIL/TypeSubstCloner.h"
2526
#include "llvm/ADT/DenseMap.h"
2627

2728
namespace swift {

lib/SILOptimizer/Analysis/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ silopt_register_sources(
1010
ClassHierarchyAnalysis.cpp
1111
ClosureScope.cpp
1212
ColdBlockInfo.cpp
13-
DestructorAnalysis.cpp
1413
DifferentiableActivityAnalysis.cpp
14+
DestructorAnalysis.cpp
1515
EscapeAnalysis.cpp
1616
EpilogueARCAnalysis.cpp
1717
FunctionOrder.cpp

lib/SILOptimizer/Analysis/DifferentiableActivityAnalysis.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
#define DEBUG_TYPE "differentiation"
1414

1515
#include "swift/SILOptimizer/Analysis/DifferentiableActivityAnalysis.h"
16+
#include "swift/SILOptimizer/Differentiation/Common.h"
17+
1618
#include "swift/SIL/Projection.h"
1719
#include "swift/SIL/SILArgument.h"
1820
#include "swift/SILOptimizer/Analysis/DominanceAnalysis.h"
1921
#include "swift/SILOptimizer/PassManager/PassManager.h"
20-
#include "swift/SILOptimizer/Utils/Differentiation/Common.h"
2122

2223
using namespace swift;
2324
using namespace swift::autodiff;

lib/SILOptimizer/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ endmacro()
2323

2424
add_subdirectory(ARC)
2525
add_subdirectory(Analysis)
26+
add_subdirectory(Differentiation)
2627
add_subdirectory(FunctionSignatureTransforms)
2728
add_subdirectory(IPO)
2829
add_subdirectory(LoopTransforms)

lib/SILOptimizer/Utils/Differentiation/ADContext.cpp renamed to lib/SILOptimizer/Differentiation/ADContext.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#define DEBUG_TYPE "differentiation"
1818

19-
#include "swift/SILOptimizer/Utils/Differentiation/ADContext.h"
19+
#include "swift/SILOptimizer/Differentiation/ADContext.h"
2020
#include "swift/AST/DiagnosticsSIL.h"
2121
#include "swift/SILOptimizer/PassManager/Transforms.h"
2222

lib/SILOptimizer/Utils/Differentiation/Common.cpp renamed to lib/SILOptimizer/Differentiation/Common.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
#define DEBUG_TYPE "differentiation"
1818

19-
#include "swift/SILOptimizer/Utils/Differentiation/Common.h"
19+
#include "swift/SILOptimizer/Differentiation/Common.h"
2020

2121
namespace swift {
2222
namespace autodiff {

lib/SILOptimizer/Utils/Differentiation/DifferentiationInvoker.cpp renamed to lib/SILOptimizer/Differentiation/DifferentiationInvoker.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
//
1616
//===----------------------------------------------------------------------===//
1717

18-
#include "swift/SILOptimizer/Utils/Differentiation/DifferentiationInvoker.h"
18+
#include "swift/SILOptimizer/Differentiation/DifferentiationInvoker.h"
19+
1920
#include "swift/SIL/SILDifferentiabilityWitness.h"
2021
#include "swift/SIL/SILFunction.h"
2122
#include "swift/SIL/SILInstruction.h"

lib/SILOptimizer/Utils/Differentiation/JVPEmitter.cpp renamed to lib/SILOptimizer/Differentiation/JVPEmitter.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,11 @@
1717

1818
#define DEBUG_TYPE "differentiation"
1919

20-
#include "swift/SILOptimizer/Utils/Differentiation/JVPEmitter.h"
20+
#include "swift/SILOptimizer/Differentiation/JVPEmitter.h"
21+
#include "swift/SILOptimizer/Differentiation/ADContext.h"
22+
#include "swift/SILOptimizer/Differentiation/Thunk.h"
23+
2124
#include "swift/SILOptimizer/PassManager/PrettyStackTrace.h"
22-
#include "swift/SILOptimizer/Utils/Differentiation/ADContext.h"
23-
#include "swift/SILOptimizer/Utils/Differentiation/Thunk.h"
2425
#include "swift/SILOptimizer/Utils/SILOptFunctionBuilder.h"
2526

2627
namespace swift {

lib/SILOptimizer/Utils/Differentiation/LinearMapInfo.cpp renamed to lib/SILOptimizer/Differentiation/LinearMapInfo.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@
1616

1717
#define DEBUG_TYPE "differentiation"
1818

19-
#include "swift/SILOptimizer/Utils/Differentiation/LinearMapInfo.h"
19+
#include "swift/SILOptimizer/Differentiation/LinearMapInfo.h"
20+
#include "swift/SILOptimizer/Differentiation/ADContext.h"
21+
2022
#include "swift/AST/DeclContext.h"
2123
#include "swift/AST/ParameterList.h"
2224
#include "swift/AST/SourceFile.h"
2325
#include "swift/SIL/LoopInfo.h"
2426
#include "swift/SILOptimizer/Analysis/LoopAnalysis.h"
25-
#include "swift/SILOptimizer/Utils/Differentiation/ADContext.h"
2627

2728
namespace swift {
2829
namespace autodiff {

lib/SILOptimizer/Utils/Differentiation/PullbackEmitter.cpp renamed to lib/SILOptimizer/Differentiation/PullbackEmitter.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,14 @@
1717

1818
#define DEBUG_TYPE "differentiation"
1919

20-
#include "swift/SILOptimizer/Utils/Differentiation/PullbackEmitter.h"
20+
#include "swift/SILOptimizer/Differentiation/PullbackEmitter.h"
21+
#include "swift/SILOptimizer/Differentiation/ADContext.h"
22+
#include "swift/SILOptimizer/Differentiation/Thunk.h"
23+
#include "swift/SILOptimizer/Differentiation/VJPEmitter.h"
24+
2125
#include "swift/SIL/InstructionUtils.h"
2226
#include "swift/SIL/Projection.h"
2327
#include "swift/SILOptimizer/PassManager/PrettyStackTrace.h"
24-
#include "swift/SILOptimizer/Utils/Differentiation/ADContext.h"
25-
#include "swift/SILOptimizer/Utils/Differentiation/Thunk.h"
26-
#include "swift/SILOptimizer/Utils/Differentiation/VJPEmitter.h"
2728
#include "swift/SILOptimizer/Utils/SILOptFunctionBuilder.h"
2829

2930
namespace swift {

lib/SILOptimizer/Utils/Differentiation/Thunk.cpp renamed to lib/SILOptimizer/Differentiation/Thunk.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
#define DEBUG_TYPE "differentiation"
1818

19-
#include "swift/SILOptimizer/Utils/Differentiation/Thunk.h"
19+
#include "swift/SILOptimizer/Differentiation/Thunk.h"
20+
#include "swift/SILOptimizer/Differentiation/Common.h"
2021

2122
#include "swift/AST/AnyFunctionRef.h"
2223
#include "swift/AST/GenericSignatureBuilder.h"
2324
#include "swift/AST/Requirement.h"
2425
#include "swift/AST/SubstitutionMap.h"
25-
#include "swift/SILOptimizer/Utils/Differentiation/Common.h"
2626
#include "swift/SILOptimizer/Utils/SILOptFunctionBuilder.h"
2727

2828
namespace swift {

lib/SILOptimizer/Utils/Differentiation/VJPEmitter.cpp renamed to lib/SILOptimizer/Differentiation/VJPEmitter.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,13 @@
1717

1818
#define DEBUG_TYPE "differentiation"
1919

20-
#include "swift/SILOptimizer/Utils/Differentiation/VJPEmitter.h"
20+
#include "swift/SILOptimizer/Differentiation/VJPEmitter.h"
21+
#include "swift/SILOptimizer/Differentiation/ADContext.h"
22+
#include "swift/SILOptimizer/Differentiation/PullbackEmitter.h"
23+
#include "swift/SILOptimizer/Differentiation/Thunk.h"
24+
2125
#include "swift/SILOptimizer/PassManager/PrettyStackTrace.h"
2226
#include "swift/SILOptimizer/Utils/CFGOptUtils.h"
23-
#include "swift/SILOptimizer/Utils/Differentiation/ADContext.h"
24-
#include "swift/SILOptimizer/Utils/Differentiation/PullbackEmitter.h"
25-
#include "swift/SILOptimizer/Utils/Differentiation/Thunk.h"
2627
#include "swift/SILOptimizer/Utils/SILOptFunctionBuilder.h"
2728

2829
namespace swift {

lib/SILOptimizer/Mandatory/Differentiation.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@
3636
#include "swift/SIL/SILBuilder.h"
3737
#include "swift/SIL/TypeSubstCloner.h"
3838
#include "swift/SILOptimizer/Analysis/DominanceAnalysis.h"
39+
#include "swift/SILOptimizer/Differentiation/ADContext.h"
40+
#include "swift/SILOptimizer/Differentiation/JVPEmitter.h"
41+
#include "swift/SILOptimizer/Differentiation/Thunk.h"
42+
#include "swift/SILOptimizer/Differentiation/VJPEmitter.h"
3943
#include "swift/SILOptimizer/PassManager/Passes.h"
4044
#include "swift/SILOptimizer/PassManager/Transforms.h"
41-
#include "swift/SILOptimizer/Utils/Differentiation/ADContext.h"
42-
#include "swift/SILOptimizer/Utils/Differentiation/JVPEmitter.h"
43-
#include "swift/SILOptimizer/Utils/Differentiation/Thunk.h"
44-
#include "swift/SILOptimizer/Utils/Differentiation/VJPEmitter.h"
4545
#include "swift/SILOptimizer/Utils/SILOptFunctionBuilder.h"
4646
#include "llvm/ADT/APSInt.h"
4747
#include "llvm/ADT/BreadthFirstIterator.h"

lib/SILOptimizer/Utils/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
add_subdirectory(Differentiation)
2-
31
silopt_register_sources(
42
BasicBlockOptUtils.cpp
53
CFGOptUtils.cpp

0 commit comments

Comments
 (0)