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
- incomplete_instruction_state(const instruction * instr) → explicit
Member Functions
¶explicit incomplete_instruction_state(
const instruction* instr)
explicit incomplete_instruction_state(
const instruction* instr)
Parameters
- const instruction* instr