14 #ifndef LLVM_TARGET_TARGETSUBTARGETINFO_H
15 #define LLVM_TARGET_TARGETSUBTARGETINFO_H
22 class MachineFunction;
26 class TargetRegisterClass;
27 class TargetSchedModel;
28 struct MachineSchedPolicy;
29 template <
typename T>
class SmallVectorImpl;
77 unsigned NumRegionInstrs)
const {}
94 virtual bool useAA()
const;
const_iterator end(StringRef path)
Get end iterator over path.
virtual bool enableMachineScheduler() const
True if the subtarget should run MachineScheduler after aggressive coalescing.
const_iterator begin(StringRef path)
Get begin iterator over path.
Provide an instruction scheduling machine model to CodeGen passes.
SmallVectorImpl< const TargetRegisterClass * > RegClassVector
virtual void adjustSchedDependency(SUnit *def, SUnit *use, SDep &dep) const
virtual void overrideSchedPolicy(MachineSchedPolicy &Policy, MachineInstr *begin, MachineInstr *end, unsigned NumRegionInstrs) const
Override generic scheduling policy within a region.
virtual ~TargetSubtargetInfo()
virtual void resetSubtargetFeatures(const MachineFunction *MF)
Reset the features for the subtarget.
virtual unsigned resolveSchedClass(unsigned SchedClass, const MachineInstr *MI, const TargetSchedModel *SchedModel) const
#define LLVM_DELETED_FUNCTION
virtual bool enablePostRAScheduler(CodeGenOpt::Level OptLevel, AntiDepBreakMode &Mode, RegClassVector &CriticalPathRCs) const
bool useMachineScheduler() const
Temporary API to test migration to MI scheduler.
SUnit - Scheduling unit. This is a node in the scheduling DAG.
virtual bool useAA() const
Enable use of alias analysis during code generation (during MI scheduling, DAGCombine, etc.).