[llvm] r307362 - [TableGen] Use StringRef instead of std::string for CodeGenInstruction namespace. NFC
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 10 11:47:30 PDT 2017
On Thu, Jul 6, 2017 at 11:22 PM Craig Topper via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: ctopper
> Date: Thu Jul 6 23:22:35 2017
> New Revision: 307362
>
> URL: http://llvm.org/viewvc/llvm-project?rev=307362&view=rev
> Log:
> [TableGen] Use StringRef instead of std::string for CodeGenInstruction
> namespace. NFC
>
> Modified:
> llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp
> llvm/trunk/utils/TableGen/CodeGenInstruction.h
> llvm/trunk/utils/TableGen/CodeGenMapTable.cpp
> llvm/trunk/utils/TableGen/CodeGenTarget.cpp
> llvm/trunk/utils/TableGen/CodeGenTarget.h
> llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp
> llvm/trunk/utils/TableGen/FastISelEmitter.cpp
> llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp
>
> Modified: llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp?rev=307362&r1=307361&r2=307362&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/AsmWriterEmitter.cpp Thu Jul 6 23:22:35 2017
> @@ -137,12 +137,12 @@ static void EmitInstructions(std::vector
> O << " switch (MI->getOpcode()) {\n";
> O << " default: llvm_unreachable(\"Unexpected opcode.\");\n";
> std::vector<std::pair<std::string, AsmWriterOperand>> OpsToPrint;
> - OpsToPrint.push_back(std::make_pair(FirstInst.CGI->Namespace + "::"
> +
> + OpsToPrint.push_back(std::make_pair(FirstInst.CGI->Namespace.str()
> + "::" +
>
> FirstInst.CGI->TheDef->getName().str(),
>
Might be marginally more efficient to do (x + y + z).str() rather than
x.str() + y.str() ?
> FirstInst.Operands[i]));
>
> for (const AsmWriterInst &AWI : SimilarInsts) {
> - OpsToPrint.push_back(std::make_pair(AWI.CGI->Namespace+"::" +
> + OpsToPrint.push_back(std::make_pair(AWI.CGI->Namespace.str()+"::"
> +
>
> AWI.CGI->TheDef->getName().str(),
> AWI.Operands[i]));
> }
>
> Modified: llvm/trunk/utils/TableGen/CodeGenInstruction.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenInstruction.h?rev=307362&r1=307361&r2=307362&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/CodeGenInstruction.h (original)
> +++ llvm/trunk/utils/TableGen/CodeGenInstruction.h Thu Jul 6 23:22:35 2017
> @@ -206,7 +206,7 @@ template <typename T> class ArrayRef;
> class CodeGenInstruction {
> public:
> Record *TheDef; // The actual record defining this
> instruction.
> - std::string Namespace; // The namespace the instruction is in.
> + StringRef Namespace; // The namespace the instruction is in.
>
> /// AsmString - The format string used to emit a .s file for the
> /// instruction.
>
> Modified: llvm/trunk/utils/TableGen/CodeGenMapTable.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenMapTable.cpp?rev=307362&r1=307361&r2=307362&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/CodeGenMapTable.cpp (original)
> +++ llvm/trunk/utils/TableGen/CodeGenMapTable.cpp Thu Jul 6 23:22:35 2017
> @@ -367,7 +367,7 @@ unsigned MapTableEmitter::emitBinSearchT
>
> ArrayRef<const CodeGenInstruction*> NumberedInstructions =
>
> Target.getInstructionsByEnumValue();
> - std::string Namespace = Target.getInstNamespace();
> + StringRef Namespace = Target.getInstNamespace();
> const std::vector<ListInit*> &ValueCols = InstrMapDesc.getValueCols();
> unsigned NumCol = ValueCols.size();
> unsigned TotalNumInstr = NumberedInstructions.size();
> @@ -567,7 +567,7 @@ namespace llvm {
>
> //===----------------------------------------------------------------------===//
> void EmitMapTable(RecordKeeper &Records, raw_ostream &OS) {
> CodeGenTarget Target(Records);
> - std::string NameSpace = Target.getInstNamespace();
> + StringRef NameSpace = Target.getInstNamespace();
> std::vector<Record*> InstrMapVec;
> InstrMapVec = Records.getAllDerivedDefinitions("InstrMapping");
>
>
> Modified: llvm/trunk/utils/TableGen/CodeGenTarget.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenTarget.cpp?rev=307362&r1=307361&r2=307362&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/CodeGenTarget.cpp (original)
> +++ llvm/trunk/utils/TableGen/CodeGenTarget.cpp Thu Jul 6 23:22:35 2017
> @@ -207,7 +207,7 @@ const StringRef CodeGenTarget::getName()
> return TargetRec->getName();
> }
>
> -std::string CodeGenTarget::getInstNamespace() const {
> +StringRef CodeGenTarget::getInstNamespace() const {
> for (const CodeGenInstruction *Inst : getInstructionsByEnumValue()) {
> // Make sure not to pick up "TargetOpcode" by accidentally getting
> // the namespace off the PHI instruction or something.
>
> Modified: llvm/trunk/utils/TableGen/CodeGenTarget.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/CodeGenTarget.h?rev=307362&r1=307361&r2=307362&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/CodeGenTarget.h (original)
> +++ llvm/trunk/utils/TableGen/CodeGenTarget.h Thu Jul 6 23:22:35 2017
> @@ -86,7 +86,7 @@ public:
>
> /// getInstNamespace - Return the target-specific instruction namespace.
> ///
> - std::string getInstNamespace() const;
> + StringRef getInstNamespace() const;
>
> /// getInstructionSet - Return the InstructionSet object.
> ///
>
> Modified: llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp?rev=307362&r1=307361&r2=307362&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp (original)
> +++ llvm/trunk/utils/TableGen/DAGISelMatcherGen.cpp Thu Jul 6 23:22:35
> 2017
> @@ -886,7 +886,7 @@ EmitResultInstructionAsOperand(const Tre
> assert((!ResultVTs.empty() || TreeHasOutGlue || NodeHasChain) &&
> "Node has no result");
>
> - AddMatcher(new
> EmitNodeMatcher(II.Namespace+"::"+II.TheDef->getName().str(),
> + AddMatcher(new
> EmitNodeMatcher(II.Namespace.str()+"::"+II.TheDef->getName().str(),
> ResultVTs, InstOps,
> NodeHasChain, TreeHasInGlue,
> TreeHasOutGlue,
> NodeHasMemRefs, NumFixedArityOperands,
>
> Modified: llvm/trunk/utils/TableGen/FastISelEmitter.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/FastISelEmitter.cpp?rev=307362&r1=307361&r2=307362&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/FastISelEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/FastISelEmitter.cpp Thu Jul 6 23:22:35 2017
> @@ -441,7 +441,7 @@ void FastISelMap::collectPatterns(CodeGe
> const CodeGenTarget &Target = CGP.getTargetInfo();
>
> // Determine the target's namespace name.
> - InstNS = Target.getInstNamespace() + "::";
> + InstNS = Target.getInstNamespace().str() + "::";
> assert(InstNS.size() > 2 && "Can't determine target-specific
> namespace!");
>
> // Scan through all the patterns and record the simple ones.
> @@ -873,7 +873,7 @@ void EmitFastISel(RecordKeeper &RK, raw_
> Target.getName().str() + " target", OS);
>
> // Determine the target's namespace name.
> - std::string InstNS = Target.getInstNamespace() + "::";
> + std::string InstNS = Target.getInstNamespace().str() + "::";
> assert(InstNS.size() > 2 && "Can't determine target-specific
> namespace!");
>
> FastISelMap F(InstNS);
>
> Modified: llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp?rev=307362&r1=307361&r2=307362&view=diff
>
> ==============================================================================
> --- llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/InstrInfoEmitter.cpp Thu Jul 6 23:22:35 2017
> @@ -67,7 +67,7 @@ private:
> void emitOperandTypesEnum(raw_ostream &OS, const CodeGenTarget &Target);
> void initOperandMapData(
> ArrayRef<const CodeGenInstruction *> NumberedInstructions,
> - const std::string &Namespace,
> + StringRef Namespace,
> std::map<std::string, unsigned> &Operands,
> OpNameMapTy &OperandMap);
> void emitOperandNameMappings(raw_ostream &OS, const CodeGenTarget
> &Target,
> @@ -207,7 +207,7 @@ void InstrInfoEmitter::EmitOperandInfo(r
> /// well as the getNamedOperandIdx() function.
> void InstrInfoEmitter::initOperandMapData(
> ArrayRef<const CodeGenInstruction *> NumberedInstructions,
> - const std::string &Namespace,
> + StringRef Namespace,
> std::map<std::string, unsigned> &Operands,
> OpNameMapTy &OperandMap) {
> unsigned NumOperands = 0;
> @@ -224,7 +224,7 @@ void InstrInfoEmitter::initOperandMapDat
> }
> OpList[I->second] = Info.MIOperandNo;
> }
> - OperandMap[OpList].push_back(Namespace + "::" +
> + OperandMap[OpList].push_back(Namespace.str() + "::" +
> Inst->TheDef->getName().str());
> }
> }
> @@ -243,7 +243,7 @@ void InstrInfoEmitter::initOperandMapDat
> void InstrInfoEmitter::emitOperandNameMappings(raw_ostream &OS,
> const CodeGenTarget &Target,
> ArrayRef<const CodeGenInstruction*> NumberedInstructions) {
> - const std::string &Namespace = Target.getInstNamespace();
> + StringRef Namespace = Target.getInstNamespace();
> std::string OpNameNS = "OpName";
> // Map of operand names to their enumeration value. This will be used
> to
> // generate the OpName enum.
> @@ -315,7 +315,7 @@ void InstrInfoEmitter::emitOperandNameMa
> void InstrInfoEmitter::emitOperandTypesEnum(raw_ostream &OS,
> const CodeGenTarget &Target) {
>
> - const std::string &Namespace = Target.getInstNamespace();
> + StringRef Namespace = Target.getInstNamespace();
> std::vector<Record *> Operands =
> Records.getAllDerivedDefinitions("Operand");
>
> OS << "#ifdef GET_INSTRINFO_OPERAND_TYPES_ENUM\n";
> @@ -576,7 +576,7 @@ void InstrInfoEmitter::emitEnums(raw_ost
> CodeGenTarget Target(Records);
>
> // We must emit the PHI opcode first...
> - std::string Namespace = Target.getInstNamespace();
> + StringRef Namespace = Target.getInstNamespace();
>
> if (Namespace.empty())
> PrintFatalError("No instructions defined!");
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170710/e66a3bc1/attachment.html>
More information about the llvm-commits
mailing list