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:
@@ -102,6 +102,8 @@ public:
|
||||
bbarg_iterator bbarg_end() { return BBArgList.end(); }
|
||||
const_bbarg_iterator bbarg_begin() const { return BBArgList.begin(); }
|
||||
const_bbarg_iterator bbarg_end() const { return BBArgList.end(); }
|
||||
|
||||
ArrayRef<SILArgument*> getBBArgs() const { return BBArgList; }
|
||||
|
||||
//===--------------------------------------------------------------------===//
|
||||
// Predecessors and Successors
|
||||
|
||||
Reference in New Issue
Block a user