Skip to content

Commit 27d9746

Browse files
committed
review comments
1 parent 42ef8db commit 27d9746

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

llvm/include/llvm/Transforms/Scalar/DropUnnecessaryAssumes.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@
1717

1818
namespace llvm {
1919

20-
class DropUnnecessaryAssumesPass
20+
struct DropUnnecessaryAssumesPass
2121
: public PassInfoMixin<DropUnnecessaryAssumesPass> {
22-
public:
2322
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
2423
};
2524

llvm/lib/Transforms/Scalar/DropUnnecessaryAssumes.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include "llvm/Transforms/Utils/Local.h"
1515

1616
using namespace llvm;
17+
using namespace llvm::PatternMatch;
1718

1819
PreservedAnalyses
1920
DropUnnecessaryAssumesPass::run(Function &F, FunctionAnalysisManager &FAM) {
@@ -31,7 +32,7 @@ DropUnnecessaryAssumesPass::run(Function &F, FunctionAnalysisManager &FAM) {
3132

3233
Value *Cond = Assume->getArgOperand(0);
3334
// Don't drop type tests, which have special semantics.
34-
if (match(Cond, PatternMatch::m_Intrinsic<Intrinsic::type_test>()))
35+
if (match(Cond, m_Intrinsic<Intrinsic::type_test>()))
3536
continue;
3637

3738
SmallPtrSet<Value *, 8> Affected;
@@ -43,11 +44,13 @@ DropUnnecessaryAssumesPass::run(Function &F, FunctionAnalysisManager &FAM) {
4344
// users may appear as a result of inlining and CSE, so we should only
4445
// make this assumption late in the optimization pipeline.
4546
// TODO: Handle dead cyclic usages.
46-
if (!all_of(Affected, [](Value *V) { return V->hasOneUse(); }))
47+
// TODO: Handle multiple dead assumes on the same value.
48+
if (!all_of(Affected, match_fn(m_OneUse(m_Value()))))
4749
continue;
4850

4951
Assume->eraseFromParent();
5052
RecursivelyDeleteTriviallyDeadInstructions(Cond);
53+
Changed = true;
5154
}
5255

5356
if (Changed) {

0 commit comments

Comments
 (0)