@@ -130,7 +130,7 @@ void diagnoseRequiredCopyOfMoveOnly(Operand *use,
130
130
// /
131
131
// / This result remains valid during copy rewriting. The only instructions
132
132
// / referenced it contains are consumes that cannot be deleted.
133
- class CanonicalOSSAConsumeInfo {
133
+ class CanonicalOSSAConsumeInfo final {
134
134
// / Map blocks on the lifetime boundary to the last consuming instruction.
135
135
llvm::SmallDenseMap<SILBasicBlock *, SILInstruction *, 4 > finalBlockConsumes;
136
136
@@ -159,6 +159,10 @@ class CanonicalOSSAConsumeInfo {
159
159
return false ;
160
160
}
161
161
162
+ CanonicalOSSAConsumeInfo () {}
163
+ CanonicalOSSAConsumeInfo (CanonicalOSSAConsumeInfo const &) = delete ;
164
+ CanonicalOSSAConsumeInfo &
165
+ operator =(CanonicalOSSAConsumeInfo const &) = delete ;
162
166
SWIFT_ASSERT_ONLY_DECL (void dump () const LLVM_ATTRIBUTE_USED);
163
167
};
164
168
@@ -169,7 +173,7 @@ class CanonicalOSSAConsumeInfo {
169
173
// /
170
174
// / TODO: Move all the private per-definition members into an implementation
171
175
// / class in the .cpp file.
172
- class CanonicalizeOSSALifetime {
176
+ class CanonicalizeOSSALifetime final {
173
177
public:
174
178
// / Find the original definition of a potentially copied value. \p copiedValue
175
179
// / must be an owned value. It is usually a copy but may also be a destroy.
@@ -331,7 +335,7 @@ class CanonicalizeOSSALifetime {
331
335
332
336
InstModCallbacks &getCallbacks () { return deleter.getCallbacks (); }
333
337
334
- protected :
338
+ private :
335
339
void recordDebugValue (DebugValueInst *dvi) { debugValues.insert (dvi); }
336
340
337
341
void recordConsumingUse (Operand *use) {
0 commit comments