LLVM 20.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>

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.
 
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 1179 of file LiveInterval.cpp.

References A, 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