[NFC][TableGen] Use ArrayRef instead of const vector reference (#145323)

- Use `ArrayRef` instead of `SmallVector` reference in a few places.
- Drop redundant `llvm::` in a few places.
This commit is contained in:
Rahul Joshi
2025-06-24 07:30:00 -07:00
committed by GitHub
parent 12ba75145e
commit fba63e3281
7 changed files with 20 additions and 19 deletions

View File

@@ -435,9 +435,9 @@ public:
/// It runs node predicate number PredNo and returns true if it succeeds or
/// false if it fails. The number is a private implementation detail to the
/// code tblgen produces.
virtual bool CheckNodePredicateWithOperands(
SDValue Op, unsigned PredNo,
const SmallVectorImpl<SDValue> &Operands) const {
virtual bool
CheckNodePredicateWithOperands(SDValue Op, unsigned PredNo,
ArrayRef<SDValue> Operands) const {
llvm_unreachable("Tblgen should generate the implementation of this!");
}

View File

@@ -11,7 +11,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/TableGen/StringMatcher.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
@@ -23,14 +23,15 @@
using namespace llvm;
/// FindFirstNonCommonLetter - Find the first character in the keys of the
/// string pairs that is not shared across the whole set of strings. All
/// string pairs that is not shared across the whole set of strings. All
/// strings are assumed to have the same length.
static unsigned
FindFirstNonCommonLetter(ArrayRef<const StringMatcher::StringPair *> Matches) {
assert(!Matches.empty());
for (auto [Idx, Letter] : enumerate(Matches[0]->first)) {
// Check to see if `Letter` is the same across the set.
for (const StringMatcher::StringPair *Match : Matches)
// Check to see if `Letter` is the same across the set. Since the letter is
// from `Matches[0]`, we can skip `Matches[0]` in the loop below.
for (const StringMatcher::StringPair *Match : Matches.drop_front())
if (Match->first[Idx] != Letter)
return Idx;
}

View File

@@ -44,8 +44,8 @@ void StringToOffsetTable::EmitStringTableDef(raw_ostream &OS, const Twine &Name,
bool UseChars = !EmitLongStrLiterals && AggregateString.size() > (64 * 1024);
OS << (UseChars ? "{\n" : "\n");
llvm::ListSeparator LineSep(UseChars ? ",\n" : "\n");
llvm::SmallVector<StringRef> Strings(split(AggregateString, '\0'));
ListSeparator LineSep(UseChars ? ",\n" : "\n");
SmallVector<StringRef> Strings(split(AggregateString, '\0'));
// We should always have an empty string at the start, and because these are
// null terminators rather than separators, we'll have one at the end as
// well. Skip the end one.
@@ -63,7 +63,7 @@ void StringToOffsetTable::EmitStringTableDef(raw_ostream &OS, const Twine &Name,
continue;
}
llvm::ListSeparator CharSep(", ");
ListSeparator CharSep(", ");
for (char C : Str) {
OS << CharSep << "'";
OS.write_escaped(StringRef(&C, 1));

View File

@@ -3187,7 +3187,7 @@ bool TreePattern::InferAllTypes(
return true;
}
const SmallVectorImpl<TreePatternNode *> &InNodes = InIter->second;
ArrayRef<TreePatternNode *> InNodes = InIter->second;
// The input types should be fully resolved by now.
for (TreePatternNode *Node : Nodes) {

View File

@@ -1292,8 +1292,8 @@ public:
PredTransitions(CodeGenSchedModels &sm) : SchedModels(sm) {}
bool substituteVariantOperand(const SmallVectorImpl<unsigned> &RWSeq,
bool IsRead, unsigned StartIdx);
bool substituteVariantOperand(ArrayRef<unsigned> RWSeq, bool IsRead,
unsigned StartIdx);
bool substituteVariants(const PredTransition &Trans);
@@ -1526,8 +1526,8 @@ void PredTransitions::pushVariant(const TransVariant &VInfo, bool IsRead) {
// operand. StartIdx is an index into TransVec where partial results
// starts. RWSeq must be applied to all transitions between StartIdx and the end
// of TransVec.
bool PredTransitions::substituteVariantOperand(
const SmallVectorImpl<unsigned> &RWSeq, bool IsRead, unsigned StartIdx) {
bool PredTransitions::substituteVariantOperand(ArrayRef<unsigned> RWSeq,
bool IsRead, unsigned StartIdx) {
bool Subst = false;
// Visit each original RW within the current sequence.
for (unsigned int RWI : RWSeq) {
@@ -1591,7 +1591,7 @@ bool PredTransitions::substituteVariants(const PredTransition &Trans) {
}
static void addSequences(CodeGenSchedModels &SchedModels,
const SmallVectorImpl<SmallVector<unsigned, 4>> &Seqs,
ArrayRef<SmallVector<unsigned, 4>> Seqs,
IdxVec &Result, bool IsRead) {
for (const auto &S : Seqs)
if (!S.empty())

View File

@@ -1158,7 +1158,7 @@ void MatcherTableEmitter::EmitPredicateFunctions(raw_ostream &OS) {
EmitNodePredicatesFunction(
NodePredicatesWithOperands,
"CheckNodePredicateWithOperands(SDValue Op, unsigned PredNo, "
"const SmallVectorImpl<SDValue> &Operands) const",
"ArrayRef<SDValue> Operands) const",
OS);
// Emit CompletePattern matchers.

View File

@@ -282,8 +282,8 @@ static void ContractNodes(std::unique_ptr<Matcher> &InputMatcherPtr,
#endif
if (ResultsMatch) {
const SmallVectorImpl<MVT::SimpleValueType> &VTs = EN->getVTList();
const SmallVectorImpl<unsigned> &Operands = EN->getOperandList();
ArrayRef<MVT::SimpleValueType> VTs = EN->getVTList();
ArrayRef<unsigned> Operands = EN->getOperandList();
MatcherPtr->reset(new MorphNodeToMatcher(
EN->getInstruction(), VTs, Operands, EN->hasChain(),
EN->hasInGlue(), EN->hasOutGlue(), EN->hasMemRefs(),