@@ -188,8 +188,8 @@ class LocalVariableAccessInfo: CustomStringConvertible {
188
188
}
189
189
190
190
var description : String {
191
- return " \( access ) " +
192
- " \n fully-assigned: \( _isFullyAssigned == nil ? " unknown " : String ( describing : _isFullyAssigned! ) ) "
191
+ return " full-assign: \( _isFullyAssigned == nil ? " unknown " : String ( describing : _isFullyAssigned! ) ) "
192
+ + " \( access ) "
193
193
}
194
194
}
195
195
@@ -200,7 +200,7 @@ class LocalVariableAccessInfo: CustomStringConvertible {
200
200
/// map.
201
201
///
202
202
/// TODO: In addition to isFullyAssigned, consider adding a lazily computed access path if any need arises.
203
- struct LocalVariableAccessMap : Collection , FormattedLikeArray {
203
+ struct LocalVariableAccessMap : Collection , CustomStringConvertible {
204
204
let context : Context
205
205
let allocation : Value
206
206
@@ -279,6 +279,10 @@ struct LocalVariableAccessMap: Collection, FormattedLikeArray {
279
279
subscript( _ accessIndex: Int ) -> LocalVariableAccessInfo { accessList [ accessIndex] }
280
280
281
281
subscript( instruction: Instruction ) -> LocalVariableAccessInfo ? { accessMap [ instruction] }
282
+
283
+ public var description : String {
284
+ " Access map: \n " + map( { String ( describing: $0) } ) . joined ( separator: " \n " )
285
+ }
282
286
}
283
287
284
288
/// Gather the accesses of a local allocation: alloc_box, alloc_stack, @in, @inout.
@@ -733,7 +737,8 @@ extension LocalVariableReachableAccess {
733
737
forwardPropagateEffect ( in: block, blockInfo: blockInfo, effect: currentEffect, blockList: & blockList,
734
738
accessStack: & accessStack)
735
739
}
736
- log ( " Local variable reachable uses: \( accessMap) \n \( accessStack) " )
740
+ log ( " \( accessMap) " )
741
+ log ( " Reachable access: \n \( accessStack. map ( { String ( describing: $0) } ) . joined ( separator: " \n " ) ) " )
737
742
return true
738
743
}
739
744
0 commit comments