-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Fix witness thunk archetypes #5338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix witness thunk archetypes #5338
Conversation
@slavapestov Interesting. It is either an infinite loop somewhere or it just inlines too much, bloats the code and make it look like it takes forever. |
My patch has a few of its own test failures too. I'm about to push a fixed version. |
a487630
to
813230e
Compare
@swift-ci Please smoke test |
… conformance Sema produces a weird mix of requirement and witness archetypes when it builds witness substitutions. Instead of hacking around this in SILGen, just build new archetypes, since we already have to use an ArchetypeBuilder to get the correct generic signature on the interface type. Then, we just have to map the witnessSubs provided by Sema to use our new archetypes. This unblocks some work on generic inlining. Fixes <rdar://problem/28765006>.
813230e
to
58f013e
Compare
@swift-ci Please smoke test |
@swift-ci Please clean test Linux |
Build failed |
@swift-ci Please clean test Linux |
@erg Any idea why the Linux build is failing? Looks like swiftpm is not being rebuilt. |
@slavapestov Thanks, Slava! It works. I can compile the stdlib with it. |
@slavapestov It's an incremental build and the source files don't change so nothing rebuilds. It would be fine, except the compiler changed between runs and the version number on the compiled files is too low, so it fails. We don't have a mechanism in place to recompile everything if the compiler changes yet. |
Work in progress.
@swiftix with this patch, the generic inliner no longer crashes, but instead compiling Swift.o appears to hang. I'll keep looking.