LLVM API Documentation

LiveIntervalAnalysis.cpp File Reference

#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "VirtRegMap.h"
#include "llvm/Value.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/SSARegMap.h"
#include "llvm/Target/MRegisterInfo.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/STLExtras.h"
#include <algorithm>
#include <cmath>
#include <iostream>

Include dependency graph for LiveIntervalAnalysis.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "liveintervals"

Functions

static bool isZeroLengthInterval (LiveInterval *li)

Variables

RegisterAnalysis< LiveIntervalsX ("liveintervals","Live Interval Analysis")
static Statistic numIntervals ("liveintervals","Number of original intervals")
static Statistic numIntervalsAfter ("liveintervals","Number of intervals after coalescing")
static Statistic numJoins ("liveintervals","Number of interval joins performed")
static Statistic numPeep ("liveintervals","Number of identity moves eliminated after coalescing")
static Statistic numFolded ("liveintervals","Number of loads/stores folded into instructions")
static cl::opt< bool > EnableJoining ("join-liveintervals", cl::desc("Join compatible live intervals"), cl::init(true))


Define Documentation

#define DEBUG_TYPE   "liveintervals"

Definition at line 18 of file LiveIntervalAnalysis.cpp.


Function Documentation

static bool isZeroLengthInterval ( LiveInterval li  )  [static]

Definition at line 83 of file LiveIntervalAnalysis.cpp.

References llvm::LiveIntervals::InstrSlots::NUM, and llvm::LiveInterval::ranges.

Referenced by llvm::LiveIntervals::runOnMachineFunction().


Variable Documentation

cl::opt<bool> EnableJoining("join-liveintervals", cl::desc("Join compatible live intervals"), cl::init(true)) [static]

Referenced by llvm::LiveIntervals::runOnMachineFunction().

Statistic numFolded("liveintervals","Number of loads/stores folded into instructions") [static]

Referenced by llvm::LiveIntervals::addIntervalsForSpills().

Statistic numIntervals("liveintervals","Number of original intervals") [static]

Referenced by llvm::LiveIntervals::runOnMachineFunction().

Statistic numIntervalsAfter("liveintervals","Number of intervals after coalescing") [static]

Referenced by llvm::LiveIntervals::runOnMachineFunction().

Statistic numJoins("liveintervals","Number of interval joins performed") [static]

Statistic numPeep("liveintervals","Number of identity moves eliminated after coalescing") [static]

Referenced by llvm::LiveIntervals::runOnMachineFunction().

RegisterAnalysis<LiveIntervals> X("liveintervals","Live Interval Analysis") [static]