diff options
| author | Chris Lattner <sabre@nondot.org> | 2003-10-05 19:32:12 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2003-10-05 19:32:12 +0000 |
| commit | 6d4e6e5e79c6e448ba460f6936814567109b6f44 (patch) | |
| tree | 415f1bc69a53f852df962dfb996e31e6630d9132 /llvm/support/tools/TableGen/CodeGenWrappers.cpp | |
| parent | 20c9b8cbe8d50834fe864192c7dfdbf089c3cfcb (diff) | |
| download | bcm5719-llvm-6d4e6e5e79c6e448ba460f6936814567109b6f44.tar.gz bcm5719-llvm-6d4e6e5e79c6e448ba460f6936814567109b6f44.zip | |
Move support/lib into lib/Support
Move support/tools into utils
llvm-svn: 8878
Diffstat (limited to 'llvm/support/tools/TableGen/CodeGenWrappers.cpp')
| -rw-r--r-- | llvm/support/tools/TableGen/CodeGenWrappers.cpp | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/llvm/support/tools/TableGen/CodeGenWrappers.cpp b/llvm/support/tools/TableGen/CodeGenWrappers.cpp deleted file mode 100644 index 61c3abc2971..00000000000 --- a/llvm/support/tools/TableGen/CodeGenWrappers.cpp +++ /dev/null @@ -1,89 +0,0 @@ -//===- CodeGenWrappers.cpp - Code Generation Class Wrappers -----*- C++ -*-===// -// -// These classes wrap target description classes used by the various code -// generation TableGen backends. This makes it easier to access the data and -// provides a single place that needs to check it for validity. All of these -// classes throw exceptions on error conditions. -// -//===----------------------------------------------------------------------===// - -#include "CodeGenWrappers.h" -#include "Record.h" - -/// getValueType - Return the MCV::ValueType that the specified TableGen record -/// corresponds to. -MVT::ValueType getValueType(Record *Rec) { - return (MVT::ValueType)Rec->getValueAsInt("Value"); -} - -std::string getName(MVT::ValueType T) { - switch (T) { - case MVT::Other: return "UNKNOWN"; - case MVT::i1: return "i1"; - case MVT::i8: return "i8"; - case MVT::i16: return "i16"; - case MVT::i32: return "i32"; - case MVT::i64: return "i64"; - case MVT::i128: return "i128"; - case MVT::f32: return "f32"; - case MVT::f64: return "f64"; - case MVT::f80: return "f80"; - case MVT::f128: return "f128"; - case MVT::isVoid:return "void"; - default: assert(0 && "ILLEGAL VALUE TYPE!"); return ""; - } -} - -std::string getEnumName(MVT::ValueType T) { - switch (T) { - case MVT::Other: return "Other"; - case MVT::i1: return "i1"; - case MVT::i8: return "i8"; - case MVT::i16: return "i16"; - case MVT::i32: return "i32"; - case MVT::i64: return "i64"; - case MVT::i128: return "i128"; - case MVT::f32: return "f32"; - case MVT::f64: return "f64"; - case MVT::f80: return "f80"; - case MVT::f128: return "f128"; - case MVT::isVoid:return "isVoid"; - default: assert(0 && "ILLEGAL VALUE TYPE!"); return ""; - } -} - - -std::ostream &operator<<(std::ostream &OS, MVT::ValueType T) { - return OS << getName(T); -} - - - -/// getTarget - Return the current instance of the Target class. -/// -CodeGenTarget::CodeGenTarget() { - std::vector<Record*> Targets = Records.getAllDerivedDefinitions("Target"); - if (Targets.size() != 1) - throw std::string("ERROR: Multiple subclasses of Target defined!"); - TargetRec = Targets[0]; - - // Read in all of the CalleeSavedRegisters... - ListInit *LI = TargetRec->getValueAsListInit("CalleeSavedRegisters"); - for (unsigned i = 0, e = LI->getSize(); i != e; ++i) - if (DefInit *DI = dynamic_cast<DefInit*>(LI->getElement(i))) - CalleeSavedRegisters.push_back(DI->getDef()); - else - throw "Target: " + TargetRec->getName() + - " expected register definition in CalleeSavedRegisters list!"; - - PointerType = getValueType(TargetRec->getValueAsDef("PointerType")); -} - - -const std::string &CodeGenTarget::getName() const { - return TargetRec->getName(); -} - -Record *CodeGenTarget::getInstructionSet() const { - return TargetRec->getValueAsDef("InstructionSet"); -} |

