The instruction pointer %RIP is a reserved register on x86_64.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 13 Nov 2009 21:56:01 +0000 (21:56 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 13 Nov 2009 21:56:01 +0000 (21:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88705 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86RegisterInfo.cpp

index d4e720c95281a28f8ae4a06a2c600908bb54cf67..44f1fa3b03583fc5928e27d9a43133d16499ceec 100644 (file)
@@ -392,6 +392,11 @@ BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const {
   Reserved.set(X86::SP);
   Reserved.set(X86::SPL);
 
+  // Set the instruction pointer register and its aliases as reserved.
+  Reserved.set(X86::RIP);
+  Reserved.set(X86::EIP);
+  Reserved.set(X86::IP);
+
   // Set the frame-pointer register and its aliases as reserved if needed.
   if (hasFP(MF)) {
     Reserved.set(X86::RBP);