mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-30 04:35:00 +00:00
Revert "Emit the SubRegTable with the smallest possible integer type."
This reverts commit 151760. We want to move getSubReg() from TargetRegisterInfo into MCRegisterInfo, but to do that, the type of the lookup table needs to be the same for all targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151814 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1e33b461b4
commit
194f3fa9ea
@ -2008,6 +2008,15 @@ static bool EmitMnemonicAliases(raw_ostream &OS, const AsmMatcherInfo &Info) {
|
||||
return true;
|
||||
}
|
||||
|
||||
static const char *getMinimalTypeForRange(uint64_t Range) {
|
||||
assert(Range < 0xFFFFFFFFULL && "Enum too large");
|
||||
if (Range > 0xFFFF)
|
||||
return "uint32_t";
|
||||
if (Range > 0xFF)
|
||||
return "uint16_t";
|
||||
return "uint8_t";
|
||||
}
|
||||
|
||||
static void EmitCustomOperandParsing(raw_ostream &OS, CodeGenTarget &Target,
|
||||
const AsmMatcherInfo &Info, StringRef ClassName) {
|
||||
// Emit the static custom operand parsing table;
|
||||
|
@ -108,14 +108,6 @@ std::string llvm::getQualifiedName(const Record *R) {
|
||||
return Namespace + "::" + R->getName();
|
||||
}
|
||||
|
||||
const char *llvm::getMinimalTypeForRange(uint64_t Range) {
|
||||
assert(Range < 0xFFFFFFFFULL && "Enum too large");
|
||||
if (Range > 0xFFFF)
|
||||
return "uint32_t";
|
||||
if (Range > 0xFF)
|
||||
return "uint16_t";
|
||||
return "uint8_t";
|
||||
}
|
||||
|
||||
/// getTarget - Return the current instance of the Target class.
|
||||
///
|
||||
|
@ -58,10 +58,6 @@ std::string getEnumName(MVT::SimpleValueType T);
|
||||
/// namespace qualifier if the record contains one.
|
||||
std::string getQualifiedName(const Record *R);
|
||||
|
||||
/// getMinimalTypeForRange - Helper method to get the minimum data type required
|
||||
/// to represent Range.
|
||||
const char *getMinimalTypeForRange(uint64_t Range);
|
||||
|
||||
/// CodeGenTarget - This class corresponds to the Target class in the .td files.
|
||||
///
|
||||
class CodeGenTarget {
|
||||
|
@ -733,8 +733,8 @@ RegisterInfoEmitter::runTargetDesc(raw_ostream &OS, CodeGenTarget &Target,
|
||||
|
||||
// Emit the data table for getSubReg().
|
||||
if (SubRegIndices.size()) {
|
||||
OS << "static const " << getMinimalTypeForRange(Regs.size()) << ' '
|
||||
<< TargetName << "SubRegTable[][" << SubRegIndices.size() << "] = {\n";
|
||||
OS << "static const unsigned short " << TargetName << "SubRegTable[]["
|
||||
<< SubRegIndices.size() << "] = {\n";
|
||||
for (unsigned i = 0, e = Regs.size(); i != e; ++i) {
|
||||
const CodeGenRegister::SubRegMap &SRM = Regs[i]->getSubRegs();
|
||||
OS << " /* " << Regs[i]->TheDef->getName() << " */\n";
|
||||
|
Loading…
x
Reference in New Issue
Block a user