@@ -113,18 +113,17 @@ private struct FindAllocationOfRelease : ValueUseDefWalker {
113
113
private let allocInst : AllocRefInstBase
114
114
private var allocFound = false
115
115
116
- var walkUpCache = WalkerCache < SmallProjectionPath > ( )
116
+ var walkUpCache = WalkerCache < UnusedWalkingPath > ( )
117
117
118
118
init ( allocation: AllocRefInstBase ) { allocInst = allocation }
119
119
120
120
/// The top-level entry point: returns true if the root of `value` is the `allocInst`.
121
121
mutating func allocationIsRoot( of value: Value ) -> Bool {
122
- let path = SmallProjectionPath ( ) . push ( . anyValueFields)
123
- return walkUp ( value: value, path: path) != . abortWalk &&
122
+ return walkUp ( value: value, path: UnusedWalkingPath ( ) ) != . abortWalk &&
124
123
allocFound
125
124
}
126
125
127
- mutating func rootDef( value: Value , path: SmallProjectionPath ) -> WalkResult {
126
+ mutating func rootDef( value: Value , path: UnusedWalkingPath ) -> WalkResult {
128
127
if value == allocInst {
129
128
allocFound = true
130
129
return . continueWalk
@@ -134,7 +133,7 @@ private struct FindAllocationOfRelease : ValueUseDefWalker {
134
133
135
134
// This function is called for `struct` and `tuple` instructions in case the `path` doesn't select
136
135
// a specific operand but all operands.
137
- mutating func walkUpAllOperands( of def: Instruction , path: SmallProjectionPath ) -> WalkResult {
136
+ mutating func walkUpAllOperands( of def: Instruction , path: UnusedWalkingPath ) -> WalkResult {
138
137
139
138
// Instead of walking up _all_ operands (which would be the default behavior), require that only a
140
139
// _single_ operand is not trivial and walk up that operand.
0 commit comments