aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Target/X86/X86RegisterInfo.cpp9
-rw-r--r--lib/Target/X86/X86RegisterInfo.def1
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp
index 4fa6393eec..30095e69dc 100644
--- a/lib/Target/X86/X86RegisterInfo.cpp
+++ b/lib/Target/X86/X86RegisterInfo.cpp
@@ -12,11 +12,18 @@
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineFunction.h"
+// Create static lists to contain register alias sets...
+#define ALIASLIST(NAME, ...) \
+ static const unsigned NAME[] = { __VA_ARGS__ };
+#include "X86RegisterInfo.def"
+
+
// X86Regs - Turn the X86RegisterInfo.def file into a bunch of register
// descriptors
//
static const MRegisterDesc X86Regs[] = {
-#define R(ENUM, NAME, FLAGS, TSFLAGS, ALIAS_SET) { NAME, FLAGS, TSFLAGS },
+#define R(ENUM, NAME, FLAGS, TSFLAGS, ALIAS_SET) \
+ { NAME, ALIAS_SET, FLAGS, TSFLAGS },
#include "X86RegisterInfo.def"
};
diff --git a/lib/Target/X86/X86RegisterInfo.def b/lib/Target/X86/X86RegisterInfo.def
index d87c6b8106..d8e7fd23e7 100644
--- a/lib/Target/X86/X86RegisterInfo.def
+++ b/lib/Target/X86/X86RegisterInfo.def
@@ -119,6 +119,7 @@ ALIASLIST(A_AH , X86::EAX, X86::AX, 0)
ALIASLIST(A_CH , X86::ECX, X86::CX, 0)
ALIASLIST(A_DH , X86::EDX, X86::DX, 0)
ALIASLIST(A_BH , X86::EBX, X86::BX, 0)
+#undef ALIASLIST
// We are now done with the R* macros
#undef R