LLVM
8.0.1
|
#include "llvm/CodeGen/CalcSpillWeights.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/LiveIntervals.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <tuple>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "calcspillweights" |
Functions | |
static unsigned | copyHint (const MachineInstr *mi, unsigned reg, const TargetRegisterInfo &tri, const MachineRegisterInfo &mri) |
static bool | isRematerializable (const LiveInterval &LI, const LiveIntervals &LIS, VirtRegMap *VRM, const TargetInstrInfo &TII) |
#define DEBUG_TYPE "calcspillweights" |
Definition at line 30 of file CalcSpillWeights.cpp.
|
static |
Definition at line 52 of file CalcSpillWeights.cpp.
References llvm::TargetRegisterClass::contains(), llvm::TargetRegisterInfo::getMatchingSuperReg(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineRegisterInfo::getRegClass(), llvm::MCRegisterInfo::getSubReg(), llvm::MachineOperand::getSubReg(), llvm::TargetRegisterInfo::isVirtualRegister(), rc, and llvm::ARM_AM::sub.
Referenced by llvm::VirtRegAuxInfo::weightCalcHelper().
|
static |
Definition at line 85 of file CalcSpillWeights.cpp.
References assert(), llvm::VNInfo::def, E, llvm::LiveIntervals::getAliasAnalysis(), llvm::LiveIntervals::getInstructionFromIndex(), llvm::LiveIntervals::getInterval(), llvm::MachineInstr::getOperand(), llvm::VirtRegMap::getOriginal(), llvm::MachineOperand::getReg(), I, llvm::MachineInstr::isFullCopy(), llvm::VNInfo::isPHIDef(), llvm::TargetInstrInfo::isTriviallyReMaterializable(), llvm::VNInfo::isUnused(), llvm::TargetRegisterInfo::isVirtualRegister(), MI, llvm::LiveRange::Query(), llvm::LiveInterval::reg, Reg, llvm::LiveQueryResult::valueIn(), llvm::LiveRange::vni_begin(), and llvm::LiveRange::vni_end().
Referenced by llvm::VirtRegAuxInfo::weightCalcHelper().