diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-02-09 12:35:37 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-02-09 12:35:37 +0000 |
| commit | c602b6ecafa48a767b14b05e299e17b29e6f57e7 (patch) | |
| tree | 59d077bd7432ed218c6058fd482d32f41c2924d4 /llvm | |
| parent | 541687f4beff2ff7ea4182851427cd59ca979146 (diff) | |
| download | bcm5719-llvm-c602b6ecafa48a767b14b05e299e17b29e6f57e7.tar.gz bcm5719-llvm-c602b6ecafa48a767b14b05e299e17b29e6f57e7.zip | |
Store just the SimpleValueType in the generated VT tables for each register class, eliminating static ctors.
llvm-svn: 150173
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/Target/TargetRegisterInfo.h | 7 | ||||
| -rw-r--r-- | llvm/utils/TableGen/RegisterInfoEmitter.cpp | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/llvm/include/llvm/Target/TargetRegisterInfo.h b/llvm/include/llvm/Target/TargetRegisterInfo.h index 449f3d12259..18f6fc3a26e 100644 --- a/llvm/include/llvm/Target/TargetRegisterInfo.h +++ b/llvm/include/llvm/Target/TargetRegisterInfo.h @@ -36,7 +36,7 @@ class TargetRegisterClass { public: typedef const unsigned* iterator; typedef const unsigned* const_iterator; - typedef const EVT* vt_iterator; + typedef const MVT::SimpleValueType* vt_iterator; typedef const TargetRegisterClass* const * sc_iterator; private: virtual void anchor(); @@ -46,7 +46,8 @@ private: const sc_iterator SuperClasses; const sc_iterator SuperRegClasses; public: - TargetRegisterClass(const MCRegisterClass *MC, const EVT *vts, + TargetRegisterClass(const MCRegisterClass *MC, + const MVT::SimpleValueType *vts, const unsigned *subcm, const TargetRegisterClass * const *supcs, const TargetRegisterClass * const *superregcs) @@ -110,7 +111,7 @@ public: /// bool hasType(EVT vt) const { for(int i = 0; VTs[i] != MVT::Other; ++i) - if (VTs[i] == vt) + if (EVT(VTs[i]) == vt) return true; return false; } diff --git a/llvm/utils/TableGen/RegisterInfoEmitter.cpp b/llvm/utils/TableGen/RegisterInfoEmitter.cpp index cfac70172d4..2ce70541348 100644 --- a/llvm/utils/TableGen/RegisterInfoEmitter.cpp +++ b/llvm/utils/TableGen/RegisterInfoEmitter.cpp @@ -521,7 +521,7 @@ RegisterInfoEmitter::runTargetDesc(raw_ostream &OS, CodeGenTarget &Target, // Emit the register list now. OS << " // " << Name << " Register Class Value Types...\n" - << " static const EVT " << Name + << " static const MVT::SimpleValueType " << Name << "[] = {\n "; for (unsigned i = 0, e = RC.VTs.size(); i != e; ++i) OS << getEnumName(RC.VTs[i]) << ", "; |

