diff options
author | Kevin Enderby <enderby@apple.com> | 2010-05-28 19:01:27 +0000 |
---|---|---|
committer | Kevin Enderby <enderby@apple.com> | 2010-05-28 19:01:27 +0000 |
commit | 31b6c5b2f3118ba8ab9366ecf37085a26be6db97 (patch) | |
tree | 3fa3a796b7dec9a789c9efea2fbe063410b822cb /lib/Target/X86/X86RegisterInfo.cpp | |
parent | 9d8d221a6864872a3b5c272e83adbf18f3c6a1af (diff) | |
download | external_llvm-31b6c5b2f3118ba8ab9366ecf37085a26be6db97.zip external_llvm-31b6c5b2f3118ba8ab9366ecf37085a26be6db97.tar.gz external_llvm-31b6c5b2f3118ba8ab9366ecf37085a26be6db97.tar.bz2 |
Fix the use of x86 control and debug registers so that the assertion failure in
getX86RegNum() does not happen. Patch by Shantonu Sen!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104994 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86RegisterInfo.cpp')
-rw-r--r-- | lib/Target/X86/X86RegisterInfo.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp index 98975ea..d31c521 100644 --- a/lib/Target/X86/X86RegisterInfo.cpp +++ b/lib/Target/X86/X86RegisterInfo.cpp @@ -157,6 +157,34 @@ unsigned X86RegisterInfo::getX86RegNum(unsigned RegNo) { case X86::GS: return 5; + case X86::CR0: + return 0; + case X86::CR1: + return 1; + case X86::CR2: + return 2; + case X86::CR3: + return 3; + case X86::CR4: + return 4; + + case X86::DR0: + return 0; + case X86::DR1: + return 1; + case X86::DR2: + return 2; + case X86::DR3: + return 3; + case X86::DR4: + return 4; + case X86::DR5: + return 5; + case X86::DR6: + return 6; + case X86::DR7: + return 7; + default: assert(isVirtualRegister(RegNo) && "Unknown physical register!"); llvm_unreachable("Register allocator hasn't allocated reg correctly yet!"); |