Lifetime
struct Lifetime : Sendable
A region of the program rooted at a definition.
A lifetime rooted at a definition d is a region starting immediately after d and covering
a set of uses dominated by d. The “upper boundaries” of a lifetime are the program points
immediately after the uses sequenced last in that region.
Note
The definition of an operando isn’t part of o‘s lifetime.
-
Undocumented
Declaration
Swift
fileprivate typealias Coverage = [Function.Blocks.Address : BlockCoverage] -
A data structure encoding how a block covers the lifetime.
See moreDeclaration
Swift
enum BlockCoverage : Sendable -
The operand whose
selfis the lifetime.Note
operandis either an instruction or a basic block parameter.Declaration
Swift
let operand: Operand -
The set of instructions in the lifetime.
Declaration
Swift
fileprivate let coverage: Coverage -
Creates an empty lifetime.
Declaration
Swift
init(operand: Operand) -
Creates an instance with the given properties.
-
Indicates whether the lifetime is empty.
Declaration
Swift
var isEmpty: Bool { get } -
The upper boundaries of the region formed by the elements in
self.There’s one upper boundary per basic block covered in the lifetime that isn’t live-out. It falls immediately after the last element of
selfalso contained in that block, or, in the case of a live-in block with no use, immediately before the first instruction.Declaration
Swift
var upperBoundaries: some Sequence<InsertionPoint> { get }
View on GitHub