diff options
Diffstat (limited to 'llvm/lib/Target/X86')
| -rw-r--r-- | llvm/lib/Target/X86/X86FrameLowering.cpp (renamed from llvm/lib/Target/X86/X86FrameInfo.cpp) | 32 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86FrameLowering.h (renamed from llvm/lib/Target/X86/X86FrameInfo.h) | 21 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 10 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86RegisterInfo.cpp | 14 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86RegisterInfo.td | 20 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86TargetMachine.cpp | 2 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86TargetMachine.h | 10 | 
7 files changed, 57 insertions, 52 deletions
diff --git a/llvm/lib/Target/X86/X86FrameInfo.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index 5a8d9768f84..7c7b4f3f8a7 100644 --- a/llvm/lib/Target/X86/X86FrameInfo.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -1,4 +1,4 @@ -//=======- X86FrameInfo.cpp - X86 Frame Information ------------*- C++ -*-====// +//=======- X86FrameLowering.cpp - X86 Frame Information ------------*- C++ -*-====//  //  //                     The LLVM Compiler Infrastructure  // @@ -7,11 +7,11 @@  //  //===----------------------------------------------------------------------===//  // -// This file contains the X86 implementation of TargetFrameInfo class. +// This file contains the X86 implementation of TargetFrameLowering class.  //  //===----------------------------------------------------------------------===// -#include "X86FrameInfo.h" +#include "X86FrameLowering.h"  #include "X86InstrBuilder.h"  #include "X86InstrInfo.h"  #include "X86MachineFunctionInfo.h" @@ -32,14 +32,14 @@ using namespace llvm;  // FIXME: completely move here.  extern cl::opt<bool> ForceStackAlign; -bool X86FrameInfo::hasReservedCallFrame(const MachineFunction &MF) const { +bool X86FrameLowering::hasReservedCallFrame(const MachineFunction &MF) const {    return !MF.getFrameInfo()->hasVarSizedObjects();  }  /// hasFP - Return true if the specified function should have a dedicated frame  /// pointer register.  This is true if the function has variable sized allocas  /// or if frame pointer elimination is disabled. -bool X86FrameInfo::hasFP(const MachineFunction &MF) const { +bool X86FrameLowering::hasFP(const MachineFunction &MF) const {    const MachineFrameInfo *MFI = MF.getFrameInfo();    const MachineModuleInfo &MMI = MF.getMMI();    const TargetRegisterInfo *RI = TM.getRegisterInfo(); @@ -276,7 +276,7 @@ static bool isEAXLiveIn(MachineFunction &MF) {    return false;  } -void X86FrameInfo::emitCalleeSavedFrameMoves(MachineFunction &MF, +void X86FrameLowering::emitCalleeSavedFrameMoves(MachineFunction &MF,                                               MCSymbol *Label,                                               unsigned FramePtr) const {    MachineFrameInfo *MFI = MF.getFrameInfo(); @@ -292,8 +292,8 @@ void X86FrameInfo::emitCalleeSavedFrameMoves(MachineFunction &MF,    // Calculate amount of bytes used for return address storing.    int stackGrowth = -    (TM.getFrameInfo()->getStackGrowthDirection() == -     TargetFrameInfo::StackGrowsUp ? +    (TM.getFrameLowering()->getStackGrowthDirection() == +     TargetFrameLowering::StackGrowsUp ?       TD->getPointerSize() : -TD->getPointerSize());    // FIXME: This is dirty hack. The code itself is pretty mess right now. @@ -347,7 +347,7 @@ void X86FrameInfo::emitCalleeSavedFrameMoves(MachineFunction &MF,  /// automatically adjust the stack pointer. Adjust the stack pointer to allocate  /// space for local variables. Also emit labels used by the exception handler to  /// generate the exception handling frames. -void X86FrameInfo::emitPrologue(MachineFunction &MF) const { +void X86FrameLowering::emitPrologue(MachineFunction &MF) const {    MachineBasicBlock &MBB = MF.front(); // Prologue goes in entry BB.    MachineBasicBlock::iterator MBBI = MBB.begin();    MachineFrameInfo *MFI = MF.getFrameInfo(); @@ -640,7 +640,7 @@ void X86FrameInfo::emitPrologue(MachineFunction &MF) const {    }  } -void X86FrameInfo::emitEpilogue(MachineFunction &MF, +void X86FrameLowering::emitEpilogue(MachineFunction &MF,                                  MachineBasicBlock &MBB) const {    const MachineFrameInfo *MFI = MF.getFrameInfo();    X86MachineFunctionInfo *X86FI = MF.getInfo<X86MachineFunctionInfo>(); @@ -835,7 +835,7 @@ void X86FrameInfo::emitEpilogue(MachineFunction &MF,  }  void -X86FrameInfo::getInitialFrameState(std::vector<MachineMove> &Moves) const { +X86FrameLowering::getInitialFrameState(std::vector<MachineMove> &Moves) const {    // Calculate amount of bytes used for return address storing    int stackGrowth = (STI.is64Bit() ? -8 : -4);    const X86RegisterInfo *RI = TM.getRegisterInfo(); @@ -851,7 +851,7 @@ X86FrameInfo::getInitialFrameState(std::vector<MachineMove> &Moves) const {    Moves.push_back(MachineMove(0, CSDst, CSSrc));  } -int X86FrameInfo::getFrameIndexOffset(const MachineFunction &MF, int FI) const { +int X86FrameLowering::getFrameIndexOffset(const MachineFunction &MF, int FI) const {    const X86RegisterInfo *RI =      static_cast<const X86RegisterInfo*>(MF.getTarget().getRegisterInfo());    const MachineFrameInfo *MFI = MF.getFrameInfo(); @@ -886,7 +886,7 @@ int X86FrameInfo::getFrameIndexOffset(const MachineFunction &MF, int FI) const {    return Offset;  } -bool X86FrameInfo::spillCalleeSavedRegisters(MachineBasicBlock &MBB, +bool X86FrameLowering::spillCalleeSavedRegisters(MachineBasicBlock &MBB,                                               MachineBasicBlock::iterator MI,                                          const std::vector<CalleeSavedInfo> &CSI,                                            const TargetRegisterInfo *TRI) const { @@ -927,7 +927,7 @@ bool X86FrameInfo::spillCalleeSavedRegisters(MachineBasicBlock &MBB,    return true;  } -bool X86FrameInfo::restoreCalleeSavedRegisters(MachineBasicBlock &MBB, +bool X86FrameLowering::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,                                                 MachineBasicBlock::iterator MI,                                          const std::vector<CalleeSavedInfo> &CSI,                                            const TargetRegisterInfo *TRI) const { @@ -958,7 +958,7 @@ bool X86FrameInfo::restoreCalleeSavedRegisters(MachineBasicBlock &MBB,  }  void -X86FrameInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF, +X86FrameLowering::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,                                                     RegScavenger *RS) const {    MachineFrameInfo *MFI = MF.getFrameInfo();    const X86RegisterInfo *RegInfo = TM.getRegisterInfo(); @@ -984,7 +984,7 @@ X86FrameInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,    if (hasFP(MF)) {      assert((TailCallReturnAddrDelta <= 0) &&             "The Delta should always be zero or negative"); -    const TargetFrameInfo &TFI = *MF.getTarget().getFrameInfo(); +    const TargetFrameLowering &TFI = *MF.getTarget().getFrameLowering();      // Create a frame entry for the EBP register that must be saved.      int FrameIdx = MFI->CreateFixedObject(SlotSize, diff --git a/llvm/lib/Target/X86/X86FrameInfo.h b/llvm/lib/Target/X86/X86FrameLowering.h index fbbde923b97..c067e64fc01 100644 --- a/llvm/lib/Target/X86/X86FrameInfo.h +++ b/llvm/lib/Target/X86/X86FrameLowering.h @@ -1,4 +1,4 @@ -//===-- X86TargetFrameInfo.h - Define TargetFrameInfo for X86 ---*- C++ -*-===// +//=-- X86TargetFrameLowering.h - Define frame lowering for X86 ---*- C++ -*-===//  //  //                     The LLVM Compiler Infrastructure  // @@ -7,28 +7,29 @@  //  //===----------------------------------------------------------------------===//  // -// +// This class implements X86-specific bits of TargetFrameLowering class.  //  //===----------------------------------------------------------------------===// -#ifndef X86_FRAMEINFO_H -#define X86_FRAMEINFO_H +#ifndef X86_FRAMELOWERING_H +#define X86_FRAMELOWERING_H  #include "X86Subtarget.h" -#include "llvm/Target/TargetFrameInfo.h" +#include "llvm/Target/TargetFrameLowering.h"  namespace llvm {    class MCSymbol;    class X86TargetMachine; -class X86FrameInfo : public TargetFrameInfo { +class X86FrameLowering : public TargetFrameLowering {    const X86TargetMachine &TM;    const X86Subtarget &STI;  public: -  explicit X86FrameInfo(const X86TargetMachine &tm, const X86Subtarget &sti) -    : TargetFrameInfo(StackGrowsDown, -                      sti.getStackAlignment(), -                      (sti.isTargetWin64() ? -40 : (sti.is64Bit() ? -8 : -4))), +  explicit X86FrameLowering(const X86TargetMachine &tm, const X86Subtarget &sti) +    : TargetFrameLowering(StackGrowsDown, +                          sti.getStackAlignment(), +                          (sti.isTargetWin64() ? -40 : +                           (sti.is64Bit() ? -8 : -4))),        TM(tm), STI(sti) {    } diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 0f8e9d58c48..1a4bb97f697 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -1145,6 +1145,7 @@ unsigned X86TargetLowering::getFunctionAlignment(const Function *F) const {    return F->hasFnAttr(Attribute::OptimizeForSize) ? 0 : 4;  } +// FIXME: Why this routine is here? Move to RegInfo!  std::pair<const TargetRegisterClass*, uint8_t>  X86TargetLowering::findRepresentativeClass(EVT VT) const{    const TargetRegisterClass *RRC = 0; @@ -1170,10 +1171,11 @@ X86TargetLowering::findRepresentativeClass(EVT VT) const{    return std::make_pair(RRC, Cost);  } +// FIXME: Why this routine is here? Move to RegInfo!  unsigned  X86TargetLowering::getRegPressureLimit(const TargetRegisterClass *RC,                                         MachineFunction &MF) const { -  const TargetFrameInfo *TFI = MF.getTarget().getFrameInfo(); +  const TargetFrameLowering *TFI = MF.getTarget().getFrameLowering();    unsigned FPDiff = TFI->hasFP(MF) ? 1 : 0;    switch (RC->getID()) { @@ -1704,7 +1706,7 @@ X86TargetLowering::LowerFormalArguments(SDValue Chain,          TotalNumXMMRegs = 0;        if (IsWin64) { -        const TargetFrameInfo &TFI = *getTargetMachine().getFrameInfo(); +        const TargetFrameLowering &TFI = *getTargetMachine().getFrameLowering();          // Get to the caller-allocated home save location.  Add 8 to account          // for the return address.          int HomeOffset = TFI.getOffsetOfLocalArea() + 8; @@ -2296,7 +2298,7 @@ X86TargetLowering::GetAlignedArgumentStackSize(unsigned StackSize,                                                 SelectionDAG& DAG) const {    MachineFunction &MF = DAG.getMachineFunction();    const TargetMachine &TM = MF.getTarget(); -  const TargetFrameInfo &TFI = *TM.getFrameInfo(); +  const TargetFrameLowering &TFI = *TM.getFrameLowering();    unsigned StackAlignment = TFI.getStackAlignment();    uint64_t AlignMask = StackAlignment - 1;    int64_t Offset = StackSize; @@ -8216,7 +8218,7 @@ SDValue X86TargetLowering::LowerFLT_ROUNDS_(SDValue Op,    MachineFunction &MF = DAG.getMachineFunction();    const TargetMachine &TM = MF.getTarget(); -  const TargetFrameInfo &TFI = *TM.getFrameInfo(); +  const TargetFrameLowering &TFI = *TM.getFrameLowering();    unsigned StackAlignment = TFI.getStackAlignment();    EVT VT = Op.getValueType();    DebugLoc DL = Op.getDebugLoc(); diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp index ce4966dfdc7..1faf6d92269 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.cpp +++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp @@ -31,7 +31,7 @@  #include "llvm/CodeGen/MachineModuleInfo.h"  #include "llvm/CodeGen/MachineRegisterInfo.h"  #include "llvm/MC/MCAsmInfo.h" -#include "llvm/Target/TargetFrameInfo.h" +#include "llvm/Target/TargetFrameLowering.h"  #include "llvm/Target/TargetInstrInfo.h"  #include "llvm/Target/TargetMachine.h"  #include "llvm/Target/TargetOptions.h" @@ -60,7 +60,7 @@ X86RegisterInfo::X86RegisterInfo(X86TargetMachine &tm,    const X86Subtarget *Subtarget = &TM.getSubtarget<X86Subtarget>();    Is64Bit = Subtarget->is64Bit();    IsWin64 = Subtarget->isTargetWin64(); -  StackAlign = TM.getFrameInfo()->getStackAlignment(); +  StackAlign = TM.getFrameLowering()->getStackAlignment();    if (Is64Bit) {      SlotSize = 8; @@ -388,7 +388,7 @@ X86RegisterInfo::getCalleeSavedRegs(const MachineFunction *MF) const {  BitVector X86RegisterInfo::getReservedRegs(const MachineFunction &MF) const {    BitVector Reserved(getNumRegs()); -  const TargetFrameInfo *TFI = MF.getTarget().getFrameInfo(); +  const TargetFrameLowering *TFI = MF.getTarget().getFrameLowering();    // Set the stack-pointer register and its aliases as reserved.    Reserved.set(X86::RSP); @@ -455,7 +455,7 @@ bool X86RegisterInfo::needsStackRealignment(const MachineFunction &MF) const {  bool X86RegisterInfo::hasReservedSpillSlot(const MachineFunction &MF,                                             unsigned Reg, int &FrameIdx) const { -  const TargetFrameInfo *TFI = MF.getTarget().getFrameInfo(); +  const TargetFrameLowering *TFI = MF.getTarget().getFrameLowering();    if (Reg == FramePtr && TFI->hasFP(MF)) {      FrameIdx = MF.getFrameInfo()->getObjectIndexBegin(); @@ -491,7 +491,7 @@ static unsigned getADDriOpcode(unsigned is64Bit, int64_t Imm) {  void X86RegisterInfo::  eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,                                MachineBasicBlock::iterator I) const { -  const TargetFrameInfo *TFI = MF.getTarget().getFrameInfo(); +  const TargetFrameLowering *TFI = MF.getTarget().getFrameLowering();    bool reseveCallFrame = TFI->hasReservedCallFrame(MF);    int Opcode = I->getOpcode();    bool isDestroy = Opcode == getCallFrameDestroyOpcode(); @@ -565,7 +565,7 @@ X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,    unsigned i = 0;    MachineInstr &MI = *II;    MachineFunction &MF = *MI.getParent()->getParent(); -  const TargetFrameInfo *TFI = MF.getTarget().getFrameInfo(); +  const TargetFrameLowering *TFI = MF.getTarget().getFrameLowering();    while (!MI.getOperand(i).isFI()) {      ++i; @@ -614,7 +614,7 @@ unsigned X86RegisterInfo::getRARegister() const {  }  unsigned X86RegisterInfo::getFrameRegister(const MachineFunction &MF) const { -  const TargetFrameInfo *TFI = MF.getTarget().getFrameInfo(); +  const TargetFrameLowering *TFI = MF.getTarget().getFrameLowering();    return TFI->hasFP(MF) ? FramePtr : StackPtr;  } diff --git a/llvm/lib/Target/X86/X86RegisterInfo.td b/llvm/lib/Target/X86/X86RegisterInfo.td index a5e3fc25d26..dc4c042719b 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.td +++ b/llvm/lib/Target/X86/X86RegisterInfo.td @@ -299,7 +299,7 @@ def GR8 : RegisterClass<"X86", [i8],  8,      GR8Class::iterator      GR8Class::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        // Does the function dedicate RBP / EBP to being a frame ptr? @@ -344,7 +344,7 @@ def GR16 : RegisterClass<"X86", [i16], 16,      GR16Class::iterator      GR16Class::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        if (Subtarget.is64Bit()) { @@ -396,7 +396,7 @@ def GR32 : RegisterClass<"X86", [i32], 32,      GR32Class::iterator      GR32Class::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        if (Subtarget.is64Bit()) { @@ -436,7 +436,7 @@ def GR64 : RegisterClass<"X86", [i64], 64,      GR64Class::iterator      GR64Class::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        if (!Subtarget.is64Bit()) @@ -541,7 +541,7 @@ def GR16_NOREX : RegisterClass<"X86", [i16], 16,      GR16_NOREXClass::iterator      GR16_NOREXClass::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        // Does the function dedicate RBP / EBP to being a frame ptr?        if (TFI->hasFP(MF) || MFI->getReserveFP()) @@ -565,7 +565,7 @@ def GR32_NOREX : RegisterClass<"X86", [i32], 32,      GR32_NOREXClass::iterator      GR32_NOREXClass::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        // Does the function dedicate RBP / EBP to being a frame ptr?        if (TFI->hasFP(MF) || MFI->getReserveFP()) @@ -590,7 +590,7 @@ def GR64_NOREX : RegisterClass<"X86", [i64], 64,      GR64_NOREXClass::iterator      GR64_NOREXClass::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        // Does the function dedicate RBP to being a frame ptr?        if (TFI->hasFP(MF) || MFI->getReserveFP()) @@ -632,7 +632,7 @@ def GR32_NOSP : RegisterClass<"X86", [i32], 32,      GR32_NOSPClass::iterator      GR32_NOSPClass::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        if (Subtarget.is64Bit()) { @@ -670,7 +670,7 @@ def GR64_NOSP : RegisterClass<"X86", [i64], 64,      GR64_NOSPClass::iterator      GR64_NOSPClass::allocation_order_end(const MachineFunction &MF) const {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86Subtarget &Subtarget = TM.getSubtarget<X86Subtarget>();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        if (!Subtarget.is64Bit()) @@ -698,7 +698,7 @@ def GR64_NOREX_NOSP : RegisterClass<"X86", [i64], 64,      GR64_NOREX_NOSPClass::allocation_order_end(const MachineFunction &MF) const    {        const TargetMachine &TM = MF.getTarget(); -      const TargetFrameInfo *TFI = TM.getFrameInfo(); +      const TargetFrameLowering *TFI = TM.getFrameLowering();        const X86MachineFunctionInfo *MFI = MF.getInfo<X86MachineFunctionInfo>();        // Does the function dedicate RBP to being a frame ptr?        if (TFI->hasFP(MF) || MFI->getReserveFP()) diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp index c3b236aae2e..2e4bcde07a3 100644 --- a/llvm/lib/Target/X86/X86TargetMachine.cpp +++ b/llvm/lib/Target/X86/X86TargetMachine.cpp @@ -119,7 +119,7 @@ X86TargetMachine::X86TargetMachine(const Target &T, const std::string &TT,                                     const std::string &FS, bool is64Bit)    : LLVMTargetMachine(T, TT),      Subtarget(TT, FS, is64Bit), -    FrameInfo(*this, Subtarget), +    FrameLowering(*this, Subtarget),      ELFWriterInfo(is64Bit, true) {    DefRelocModel = getRelocationModel(); diff --git a/llvm/lib/Target/X86/X86TargetMachine.h b/llvm/lib/Target/X86/X86TargetMachine.h index 8ba7a71b2c5..597392251e6 100644 --- a/llvm/lib/Target/X86/X86TargetMachine.h +++ b/llvm/lib/Target/X86/X86TargetMachine.h @@ -18,13 +18,13 @@  #include "X86ELFWriterInfo.h"  #include "X86InstrInfo.h"  #include "X86ISelLowering.h" -#include "X86FrameInfo.h" +#include "X86FrameLowering.h"  #include "X86JITInfo.h"  #include "X86SelectionDAGInfo.h"  #include "X86Subtarget.h"  #include "llvm/Target/TargetMachine.h"  #include "llvm/Target/TargetData.h" -#include "llvm/Target/TargetFrameInfo.h" +#include "llvm/Target/TargetFrameLowering.h"  namespace llvm { @@ -32,7 +32,7 @@ class formatted_raw_ostream;  class X86TargetMachine : public LLVMTargetMachine {    X86Subtarget      Subtarget; -  X86FrameInfo      FrameInfo; +  X86FrameLowering  FrameLowering;    X86ELFWriterInfo  ELFWriterInfo;    Reloc::Model      DefRelocModel; // Reloc model before it's overridden. @@ -48,7 +48,9 @@ public:    virtual const X86InstrInfo     *getInstrInfo() const {      llvm_unreachable("getInstrInfo not implemented");    } -  virtual const TargetFrameInfo  *getFrameInfo() const { return &FrameInfo; } +  virtual const TargetFrameLowering  *getFrameLowering() const { +    return &FrameLowering; +  }    virtual       X86JITInfo       *getJITInfo()         {      llvm_unreachable("getJITInfo not implemented");    }  | 

