#include "src/compiler/backend/instruction-scheduler.h"
#include <optional>
#include "src/base/iterator.h"
#include "src/base/utils/random-number-generator.h"
#include "src/compiler/backend/instruction-codes.h"
namespace v8 {
namespace internal {
namespace compiler {
void InstructionScheduler::SchedulingQueueBase::AddNode(
ScheduleGraphNode* node) { … }
InstructionScheduler::ScheduleGraphNode*
InstructionScheduler::CriticalPathFirstQueue::PopBestCandidate(int cycle) { … }
InstructionScheduler::ScheduleGraphNode*
InstructionScheduler::StressSchedulerQueue::PopBestCandidate(int cycle) { … }
InstructionScheduler::ScheduleGraphNode::ScheduleGraphNode(Zone* zone,
Instruction* instr)
: … { … }
void InstructionScheduler::ScheduleGraphNode::AddSuccessor(
ScheduleGraphNode* node) { … }
InstructionScheduler::InstructionScheduler(Zone* zone,
InstructionSequence* sequence)
: … { … }
void InstructionScheduler::StartBlock(RpoNumber rpo) { … }
void InstructionScheduler::EndBlock(RpoNumber rpo) { … }
void InstructionScheduler::AddTerminator(Instruction* instr) { … }
void InstructionScheduler::AddInstruction(Instruction* instr) { … }
template <typename QueueType>
void InstructionScheduler::Schedule() { … }
int InstructionScheduler::GetInstructionFlags(const Instruction* instr) const { … }
void InstructionScheduler::ComputeTotalLatencies() { … }
}
}
}