LLVM  10.0.0svn
Functions
LiveInterval.cpp File Reference
#include "llvm/CodeGen/LiveInterval.h"
#include "LiveRangeUtils.h"
#include "RegisterCoalescer.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/CodeGen/LiveIntervals.h"
#include "llvm/CodeGen/MachineBasicBlock.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/Config/llvm-config.h"
#include "llvm/MC/LaneBitmask.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <iterator>
#include <utility>
Include dependency graph for LiveInterval.cpp:

Go to the source code of this file.

Functions

static void stripValuesNotDefiningMask (unsigned Reg, LiveInterval::SubRange &SR, LaneBitmask LaneMask, const SlotIndexes &Indexes, const TargetRegisterInfo &TRI)
 For each VNI in SR, check whether or not that value defines part of the mask describe by LaneMask and if not, remove that value from SR. More...
 
static bool coalescable (const LiveRange::Segment &A, const LiveRange::Segment &B)
 

Function Documentation

◆ coalescable()

static bool coalescable ( const LiveRange::Segment A,
const LiveRange::Segment B 
)
inlinestatic

◆ stripValuesNotDefiningMask()

static void stripValuesNotDefiningMask ( unsigned  Reg,
LiveInterval::SubRange SR,
LaneBitmask  LaneMask,
const SlotIndexes Indexes,
const TargetRegisterInfo TRI 
)
static