Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::Compiler_IR_Block Struct Reference

One basic block of IR instructions. More...

#include <Compiler_IR_Model.H>

Collaboration diagram for Aleph::Compiler_IR_Block:
[legend]

Public Member Functions

bool is_terminated () const noexcept
 Returns whether the block already has a terminator.
 

Public Attributes

Compiler_IR_Block_Id id = compiler_ir_invalid_id()
 Stable block id.
 
std::string label
 Deterministic debug label.
 
Source_Span span
 Aggregate span covered by instructions and terminator.
 
DynArray< Compiler_IR_Instruction > instructions
 Linear instruction list.
 
Compiler_IR_Terminator terminator
 Explicit block terminator.
 
DynArray< Compiler_IR_Block_Id > predecessors
 Predecessor block ids.
 

Detailed Description

One basic block of IR instructions.

Definition at line 209 of file Compiler_IR_Model.H.

Member Function Documentation

◆ is_terminated()

bool Aleph::Compiler_IR_Block::is_terminated ( ) const
inlinenoexcept

Returns whether the block already has a terminator.

Definition at line 219 of file Compiler_IR_Model.H.

References Aleph::Compiler_IR_Terminator::kind, Aleph::None, and terminator.

Member Data Documentation

◆ id

◆ instructions

DynArray<Compiler_IR_Instruction> Aleph::Compiler_IR_Block::instructions

Linear instruction list.

Definition at line 214 of file Compiler_IR_Model.H.

Referenced by TEST(), and TEST().

◆ label

std::string Aleph::Compiler_IR_Block::label

Deterministic debug label.

Definition at line 212 of file Compiler_IR_Model.H.

Referenced by Aleph::Compiler_IR_Lowering::Module_Builder::create_block(), and TEST().

◆ predecessors

DynArray<Compiler_IR_Block_Id> Aleph::Compiler_IR_Block::predecessors

Predecessor block ids.

Definition at line 216 of file Compiler_IR_Model.H.

◆ span

Source_Span Aleph::Compiler_IR_Block::span

Aggregate span covered by instructions and terminator.

Definition at line 213 of file Compiler_IR_Model.H.

◆ terminator

Compiler_IR_Terminator Aleph::Compiler_IR_Block::terminator

Explicit block terminator.

Definition at line 215 of file Compiler_IR_Model.H.

Referenced by is_terminated(), TEST(), TEST(), and TEST().


The documentation for this struct was generated from the following file: