llvm::GISelWorkList

Worklist of MachineInstrs similar to InstCombineWorkList.

Synopsis

Declared in <llvm/CodeGen/GlobalISel/GISelWorkList.h>

template<unsigned int N>
class GISelWorkList;

Description

The main difference with something like a SetVector is that erasing an element doesn't move all elements over one place - instead just nulls out the element of the vector.

FIXME: Does it make sense to factor out common code with the instcombinerWorkList?

Member Functions

NameDescription
GISelWorkList [constructor]Construct an empty worklist with map reserved for N entries.
clear Remove all instructions from the worklist.
deferred_insert Insert an instruction without updating the worklist map (deferred).
empty Return true if the worklist contains no instructions.
finalize Build the worklist map from instructions added via deferred_insert.
insert Add the specified instruction to the worklist if it isn't already in it.
pop_back_val Remove and return the last non-null instruction from the worklist.
remove Remove I from the worklist if it exists.
size Return the number of instructions currently in the worklist.