[AutoDiff] Fix member loading for AD-generated structs/enums. #27264
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix
IterableDeclContext::loadAllMembersfor structs/enums generated during differentiation transform.Previously, 7e89bee disabled
loadAllMembersfor AD-generated structs/enums.This caused a SIL verification failure for
test/AutoDiff/autodiff_generated_decl_member_loading.swiftbecause enum members were not loaded.Now,
loadAllMembersis re-enabled. Other necessary fixes:-emit-sil, data structure generation tests now rely on-Xllvm -debug-only=differentiation.NominalTypeDecl::setBraces.SourceLocforEnumElementDeclandEnumCaseDeclto prevent duplicate enum cases from printing.Resolves TF-805.