Commit d3b6b89
authored
[AutoDiff] Support multiple differentiability result indices in SIL. (swiftlang#32206)
`DifferentiableFunctionInst` now stores result indices.
`SILAutoDiffIndices` now stores result indices instead of a source index.
`@differentiable` SIL function types may now have multiple differentiability
result indices and `@noDerivative` resutls.
`@differentiable` AST function types do not have `@noDerivative` results (yet),
so this functionality is not exposed to users.
Resolves TF-689 and TF-1256.
Infrastructural support for TF-983: supporting differentiation of `apply`
instructions with multiple active semantic results.1 parent 754f21d commit d3b6b89
File tree
61 files changed
+925
-616
lines changed- docs/ABI
- include/swift
- AST
- Demangling
- SILOptimizer
- Analysis
- Differentiation
- SIL
- lib
- AST
- Demangling
- IRGen
- SILGen
- SILOptimizer
- Analysis
- Differentiation
- Mandatory
- SIL
- IR
- Parser
- Verifier
- Sema
- Serialization
- test
- AutoDiff
- IRGen
- SILGen
- SILOptimizer
- SIL
- Serialization
- Demangle/Inputs
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
61 files changed
+925
-616
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
589 | 589 | | |
590 | 590 | | |
591 | 591 | | |
592 | | - | |
| 592 | + | |
593 | 593 | | |
594 | 594 | | |
595 | 595 | | |
| |||
634 | 634 | | |
635 | 635 | | |
636 | 636 | | |
| 637 | + | |
| 638 | + | |
637 | 639 | | |
638 | 640 | | |
639 | 641 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
177 | | - | |
| 176 | + | |
| 177 | + | |
178 | 178 | | |
179 | | - | |
| 179 | + | |
180 | 180 | | |
181 | | - | |
182 | | - | |
183 | | - | |
| 181 | + | |
184 | 182 | | |
| 183 | + | |
| 184 | + | |
185 | 185 | | |
186 | | - | |
187 | | - | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
188 | 191 | | |
189 | 192 | | |
190 | 193 | | |
| |||
202 | 205 | | |
203 | 206 | | |
204 | 207 | | |
205 | | - | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
206 | 214 | | |
207 | 215 | | |
208 | 216 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3942 | 3942 | | |
3943 | 3943 | | |
3944 | 3944 | | |
| 3945 | + | |
| 3946 | + | |
| 3947 | + | |
| 3948 | + | |
| 3949 | + | |
| 3950 | + | |
| 3951 | + | |
| 3952 | + | |
| 3953 | + | |
| 3954 | + | |
| 3955 | + | |
| 3956 | + | |
| 3957 | + | |
| 3958 | + | |
| 3959 | + | |
| 3960 | + | |
| 3961 | + | |
3945 | 3962 | | |
3946 | 3963 | | |
3947 | 3964 | | |
| 3965 | + | |
| 3966 | + | |
3948 | 3967 | | |
3949 | 3968 | | |
3950 | | - | |
3951 | | - | |
| 3969 | + | |
| 3970 | + | |
| 3971 | + | |
| 3972 | + | |
3952 | 3973 | | |
3953 | 3974 | | |
3954 | 3975 | | |
| |||
3969 | 3990 | | |
3970 | 3991 | | |
3971 | 3992 | | |
| 3993 | + | |
| 3994 | + | |
| 3995 | + | |
| 3996 | + | |
| 3997 | + | |
| 3998 | + | |
| 3999 | + | |
| 4000 | + | |
| 4001 | + | |
| 4002 | + | |
| 4003 | + | |
3972 | 4004 | | |
3973 | 4005 | | |
3974 | 4006 | | |
| |||
4025 | 4057 | | |
4026 | 4058 | | |
4027 | 4059 | | |
| 4060 | + | |
4028 | 4061 | | |
4029 | 4062 | | |
4030 | 4063 | | |
| |||
4714 | 4747 | | |
4715 | 4748 | | |
4716 | 4749 | | |
| 4750 | + | |
| 4751 | + | |
| 4752 | + | |
| 4753 | + | |
| 4754 | + | |
| 4755 | + | |
4717 | 4756 | | |
4718 | | - | |
4719 | | - | |
| 4757 | + | |
| 4758 | + | |
4720 | 4759 | | |
4721 | | - | |
| 4760 | + | |
| 4761 | + | |
4722 | 4762 | | |
4723 | 4763 | | |
4724 | 4764 | | |
4725 | 4765 | | |
4726 | 4766 | | |
4727 | 4767 | | |
4728 | | - | |
| 4768 | + | |
4729 | 4769 | | |
4730 | 4770 | | |
4731 | 4771 | | |
4732 | 4772 | | |
4733 | 4773 | | |
4734 | | - | |
| 4774 | + | |
4735 | 4775 | | |
4736 | 4776 | | |
4737 | 4777 | | |
| |||
4803 | 4843 | | |
4804 | 4844 | | |
4805 | 4845 | | |
4806 | | - | |
4807 | | - | |
4808 | | - | |
4809 | | - | |
4810 | | - | |
4811 | | - | |
4812 | 4846 | | |
4813 | | - | |
| 4847 | + | |
4814 | 4848 | | |
4815 | 4849 | | |
4816 | 4850 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | 97 | | |
107 | 98 | | |
108 | 99 | | |
109 | 100 | | |
| 101 | + | |
110 | 102 | | |
111 | 103 | | |
112 | | - | |
113 | 104 | | |
114 | 105 | | |
115 | 106 | | |
| |||
137 | 128 | | |
138 | 129 | | |
139 | 130 | | |
140 | | - | |
141 | | - | |
142 | | - | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
143 | 143 | | |
144 | 144 | | |
145 | 145 | | |
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
161 | 166 | | |
162 | 167 | | |
163 | 168 | | |
164 | 169 | | |
165 | | - | |
166 | 170 | | |
| 171 | + | |
| 172 | + | |
167 | 173 | | |
168 | 174 | | |
169 | 175 | | |
| 176 | + | |
170 | 177 | | |
171 | 178 | | |
172 | 179 | | |
| |||
184 | 191 | | |
185 | 192 | | |
186 | 193 | | |
187 | | - | |
188 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
189 | 208 | | |
190 | 209 | | |
191 | 210 | | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
192 | 215 | | |
193 | 216 | | |
194 | 217 | | |
| |||
640 | 663 | | |
641 | 664 | | |
642 | 665 | | |
643 | | - | |
| 666 | + | |
644 | 667 | | |
645 | 668 | | |
646 | 669 | | |
| |||
913 | 936 | | |
914 | 937 | | |
915 | 938 | | |
916 | | - | |
| 939 | + | |
917 | 940 | | |
918 | 941 | | |
919 | 942 | | |
920 | | - | |
921 | | - | |
922 | | - | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
923 | 946 | | |
924 | 947 | | |
925 | 948 | | |
| |||
931 | 954 | | |
932 | 955 | | |
933 | 956 | | |
934 | | - | |
935 | | - | |
| 957 | + | |
936 | 958 | | |
937 | 959 | | |
938 | 960 | | |
939 | 961 | | |
940 | 962 | | |
941 | 963 | | |
942 | | - | |
943 | | - | |
| 964 | + | |
944 | 965 | | |
945 | 966 | | |
946 | 967 | | |
947 | 968 | | |
948 | 969 | | |
949 | | - | |
| 970 | + | |
950 | 971 | | |
951 | 972 | | |
952 | 973 | | |
953 | 974 | | |
954 | 975 | | |
955 | | - | |
| 976 | + | |
956 | 977 | | |
957 | 978 | | |
958 | 979 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2179 | 2179 | | |
2180 | 2180 | | |
2181 | 2181 | | |
2182 | | - | |
| 2182 | + | |
| 2183 | + | |
2183 | 2184 | | |
2184 | 2185 | | |
2185 | | - | |
| 2186 | + | |
2186 | 2187 | | |
2187 | 2188 | | |
2188 | 2189 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2853 | 2853 | | |
2854 | 2854 | | |
2855 | 2855 | | |
| 2856 | + | |
2856 | 2857 | | |
2857 | 2858 | | |
2858 | 2859 | | |
| |||
0 commit comments