mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
SIL: Uncurry function types within the Swift type system.
Remove uncurry level as a property of SILType/SILFunctionTypeInfo. During SIL type lowering, map a (Type, UncurryLevel) pair to a Swift CanType with the uncurried arguments as a Swift tuple. For example, T -> (U, V) -> W at uncurry level 1 becomes ((U, V), T) -> W--in reverse order to match the low-level calling convention. Update SILGen and IRGen all over the place for this representation change. SILFunctionTypeInfo is still used in the SILType representation, but it's no longer load-bearing. Everything remaining in it can be derived from a Swift type. This is an ABI break. Be sure to rebuild clean! Swift SVN r5296
This commit is contained in:
@@ -73,11 +73,6 @@ public:
|
||||
return LoweredType.getFunctionTypeInfo();
|
||||
}
|
||||
|
||||
/// Returns the uncurry level of this entry point.
|
||||
unsigned getUncurryLevel() const {
|
||||
return getFunctionTypeInfo()->getUncurryLevel();
|
||||
}
|
||||
|
||||
/// Returns the calling convention used by this entry point.
|
||||
AbstractCC getAbstractCC() const {
|
||||
return getLoweredType().getFunctionCC();
|
||||
|
||||
Reference in New Issue
Block a user