LLVM 22.0.0git
llvm::HexagonBlockRanges Struct Reference

#include "Target/Hexagon/HexagonBlockRanges.h"

Classes

class  IndexRange
class  IndexType
class  InstrIndexMap
struct  PrintRangeMap
class  RangeList
struct  RegisterRef

Public Types

using RegisterSet = std::set<RegisterRef>
using RegToRangeMap = std::map<RegisterRef, RangeList>

Public Member Functions

 HexagonBlockRanges (MachineFunction &MF)
RegToRangeMap computeLiveMap (InstrIndexMap &IndexMap)
RegToRangeMap computeDeadMap (InstrIndexMap &IndexMap, RegToRangeMap &LiveMap)

Static Public Member Functions

static RegisterSet expandToSubRegs (RegisterRef R, const MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI)

Detailed Description

Definition at line 31 of file HexagonBlockRanges.h.

Member Typedef Documentation

◆ RegisterSet

Definition at line 43 of file HexagonBlockRanges.h.

◆ RegToRangeMap

Constructor & Destructor Documentation

◆ HexagonBlockRanges()

HexagonBlockRanges::HexagonBlockRanges ( MachineFunction & MF)

Definition at line 218 of file HexagonBlockRanges.cpp.

Member Function Documentation

◆ computeDeadMap()

◆ computeLiveMap()

HexagonBlockRanges::RegToRangeMap HexagonBlockRanges::computeLiveMap ( InstrIndexMap & IndexMap)

Definition at line 417 of file HexagonBlockRanges.cpp.

References llvm::dbgs(), and LLVM_DEBUG.

◆ expandToSubRegs()

HexagonBlockRanges::RegisterSet HexagonBlockRanges::expandToSubRegs ( RegisterRef R,
const MachineRegisterInfo & MRI,
const TargetRegisterInfo & TRI )
static

Definition at line 260 of file HexagonBlockRanges.cpp.

References assert(), I, and MRI.

Referenced by computeDeadMap().


The documentation for this struct was generated from the following files: