diff --git a/lib/Target/X86/X86FrameLowering.cpp b/lib/Target/X86/X86FrameLowering.cpp
index 2775736..2238688 100644
--- a/lib/Target/X86/X86FrameLowering.cpp
+++ b/lib/Target/X86/X86FrameLowering.cpp
@@ -936,8 +936,6 @@
     BuildMI(MBB, MBBI, DL, TII.get(Opc), BasePtr)
       .addReg(StackPtr)
       .setMIFlag(MachineInstr::FrameSetup);
-
-    X86FI->setBasePtrStackAdjustment(NumBytes);
   }
 
   if (( (!HasFP && NumBytes) || PushedRegs) && needsFrameMoves) {
diff --git a/lib/Target/X86/X86MachineFunctionInfo.h b/lib/Target/X86/X86MachineFunctionInfo.h
index cdf907b..f83a525 100644
--- a/lib/Target/X86/X86MachineFunctionInfo.h
+++ b/lib/Target/X86/X86MachineFunctionInfo.h
@@ -69,10 +69,6 @@
   /// NumLocalDynamics - Number of local-dynamic TLS accesses.
   unsigned NumLocalDynamics;
 
-  /// After the stack pointer has been restore from the base pointer we
-  /// use a cached adjusment.
-  int64_t BPAdj;
-
 public:
   X86MachineFunctionInfo() : ForceFramePointer(false),
                              CalleeSavedFrameSize(0),
@@ -101,8 +97,7 @@
       VarArgsGPOffset(0),
       VarArgsFPOffset(0),
       ArgumentStackSize(0),
-      NumLocalDynamics(0),
-      BPAdj(0) {}
+      NumLocalDynamics(0) {}
 
   bool getForceFramePointer() const { return ForceFramePointer;} 
   void setForceFramePointer(bool forceFP) { ForceFramePointer = forceFP; }
@@ -143,15 +138,6 @@
   unsigned getNumLocalDynamicTLSAccesses() const { return NumLocalDynamics; }
   void incNumLocalDynamicTLSAccesses() { ++NumLocalDynamics; }
 
-  /// setBasePtrStackAdjustment - If we're restoring the stack pointer from the
-  /// base pointer, due to dynamic stack realignment + VLAs, we cache the
-  /// number of bytes initially allocated for the stack frame.  In obscure
-  /// cases (e.g., tail calls with byval argument and no stack protector), the
-  /// stack gets adjusted outside of the prolog, but these shouldn't be 
-  /// considered when restoring from the base pointer.  Currently, this is only
-  /// needed for x86.
-  void setBasePtrStackAdjustment(int64_t adj) { BPAdj = adj; }
-  int64_t getBasePtrStackAdjustment() const { return BPAdj; }
 };
 
 } // End llvm namespace
