diff --git a/llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp b/llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp index cbf70278a2813..10002a45289c0 100644 --- a/llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp +++ b/llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.cpp @@ -12,8 +12,8 @@ #include "CXXPredicates.h" #include "llvm/ADT/STLExtras.h" -namespace llvm { -namespace gi { +using namespace llvm; +using namespace gi; std::vector CXXPredicateCode::getSorted(const CXXPredicateCodePool &Pool) { @@ -46,6 +46,3 @@ CXXPredicateCode::CXXPredicateCode(std::string Code, unsigned ID) CXXPredicateCode::CXXPredicateCodePool CXXPredicateCode::AllCXXMatchCode; CXXPredicateCode::CXXPredicateCodePool CXXPredicateCode::AllCXXCustomActionCode; - -} // namespace gi -} // namespace llvm diff --git a/llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h b/llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h index 0cfdf702c78b1..d4d1f39757525 100644 --- a/llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h +++ b/llvm/utils/TableGen/Common/GlobalISel/CXXPredicates.h @@ -22,8 +22,7 @@ #include #include -namespace llvm { -namespace gi { +namespace llvm::gi { /// Entry into the static pool of all CXX Predicate code. This contains /// fully expanded C++ code. @@ -80,7 +79,6 @@ class CXXPredicateCode { } }; -} // namespace gi -} // end namespace llvm +} // namespace llvm::gi #endif // LLVM_UTILS_TABLEGEN_COMMON_GLOBALISEL_CXXPREDICATES_H diff --git a/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.cpp b/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.cpp index 37e6306050951..7049ab6f9725f 100644 --- a/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.cpp +++ b/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.cpp @@ -9,9 +9,9 @@ #include "CombinerUtils.h" #include "llvm/ADT/StringSet.h" -namespace llvm { +using namespace llvm; -StringRef insertStrRef(StringRef S) { +StringRef llvm::insertStrRef(StringRef S) { if (S.empty()) return {}; @@ -19,5 +19,3 @@ StringRef insertStrRef(StringRef S) { auto [It, Inserted] = Pool.insert(S); return It->getKey(); } - -} // namespace llvm diff --git a/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h b/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h index de6ccd4c023e2..eaae9289bedf8 100644 --- a/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h +++ b/llvm/utils/TableGen/Common/GlobalISel/CombinerUtils.h @@ -67,6 +67,7 @@ inline const DagInit *getDagWithOperatorOfSubClass(const Init &N, } /// Copies a StringRef into a static pool to preserve it. +// FIXME: Use UniqueStringSaver instead. StringRef insertStrRef(StringRef S); } // namespace llvm diff --git a/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp b/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp index 623fef973f989..8c8d5d77ebd73 100644 --- a/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp +++ b/llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp @@ -20,17 +20,16 @@ STATISTIC(NumPatternEmitted, "Number of patterns emitted"); -namespace llvm { -namespace gi { +using namespace llvm; +using namespace gi; -namespace { - -Error failUnsupported(const Twine &Reason) { +// FIXME: Use createStringError instead. +static Error failUnsupported(const Twine &Reason) { return make_error(Reason, inconvertibleErrorCode()); } /// Get the name of the enum value used to number the predicate function. -std::string getEnumNameForPredicate(const TreePredicateFn &Predicate) { +static std::string getEnumNameForPredicate(const TreePredicateFn &Predicate) { if (Predicate.hasGISelPredicateCode()) return "GICXXPred_MI_" + Predicate.getFnName(); if (Predicate.hasGISelLeafPredicateCode()) @@ -39,18 +38,17 @@ std::string getEnumNameForPredicate(const TreePredicateFn &Predicate) { Predicate.getFnName(); } -std::string getMatchOpcodeForImmPredicate(const TreePredicateFn &Predicate) { +static std::string +getMatchOpcodeForImmPredicate(const TreePredicateFn &Predicate) { return "GIM_Check" + Predicate.getImmTypeIdentifier().str() + "ImmPredicate"; } // GIMT_Encode2/4/8 constexpr StringLiteral EncodeMacroName = "GIMT_Encode"; -} // namespace - //===- Helpers ------------------------------------------------------------===// -void emitEncodingMacrosDef(raw_ostream &OS) { +void llvm::gi::emitEncodingMacrosDef(raw_ostream &OS) { OS << "#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__\n" << "#define " << EncodeMacroName << "2(Val)" << " uint8_t(Val), uint8_t((Val) >> 8)\n" @@ -76,14 +74,15 @@ void emitEncodingMacrosDef(raw_ostream &OS) { << "#endif\n"; } -void emitEncodingMacrosUndef(raw_ostream &OS) { +void llvm::gi::emitEncodingMacrosUndef(raw_ostream &OS) { OS << "#undef " << EncodeMacroName << "2\n" << "#undef " << EncodeMacroName << "4\n" << "#undef " << EncodeMacroName << "8\n"; } -std::string getNameForFeatureBitset(ArrayRef FeatureBitset, - int HwModeIdx) { +std::string +llvm::gi::getNameForFeatureBitset(ArrayRef FeatureBitset, + int HwModeIdx) { std::string Name = "GIFBS"; for (const Record *Feature : FeatureBitset) Name += ("_" + Feature->getName()).str(); @@ -94,8 +93,8 @@ std::string getNameForFeatureBitset(ArrayRef FeatureBitset, template std::vector -optimizeRules(ArrayRef Rules, - std::vector> &MatcherStorage) { +llvm::gi::optimizeRules(ArrayRef Rules, + std::vector> &MatcherStorage) { std::vector OptRules; std::unique_ptr CurrentGroup = std::make_unique(); @@ -142,11 +141,11 @@ optimizeRules(ArrayRef Rules, return OptRules; } -template std::vector optimizeRules( +template std::vector llvm::gi::optimizeRules( ArrayRef Rules, std::vector> &MatcherStorage); -template std::vector optimizeRules( +template std::vector llvm::gi::optimizeRules( ArrayRef Rules, std::vector> &MatcherStorage); @@ -158,7 +157,7 @@ static std::string getEncodedEmitStr(StringRef NamedValue, unsigned NumBytes) { //===- Global Data --------------------------------------------------------===// -std::set KnownTypes; +std::set llvm::gi::KnownTypes; //===- MatchTableRecord ---------------------------------------------------===// @@ -437,7 +436,7 @@ bool LLTCodeGen::operator<(const LLTCodeGen &Other) const { //===- LLTCodeGen Helpers -------------------------------------------------===// -std::optional MVTToLLT(MVT::SimpleValueType SVT) { +std::optional llvm::gi::MVTToLLT(MVT::SimpleValueType SVT) { MVT VT(SVT); if (VT.isVector() && !VT.getVectorElementCount().isScalar()) @@ -2434,6 +2433,3 @@ void MakeTempRegisterAction::emitActionOpcodes(MatchTable &Table, << MatchTable::ULEB128Value(TempRegID) << MatchTable::Comment("TypeID") << Ty << MatchTable::LineBreak; } - -} // namespace gi -} // namespace llvm diff --git a/llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp b/llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp index e62f63ae53ba4..ad5089d429c7d 100644 --- a/llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp +++ b/llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp @@ -17,8 +17,9 @@ #include "llvm/TableGen/Error.h" #include "llvm/TableGen/Record.h" -namespace llvm { -namespace gi { +using namespace llvm; +using namespace gi; + static constexpr StringLiteral MIFlagsEnumClassName = "MIFlagEnum"; namespace { @@ -445,6 +446,3 @@ const PatFrag *PatternParser::parsePatFrag(const Record *Def) { SeenPatFrags.insert(Res); return Res; } - -} // namespace gi -} // namespace llvm diff --git a/llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp b/llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp index c503c9a47b4ff..dfd37fd64a652 100644 --- a/llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp +++ b/llvm/utils/TableGen/Common/GlobalISel/Patterns.cpp @@ -18,8 +18,8 @@ #include "llvm/TableGen/Error.h" #include "llvm/TableGen/Record.h" -namespace llvm { -namespace gi { +using namespace llvm; +using namespace gi; //===- PatternType --------------------------------------------------------===// @@ -884,6 +884,3 @@ bool BuiltinPattern::checkSemantics(ArrayRef Loc) { return true; } - -} // namespace gi -} // namespace llvm diff --git a/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp b/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp index 83dc34896e6f6..28723bf7186df 100644 --- a/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp +++ b/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp @@ -60,23 +60,22 @@ using namespace llvm::gi; #define DEBUG_TYPE "gicombiner-emitter" -namespace { -cl::OptionCategory +static cl::OptionCategory GICombinerEmitterCat("Options for -gen-global-isel-combiner"); -cl::opt StopAfterParse( +static cl::opt StopAfterParse( "gicombiner-stop-after-parse", cl::desc("Stop processing after parsing rules and dump state"), cl::cat(GICombinerEmitterCat)); -cl::list +static cl::list SelectedCombiners("combiners", cl::desc("Emit the specified combiners"), cl::cat(GICombinerEmitterCat), cl::CommaSeparated); -cl::opt DebugCXXPreds( +static cl::opt DebugCXXPreds( "gicombiner-debug-cxxpreds", cl::desc("Add Contextual/Debug comments to all C++ predicates"), cl::cat(GICombinerEmitterCat)); -cl::opt DebugTypeInfer("gicombiner-debug-typeinfer", - cl::desc("Print type inference debug logs"), - cl::cat(GICombinerEmitterCat)); +static cl::opt DebugTypeInfer("gicombiner-debug-typeinfer", + cl::desc("Print type inference debug logs"), + cl::cat(GICombinerEmitterCat)); constexpr StringLiteral CXXCustomActionPrefix = "GICXXCustomAction_"; constexpr StringLiteral CXXPredPrefix = "GICXXPred_MI_Predicate_"; @@ -84,20 +83,20 @@ constexpr StringLiteral MatchDataClassName = "GIDefMatchData"; //===- CodeExpansions Helpers --------------------------------------------===// -void declareInstExpansion(CodeExpansions &CE, const InstructionMatcher &IM, - StringRef Name) { +static void declareInstExpansion(CodeExpansions &CE, + const InstructionMatcher &IM, StringRef Name) { CE.declare(Name, "State.MIs[" + to_string(IM.getInsnVarID()) + "]"); } -void declareInstExpansion(CodeExpansions &CE, const BuildMIAction &A, - StringRef Name) { +static void declareInstExpansion(CodeExpansions &CE, const BuildMIAction &A, + StringRef Name) { // Note: we use redeclare here because this may overwrite a matcher inst // expansion. CE.redeclare(Name, "OutMIs[" + to_string(A.getInsnID()) + "]"); } -void declareOperandExpansion(CodeExpansions &CE, const OperandMatcher &OM, - StringRef Name) { +static void declareOperandExpansion(CodeExpansions &CE, + const OperandMatcher &OM, StringRef Name) { if (OM.isVariadic()) { CE.declare(Name, "getRemainingOperands(*State.MIs[" + to_string(OM.getInsnVarID()) + "], " + @@ -108,33 +107,34 @@ void declareOperandExpansion(CodeExpansions &CE, const OperandMatcher &OM, } } -void declareTempRegExpansion(CodeExpansions &CE, unsigned TempRegID, - StringRef Name) { +static void declareTempRegExpansion(CodeExpansions &CE, unsigned TempRegID, + StringRef Name) { CE.declare(Name, "State.TempRegisters[" + to_string(TempRegID) + "]"); } //===- Misc. Helpers -----------------------------------------------------===// -template auto keys(Container &&C) { +template static auto keys(Container &&C) { return map_range(C, [](auto &Entry) -> auto & { return Entry.first; }); } -template auto values(Container &&C) { +template static auto values(Container &&C) { return map_range(C, [](auto &Entry) -> auto & { return Entry.second; }); } -std::string getIsEnabledPredicateEnumName(unsigned CombinerRuleID) { +static std::string getIsEnabledPredicateEnumName(unsigned CombinerRuleID) { return "GICXXPred_Simple_IsRule" + to_string(CombinerRuleID) + "Enabled"; } //===- MatchTable Helpers ------------------------------------------------===// -LLTCodeGen getLLTCodeGen(const PatternType &PT) { +static LLTCodeGen getLLTCodeGen(const PatternType &PT) { return *MVTToLLT(getValueType(PT.getLLTRecord())); } //===- PrettyStackTrace Helpers ------------------------------------------===// +namespace { class PrettyStackTraceParse : public PrettyStackTraceEntry { const Record &Def; @@ -277,6 +277,7 @@ class CombineRuleOperandTypeChecker : private OperandTypeChecker { const OperandTable &MatchOpTable; }; +} // namespace bool CombineRuleOperandTypeChecker::processMatchPattern(InstructionPattern &P) { MatchPats.push_back(&P); @@ -2822,8 +2823,6 @@ void GICombinerEmitter::run(raw_ostream &OS) { emitTemporariesInit(OS, MaxTemporaries, "GET_GICOMBINER_CONSTRUCTOR_INITS"); } -} // end anonymous namespace - //===----------------------------------------------------------------------===// static void EmitGICombiner(const RecordKeeper &RK, raw_ostream &OS) { diff --git a/llvm/utils/TableGen/GlobalISelEmitter.cpp b/llvm/utils/TableGen/GlobalISelEmitter.cpp index fcfcb36a124a8..7ae6107b98554 100644 --- a/llvm/utils/TableGen/GlobalISelEmitter.cpp +++ b/llvm/utils/TableGen/GlobalISelEmitter.cpp @@ -86,8 +86,6 @@ static cl::opt OptimizeMatchTable( cl::desc("Generate an optimized version of the match table"), cl::init(true), cl::cat(GlobalISelEmitterCat)); -namespace { - static std::string explainPredicates(const TreePatternNode &N) { std::string Explanation; StringRef Separator = ""; @@ -167,7 +165,7 @@ static std::string explainPredicates(const TreePatternNode &N) { return Explanation; } -std::string explainOperator(const Record *Operator) { +static std::string explainOperator(const Record *Operator) { if (Operator->isSubClassOf("SDNode")) return (" (" + Operator->getValueAsString("Opcode") + ")").str(); @@ -314,6 +312,7 @@ static Expected getInstResultType(const TreePatternNode &Dst, return *MaybeOpTy; } +namespace { class GlobalISelEmitter final : public GlobalISelMatchTableExecutorEmitter { public: explicit GlobalISelEmitter(const RecordKeeper &RK); @@ -493,8 +492,11 @@ class GlobalISelEmitter final : public GlobalISelMatchTableExecutorEmitter { const TreePredicateFn &Predicate, InstructionMatcher &InsnMatcher, bool &HasAddedMatcher); }; +} // namespace -StringRef getPatFragPredicateEnumName(const Record *R) { return R->getName(); } +static StringRef getPatFragPredicateEnumName(const Record *R) { + return R->getName(); +} void GlobalISelEmitter::gatherOpcodeValues() { InstructionOpcodeMatcher::initOpcodeValuesMap(Target); @@ -2534,8 +2536,6 @@ unsigned GlobalISelEmitter::declareHwModeCheck(StringRef HwModeFeatures) { return HwModes.emplace(HwModeFeatures.str(), HwModes.size()).first->second; } -} // end anonymous namespace - //===----------------------------------------------------------------------===// static TableGen::Emitter::OptClass