#ifndef LLVM_CODEGEN_SCHEDULEDAGINSTRS_H
#define LLVM_CODEGEN_SCHEDULEDAGINSTRS_H
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/SparseMultiSet.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>
namespace llvm {
class AAResults;
class LiveIntervals;
class MachineFrameInfo;
class MachineFunction;
class MachineInstr;
class MachineLoopInfo;
class MachineOperand;
struct MCSchedClassDesc;
class PressureDiffs;
class PseudoSourceValue;
class RegPressureTracker;
class UndefValue;
class Value;
struct VReg2SUnit { … };
struct VReg2SUnitOperIdx : public VReg2SUnit { … };
struct PhysRegSUOper { … };
RegUnit2SUnitsMap;
VReg2SUnitMultiMap;
VReg2SUnitOperIdxMultiMap;
ValueType;
struct UnderlyingObject : PointerIntPair<ValueType, 1, bool> { … };
UnderlyingObjectsVector;
class ScheduleDAGInstrs : public ScheduleDAG { … };
inline SUnit *ScheduleDAGInstrs::newSUnit(MachineInstr *MI) { … }
inline SUnit *ScheduleDAGInstrs::getSUnit(MachineInstr *MI) const { … }
}
#endif