[llvm-commits] [llvm] r150173 - in /llvm/trunk: include/llvm/Target/TargetRegisterInfo.h utils/TableGen/RegisterInfoEmitter.cpp
Benjamin Kramer
benny.kra at googlemail.com
Thu Feb 9 04:35:37 PST 2012
Author: d0k
Date: Thu Feb 9 06:35:37 2012
New Revision: 150173
URL: http://llvm.org/viewvc/llvm-project?rev=150173&view=rev
Log:
Store just the SimpleValueType in the generated VT tables for each register class, eliminating static ctors.
Modified:
llvm/trunk/include/llvm/Target/TargetRegisterInfo.h
llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
Modified: llvm/trunk/include/llvm/Target/TargetRegisterInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetRegisterInfo.h?rev=150173&r1=150172&r2=150173&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetRegisterInfo.h (original)
+++ llvm/trunk/include/llvm/Target/TargetRegisterInfo.h Thu Feb 9 06:35:37 2012
@@ -36,7 +36,7 @@
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 @@
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 @@
///
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;
}
Modified: llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp?rev=150173&r1=150172&r2=150173&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp Thu Feb 9 06:35:37 2012
@@ -521,7 +521,7 @@
// 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]) << ", ";
More information about the llvm-commits
mailing list