From: Misha Brukman Date: Thu, 14 Oct 2004 05:50:43 +0000 (+0000) Subject: * Add option to read isLittleEndianEncoding for InstrInfo classes X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=35e83cc970e2ed99c8087e0c6b99f8a3618c279b;p=oota-llvm.git * Add option to read isLittleEndianEncoding for InstrInfo classes * Doxygen-ify some function comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16974 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index 4c882ad5557..3680f197c49 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -188,6 +188,7 @@ void CodeGenTarget::ReadInstructions() const { } /// getPHIInstruction - Return the designated PHI instruction. +/// const CodeGenInstruction &CodeGenTarget::getPHIInstruction() const { Record *PHI = getInstructionSet()->getValueAsDef("PHIInst"); std::map::const_iterator I = @@ -197,6 +198,13 @@ const CodeGenInstruction &CodeGenTarget::getPHIInstruction() const { return I->second; } +/// isLittleEndianEncoding - Return whether this target encodes its instruction +/// in little-endian format, i.e. bits laid out in the order [0..n] +/// +bool CodeGenTarget::isLittleEndianEncoding() const { + return getInstructionSet()->getValueAsBit("isLittleEndianEncoding"); +} + CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr) : TheDef(R), AsmString(AsmStr) { Name = R->getValueAsString("Name"); @@ -250,6 +258,7 @@ CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr) /// getOperandNamed - Return the index of the operand with the specified /// non-empty name. If the instruction does not have an operand with the /// specified name, throw an exception. +/// unsigned CodeGenInstruction::getOperandNamed(const std::string &Name) const { assert(!Name.empty() && "Cannot search for operand with no name!"); for (unsigned i = 0, e = OperandList.size(); i != e; ++i) diff --git a/utils/TableGen/CodeGenTarget.h b/utils/TableGen/CodeGenTarget.h index 9b338d88c9f..d74e8872a3e 100644 --- a/utils/TableGen/CodeGenTarget.h +++ b/utils/TableGen/CodeGenTarget.h @@ -96,6 +96,10 @@ public: /// getPHIInstruction - Return the designated PHI instruction. /// const CodeGenInstruction &getPHIInstruction() const; + + /// isLittleEndianEncoding - are instruction bit patterns defined as [0..n]? + /// + bool isLittleEndianEncoding() const; }; } // End llvm namespace