LLVM
8.0.1
|
#include "llvm/CodeGen/LiveIntervals.h"
#include "LiveRangeCalc.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/CodeGen/LiveInterval.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineInstrBundle.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/SlotIndexes.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/CodeGen/VirtRegMap.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/MC/LaneBitmask.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Pass.h"
#include "llvm/Support/BlockFrequency.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <iterator>
#include <tuple>
#include <utility>
Go to the source code of this file.
Classes | |
class | llvm::LiveIntervals::HMEditor |
Toolkit used by handleMove to trim or extend live intervals. More... | |
Namespaces | |
llvm | |
This class represents lattice values for constants. | |
Macros | |
#define | DEBUG_TYPE "regalloc" |
Functions | |
INITIALIZE_PASS_BEGIN (LiveIntervals, "liveintervals", "Live Interval Analysis", false, false) INITIALIZE_PASS_END(LiveIntervals | |
Live Interval static false cl::opt< bool > | EnablePrecomputePhysRegs ("precompute-phys-liveness", cl::Hidden, cl::desc("Eagerly compute live intervals for all physreg units.")) |
cl::opt< bool > | llvm::UseSegmentSetForPhysRegs ("use-segment-set-for-physregs", cl::Hidden, cl::init(true), cl::desc("Use segment set for the computation of the live ranges of physregs.")) |
static void | createSegmentsForValues (LiveRange &LR, iterator_range< LiveInterval::vni_iterator > VNIs) |
Variables | |
liveintervals | |
Live Interval | Analysis |
Live Interval | false |
#define DEBUG_TYPE "regalloc" |
Definition at line 59 of file LiveIntervals.cpp.
|
static |
Definition at line 351 of file LiveIntervals.cpp.
References llvm::LiveRange::addSegment(), llvm::LaneBitmask::any(), assert(), llvm::LiveInterval::computeSubRangeUndefs(), llvm::dbgs(), llvm::tgtok::Def, llvm::VNInfo::def, llvm::LiveRange::extendInBlock(), llvm::SlotIndex::getDeadSlot(), llvm::LiveIntervals::getInterval(), llvm::SlotIndexes::getMBBEndIdx(), llvm::SlotIndexes::getMBBFromIndex(), llvm::SlotIndexes::getMBBStartIdx(), llvm::SlotIndex::getPrevSlot(), llvm::LiveRange::getVNInfoBefore(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::LiveRangeCalc::isJointlyDominated(), llvm::VNInfo::isPHIDef(), LLVM_DEBUG, llvm_unreachable, llvm::MachineBasicBlock::predecessors(), Reg, and llvm::LiveInterval::subranges().
Referenced by llvm::LiveIntervals::shrinkToUses().
|
static |
INITIALIZE_PASS_BEGIN | ( | LiveIntervals | , |
"liveintervals" | , | ||
"Live Interval Analysis" | , | ||
false | , | ||
false | |||
) |
Live Interval Analysis |
Definition at line 68 of file LiveIntervals.cpp.
Live Interval false |
Definition at line 68 of file LiveIntervals.cpp.
liveintervals |
Definition at line 68 of file LiveIntervals.cpp.