From a2f8b6baebb1b478bdedf15a7cfdc0c54418e721 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Fri, 9 Aug 2024 09:27:37 -0700 Subject: [PATCH] [llvm] Construct SmallVector with ArrayRef (NFC) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Without this patch, the constructor arguments come from SmallVectorImpl, not ArrayRef. This patch switches them to ArrayRef so that we can construct SmallVector with a single argument. Note that LLVM Programmer’s Manual prefers ArrayRef to SmallVectorImpl for flexibility. --- llvm/include/llvm/Analysis/ScalarEvolution.h | 4 +--- llvm/lib/Analysis/ScalarEvolution.cpp | 3 +-- llvm/lib/Transforms/Utils/LCSSA.cpp | 5 ++--- llvm/utils/TableGen/Common/DAGISelMatcher.cpp | 6 +++--- llvm/utils/TableGen/Common/DAGISelMatcher.h | 2 +- 5 files changed, 8 insertions(+), 12 deletions(-) diff --git a/llvm/include/llvm/Analysis/ScalarEvolution.h b/llvm/include/llvm/Analysis/ScalarEvolution.h index 1081357e734a6..f413e77877f90 100644 --- a/llvm/include/llvm/Analysis/ScalarEvolution.h +++ b/llvm/include/llvm/Analysis/ScalarEvolution.h @@ -427,9 +427,7 @@ class SCEVUnionPredicate final : public SCEVPredicate { public: SCEVUnionPredicate(ArrayRef Preds); - const SmallVectorImpl &getPredicates() const { - return Preds; - } + ArrayRef getPredicates() const { return Preds; } /// Implementation of the SCEVPredicate interface bool isAlwaysTrue() const override; diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index a5ebd5c554c3d..632b298576aab 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -14914,8 +14914,7 @@ void PredicatedScalarEvolution::addPredicate(const SCEVPredicate &Pred) { if (Preds->implies(&Pred)) return; - auto &OldPreds = Preds->getPredicates(); - SmallVector NewPreds(OldPreds.begin(), OldPreds.end()); + SmallVector NewPreds(Preds->getPredicates()); NewPreds.push_back(&Pred); Preds = std::make_unique(NewPreds); updateGeneration(); diff --git a/llvm/lib/Transforms/Utils/LCSSA.cpp b/llvm/lib/Transforms/Utils/LCSSA.cpp index f92e921949a08..d76a0c2e4ce75 100644 --- a/llvm/lib/Transforms/Utils/LCSSA.cpp +++ b/llvm/lib/Transforms/Utils/LCSSA.cpp @@ -335,12 +335,11 @@ bool llvm::formLCSSAForInstructions(SmallVectorImpl &Worklist, // Compute the set of BasicBlocks in the loop `L` dominating at least one exit. static void computeBlocksDominatingExits( - Loop &L, const DominatorTree &DT, - const SmallVectorImpl &ExitBlocks, + Loop &L, const DominatorTree &DT, ArrayRef ExitBlocks, SmallSetVector &BlocksDominatingExits) { // We start from the exit blocks, as every block trivially dominates itself // (not strictly). - SmallVector BBWorklist(ExitBlocks.begin(), ExitBlocks.end()); + SmallVector BBWorklist(ExitBlocks); while (!BBWorklist.empty()) { BasicBlock *BB = BBWorklist.pop_back_val(); diff --git a/llvm/utils/TableGen/Common/DAGISelMatcher.cpp b/llvm/utils/TableGen/Common/DAGISelMatcher.cpp index 71bbeaaba9a91..d235114871b52 100644 --- a/llvm/utils/TableGen/Common/DAGISelMatcher.cpp +++ b/llvm/utils/TableGen/Common/DAGISelMatcher.cpp @@ -91,10 +91,10 @@ SwitchTypeMatcher::~SwitchTypeMatcher() { delete C.second; } -CheckPredicateMatcher::CheckPredicateMatcher( - const TreePredicateFn &pred, const SmallVectorImpl &Ops) +CheckPredicateMatcher::CheckPredicateMatcher(const TreePredicateFn &pred, + ArrayRef Ops) : Matcher(CheckPredicate), Pred(pred.getOrigPatFragRecord()), - Operands(Ops.begin(), Ops.end()) {} + Operands(Ops) {} TreePredicateFn CheckPredicateMatcher::getPredicate() const { return TreePredicateFn(Pred); diff --git a/llvm/utils/TableGen/Common/DAGISelMatcher.h b/llvm/utils/TableGen/Common/DAGISelMatcher.h index d001a5ad8084b..999206e995d16 100644 --- a/llvm/utils/TableGen/Common/DAGISelMatcher.h +++ b/llvm/utils/TableGen/Common/DAGISelMatcher.h @@ -452,7 +452,7 @@ class CheckPredicateMatcher : public Matcher { public: CheckPredicateMatcher(const TreePredicateFn &pred, - const SmallVectorImpl &Operands); + ArrayRef Operands); TreePredicateFn getPredicate() const; unsigned getNumOperands() const;