class LatencyPriorityQueue

Declaration

class LatencyPriorityQueue : public SchedulingPriorityQueue { /* full declaration omitted */ };

Description

This interface is used to plug different priorities computation algorithms into the list scheduler. It implements the interface of a standard priority queue, where nodes are inserted in arbitrary order and returned in priority order. The computation of the priority and the representation of the queue are totally up to the implementation to decide.

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:32

Inherits from: SchedulingPriorityQueue

Method Overview

Inherited from SchedulingPriorityQueue:

Methods

LatencyPriorityQueue()

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:47

void addNode(const llvm::SUnit* SU)

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:57

Parameters

const llvm::SUnit* SU

void dump(llvm::ScheduleDAG* DAG) const

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:87

Parameters

llvm::ScheduleDAG* DAG

bool empty() const

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:78

unsigned int getLatency(
    unsigned int NodeNum) const

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:68

Parameters

unsigned int NodeNum

unsigned int getNumSolelyBlockNodes(
    unsigned int NodeNum) const

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:73

Parameters

unsigned int NodeNum

void initNodes(std::vector<SUnit>& sunits)

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:52

Parameters

std::vector<SUnit>& sunits

bool isBottomUp() const

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:50

llvm::SUnit* pop()

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:82

void push(llvm::SUnit* U)

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:80

Parameters

llvm::SUnit* U

void releaseState()

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:64

void remove(llvm::SUnit* SU)

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:84

Parameters

llvm::SUnit* SU

void scheduledNode(llvm::SUnit* SU)

Description

As each node is scheduled, this method is invoked. This allows the priority function to adjust the priority of related unscheduled nodes, for example.

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:94

Parameters

llvm::SUnit* SU

void updateNode(const llvm::SUnit* SU)

Declared at: llvm/include/llvm/CodeGen/LatencyPriorityQueue.h:61

Parameters

const llvm::SUnit* SU