LLVM 19.0.0git
Classes | Namespaces | Typedefs
ScheduleDAGInstrs.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/SparseMultiSet.h"
#include "llvm/ADT/SparseSet.h"
#include "llvm/ADT/identity.h"
#include "llvm/CodeGen/LiveRegUnits.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/ScheduleDAG.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSchedule.h"
#include "llvm/MC/LaneBitmask.h"
#include <cassert>
#include <cstdint>
#include <list>
#include <string>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  llvm::VReg2SUnit
 An individual mapping from virtual register number to SUnit. More...
 
struct  llvm::VReg2SUnitOperIdx
 Mapping from virtual register to SUnit including an operand index. More...
 
struct  llvm::PhysRegSUOper
 Record a physical register access. More...
 
struct  llvm::UnderlyingObject
 
class  llvm::ScheduleDAGInstrs
 A ScheduleDAG for scheduling lists of MachineInstr. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Typedefs

using llvm::RegUnit2SUnitsMap = SparseMultiSet< PhysRegSUOper, identity< unsigned >, uint16_t >
 Use a SparseMultiSet to track physical registers.
 
using llvm::VReg2SUnitMap = SparseSet< VReg2SUnit, VirtReg2IndexFunctor >
 Use SparseSet as a SparseMap by relying on the fact that it never compares ValueT's, only unsigned keys.
 
using llvm::VReg2SUnitMultiMap = SparseMultiSet< VReg2SUnit, VirtReg2IndexFunctor >
 Track local uses of virtual registers.
 
using llvm::VReg2SUnitOperIdxMultiMap = SparseMultiSet< VReg2SUnitOperIdx, VirtReg2IndexFunctor >
 
using llvm::ValueType = PointerUnion< const Value *, const PseudoSourceValue * >
 
using llvm::UnderlyingObjectsVector = SmallVector< UnderlyingObject, 4 >