diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrInfo.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index 06a4d1f86ce..415ef7d8391 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -411,9 +411,11 @@ unsigned X86InstrInfo::isLoadFromStackSlotPostFE(const MachineInstr &MI, if ((Reg = isLoadFromStackSlot(MI, FrameIndex))) return Reg; // Check for post-frame index elimination operations - SmallVector<TargetInstrInfo::FrameAccess, 1> Accesses; + SmallVector<const MachineMemOperand *, 1> Accesses; if (hasLoadFromStackSlot(MI, Accesses)) { - FrameIndex = Accesses.begin()->FI; + FrameIndex = + cast<FixedStackPseudoSourceValue>(Accesses.front()->getPseudoValue()) + ->getFrameIndex(); return 1; } } @@ -444,9 +446,11 @@ unsigned X86InstrInfo::isStoreToStackSlotPostFE(const MachineInstr &MI, if ((Reg = isStoreToStackSlot(MI, FrameIndex))) return Reg; // Check for post-frame index elimination operations - SmallVector<TargetInstrInfo::FrameAccess, 1> Accesses; + SmallVector<const MachineMemOperand *, 1> Accesses; if (hasStoreToStackSlot(MI, Accesses)) { - FrameIndex = Accesses.begin()->FI; + FrameIndex = + cast<FixedStackPseudoSourceValue>(Accesses.front()->getPseudoValue()) + ->getFrameIndex(); return 1; } } |