mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Read the namespace field from register classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22918 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -32,6 +32,7 @@ namespace llvm {
|
|||||||
|
|
||||||
struct CodeGenRegisterClass {
|
struct CodeGenRegisterClass {
|
||||||
Record *TheDef;
|
Record *TheDef;
|
||||||
|
std::string Namespace;
|
||||||
std::vector<Record*> Elements;
|
std::vector<Record*> Elements;
|
||||||
unsigned SpillSize;
|
unsigned SpillSize;
|
||||||
unsigned SpillAlignment;
|
unsigned SpillAlignment;
|
||||||
|
@ -143,6 +143,13 @@ void CodeGenTarget::ReadRegisterClasses() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
CodeGenRegisterClass::CodeGenRegisterClass(Record *R) : TheDef(R) {
|
CodeGenRegisterClass::CodeGenRegisterClass(Record *R) : TheDef(R) {
|
||||||
|
// Rename anonymous register classes.
|
||||||
|
if (R->getName().size() > 9 && R->getName()[9] == '.') {
|
||||||
|
static unsigned AnonCounter = 0;
|
||||||
|
R->setName("AnonRegClass_"+utostr(AnonCounter++));
|
||||||
|
}
|
||||||
|
|
||||||
|
Namespace = R->getValueAsString("Namespace");
|
||||||
SpillSize = R->getValueAsInt("Size");
|
SpillSize = R->getValueAsInt("Size");
|
||||||
SpillAlignment = R->getValueAsInt("Alignment");
|
SpillAlignment = R->getValueAsInt("Alignment");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user