|
15 | 15 |
|
16 | 16 | using namespace swift;
|
17 | 17 |
|
18 |
| -static ValueOwnershipKind getOwnershipKindForUndef(SILType type, const SILFunction &f) { |
19 |
| - if (!f.hasOwnership()) |
20 |
| - return OwnershipKind::None; |
21 |
| - if (type.isAddress() || type.isTrivial(f)) |
22 |
| - return OwnershipKind::None; |
23 |
| - return OwnershipKind::Owned; |
24 |
| -} |
25 |
| - |
26 |
| -SILUndef::SILUndef(SILType type, ValueOwnershipKind ownershipKind) |
27 |
| - : ValueBase(ValueKind::SILUndef, type, IsRepresentative::Yes), |
28 |
| - ownershipKind(ownershipKind) {} |
| 18 | +SILUndef::SILUndef(SILType type) |
| 19 | + : ValueBase(ValueKind::SILUndef, type, IsRepresentative::Yes) {} |
29 | 20 |
|
30 |
| -SILUndef *SILUndef::get(SILType ty, SILModule &m, ValueOwnershipKind ownershipKind) { |
31 |
| - SILUndef *&entry = m.UndefValues[std::make_pair(ty, unsigned(ownershipKind))]; |
| 21 | +SILUndef *SILUndef::get(SILType ty, SILModule &m) { |
| 22 | + SILUndef *&entry = m.UndefValues[ty]; |
32 | 23 | if (entry == nullptr)
|
33 |
| - entry = new (m) SILUndef(ty, ownershipKind); |
| 24 | + entry = new (m) SILUndef(ty); |
34 | 25 | return entry;
|
35 | 26 | }
|
36 | 27 |
|
37 | 28 | SILUndef *SILUndef::get(SILType ty, const SILFunction &f) {
|
38 |
| - auto ownershipKind = getOwnershipKindForUndef(ty, f); |
39 |
| - return SILUndef::get(ty, f.getModule(), ownershipKind); |
| 29 | + return SILUndef::get(ty, f.getModule()); |
40 | 30 | }
|
0 commit comments