This repository was archived by the owner on Feb 5, 2019. It is now read-only.
File tree 1 file changed +8
-4
lines changed
1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -699,10 +699,14 @@ void ScheduleDAGInstrs::initSUnits() {
699
699
// Assign the Latency field of SU using target-provided information.
700
700
SU->Latency = SchedModel.computeInstrLatency (SU->getInstr ());
701
701
702
- // If this SUnit uses an unbuffered resource, mark it as such.
703
- // These resources are used for in-order execution pipelines within an
704
- // out-of-order core and are identified by BufferSize=1. BufferSize=0 is
705
- // used for dispatch/issue groups and is not considered here.
702
+ // If this SUnit uses a reserved or unbuffered resource, mark it as such.
703
+ //
704
+ // Reserved resources block an instruction from issueing and stall the
705
+ // entire pipeline. These are identified by BufferSize=0.
706
+ //
707
+ // Unbuffered resources prevent execution of subsequeny instructions that
708
+ // require the same resources. This is used for in-order execution pipelines
709
+ // within an out-of-order core. These are identified by BufferSize=1.
706
710
if (SchedModel.hasInstrSchedModel ()) {
707
711
const MCSchedClassDesc *SC = getSchedClass (SU);
708
712
for (TargetSchedModel::ProcResIter
You can’t perform that action at this time.
0 commit comments