#include "llvm/CodeGen/LiveIntervalCalc.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SlotIndexes.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/MC/LaneBitmask.h"
#include "llvm/Support/ErrorHandling.h"
#include <cassert>
usingnamespacellvm;
#define DEBUG_TYPE …
static VNInfo UndefVNI(0xbad, SlotIndex());
static void createDeadDef(SlotIndexes &Indexes, VNInfo::Allocator &Alloc,
LiveRange &LR, const MachineOperand &MO) { … }
void LiveIntervalCalc::calculate(LiveInterval &LI, bool TrackSubRegs) { … }
void LiveIntervalCalc::constructMainRangeFromSubranges(LiveInterval &LI) { … }
void LiveIntervalCalc::createDeadDefs(LiveRange &LR, Register Reg) { … }
void LiveIntervalCalc::extendToUses(LiveRange &LR, Register Reg,
LaneBitmask Mask, LiveInterval *LI) { … }