|
16 | 16 | using namespace llvm; |
17 | 17 | using namespace llvm::PatternMatch; |
18 | 18 |
|
19 | | -static bool |
20 | | -affectedValuesAreEphemeral(const SmallPtrSetImpl<Value *> &Affected) { |
| 19 | +static bool affectedValuesAreEphemeral(ArrayRef<Value *> Affected) { |
21 | 20 | // If all the affected uses have only one use (part of the assume), then |
22 | 21 | // the assume does not provide useful information. Note that additional |
23 | 22 | // users may appear as a result of inlining and CSE, so we should only |
@@ -53,9 +52,9 @@ DropUnnecessaryAssumesPass::run(Function &F, FunctionAnalysisManager &FAM) { |
53 | 52 | if (Bundle.Inputs.empty()) |
54 | 53 | return false; |
55 | 54 |
|
56 | | - SmallPtrSet<Value *, 8> Affected; |
| 55 | + SmallVector<Value *> Affected; |
57 | 56 | AssumptionCache::findValuesAffectedByOperandBundle( |
58 | | - Bundle, [&](Value *A) { Affected.insert(A); }); |
| 57 | + Bundle, [&](Value *A) { Affected.push_back(A); }); |
59 | 58 |
|
60 | 59 | return affectedValuesAreEphemeral(Affected); |
61 | 60 | }; |
@@ -90,9 +89,9 @@ DropUnnecessaryAssumesPass::run(Function &F, FunctionAnalysisManager &FAM) { |
90 | 89 | if (match(Cond, m_Intrinsic<Intrinsic::type_test>())) |
91 | 90 | continue; |
92 | 91 |
|
93 | | - SmallPtrSet<Value *, 8> Affected; |
| 92 | + SmallVector<Value *> Affected; |
94 | 93 | findValuesAffectedByCondition(Cond, /*IsAssume=*/true, |
95 | | - [&](Value *A) { Affected.insert(A); }); |
| 94 | + [&](Value *A) { Affected.push_back(A); }); |
96 | 95 |
|
97 | 96 | if (!affectedValuesAreEphemeral(Affected)) |
98 | 97 | continue; |
|
0 commit comments