Skip to main content

struct incomplete_instruction_state

Declaration

struct incomplete_instruction_state { /* full declaration omitted */ };

Description

State maintained for every instruction between its submission and completion.

Member Variables

const instruction* instr = nullptr
out_of_order_engine::target target = out_of_order_engine::target::immediate
gch::small_vector<device_id, 2> eligible_devices
device-to-device copies can be submitted to host or destination device.
gch::small_vector<instruction_id> successors
we collect successors as they are submitted
size_t num_incomplete_predecessors = 0
An instruction with no incomplete predecessors is ready for immediate assignment.
size_t num_unassigned_predecessors = 0
An instruction with no unassigned (but some incomplete) predecessors may be eligible for eager assignment (see try_mark_for_assignment).
std::variant<unassigned_state, conditional_eagerly_assignable_state, unconditional_assignable_state, assigned_state> assignment
Data that only exist in specific assignment states.

Member Function Overview

Member Functions

explicit incomplete_instruction_state(
    const instruction* instr)

Parameters

const instruction* instr