LLVM  14.0.0git
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, unsigned ComposeSubRegIdx)
 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

Definition at line 1169 of file LiveInterval.cpp.

References assert(), and B.

Referenced by llvm::LiveRangeUpdater::add().

◆ stripValuesNotDefiningMask()

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