From ddb395463c08b39090bbee4ed22433f5990a6331 Mon Sep 17 00:00:00 2001 From: Nate Begeman Date: Thu, 1 Dec 2005 00:06:14 +0000 Subject: Stop checking the ValueType of the CodeGenInstruction. Instead, use the ValueType from the RegisterClass or Operands. This step is necessary to allow RegisterClasses to have multiple ValueTypes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24555 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/CodeGenTarget.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'utils/TableGen/CodeGenTarget.h') diff --git a/utils/TableGen/CodeGenTarget.h b/utils/TableGen/CodeGenTarget.h index aaa6c7a426..ba538245c6 100644 --- a/utils/TableGen/CodeGenTarget.h +++ b/utils/TableGen/CodeGenTarget.h @@ -81,6 +81,15 @@ public: if (RegisterClasses.empty()) ReadRegisterClasses(); return RegisterClasses; } + + const CodeGenRegisterClass &getRegisterClass(Record *R) const { + const std::vector &RC = getRegisterClasses(); + for (unsigned i = 0, e = RC.size(); i != e; ++i) + if (RC[i].TheDef == R) + return RC[i]; + assert(0 && "Didn't find the register class"); + abort(); + } const std::vector &getLegalValueTypes() const { if (LegalValueTypes.empty()) ReadLegalValueTypes(); -- cgit v1.2.3