aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86RegisterInfo.cpp
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2011-05-18 22:24:48 +0000
committerCameron Zwarich <zwarich@apple.com>2011-05-18 22:24:48 +0000
commite4c64454051962ab56187c966e981043ff17ae4f (patch)
tree228f3224bd744a09bbfbcb5ca50f290bdf3b5d8c /lib/Target/X86/X86RegisterInfo.cpp
parent8b3e5e5afaa312f2297b326a0f4d7febd8d20e08 (diff)
downloadexternal_llvm-e4c64454051962ab56187c966e981043ff17ae4f.zip
external_llvm-e4c64454051962ab56187c966e981043ff17ae4f.tar.gz
external_llvm-e4c64454051962ab56187c966e981043ff17ae4f.tar.bz2
Reserve the segment registers on x86 to fix verifier failures in any code that
uses them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131591 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86RegisterInfo.cpp')
-rw-r--r--lib/Target/X86/X86RegisterInfo.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp
index 6f3cdb5..f87745f 100644
--- a/lib/Target/X86/X86RegisterInfo.cpp
+++ b/lib/Target/X86/X86RegisterInfo.cpp
@@ -468,6 +468,15 @@ BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
Reserved.set(X86::ST5);
Reserved.set(X86::ST6);
Reserved.set(X86::ST7);
+
+ // Mark the segment registers as reserved.
+ Reserved.set(X86::CS);
+ Reserved.set(X86::SS);
+ Reserved.set(X86::DS);
+ Reserved.set(X86::ES);
+ Reserved.set(X86::FS);
+ Reserved.set(X86::GS);
+
return Reserved;
}