Propagate Clang types through SIL#29239
Propagate Clang types through SIL#29239varungandhi-apple merged 5 commits intoswiftlang:masterfrom varungandhi-apple:vg-clang-types-in-sil
Conversation
|
The commits are showing in the wrong order again 🤦♂ |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@swift-ci please test |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
There is a compilation failure as I forgot to update some command line tools like sil-opt. I've fixed that locally pretty easily but there seem to be some crashes compiling the overlays. Looking into those right now. |
|
There were several bugs:
@swift-ci please smoke test If this works, we can run the big tests etc. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@swift-ci please clean test |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Ah the problem is LLDB fails to compile. Let me fix that. 😢 |
This is needed before we can store Clang types in SILFunctionType.
Hopefully, this helps us debug Clang type mismatches better.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
1 similar comment
|
@swift-ci please test |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
rjmccall
left a comment
There was a problem hiding this comment.
Minor comment but otherwise LGTM
| class TypeConverter; | ||
| }; | ||
|
|
||
| class SILUncommonInfo { |
There was a problem hiding this comment.
This is a very generic name for such a specific type. Can it be made a nested type of SILFunctionType?
There was a problem hiding this comment.
I tried that earlier, but the template argument in SILFunctionType's TrailingObjects needs the type to be complete. I suspect SILParameterInfo and SILResultInfo have been defined separately instead of as nested inside for a similar reason.
Maybe I should rename it to SILCallingConvUncommonInfo or something else which is more precise?
There was a problem hiding this comment.
Let me merge this for now, since I don't want to rerun coordinated testing with LLDB again, and this makes doing follow-up work easier. I will change the name in a new PR which can be Swift-only.
There was a problem hiding this comment.
Okay. SILFunctionTypeUncommonInfo seems reasonable.
See also: swiftlang/swift#29239 (cherry picked from commit fe48ff1)
First commit is from #29210.This PR allows us to use the Clang type in IRGen going forward.