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

One SSA basic block containing phis, instructions, and a terminator. More...

#include <SSA.H>

Collaboration diagram for Aleph::Compiler_SSA_Block:
[legend]

Public Member Functions

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

Public Attributes

Compiler_SSA_Block_Id id = compiler_ssa_invalid_id()
 Dense SSA block id.
 
Compiler_IR_Block_Id source_block_id = compiler_ir_invalid_id()
 Original IR block id before SSA normalization.
 
std::string label
 Deterministic debug label.
 
Source_Span span
 Aggregate source span.
 
DynArray< Compiler_SSA_Phi > phis
 Phi nodes evaluated before instructions.
 
DynArray< Compiler_SSA_Instruction > instructions
 Linear SSA instruction list.
 
Compiler_SSA_Terminator terminator
 Explicit block terminator.
 
DynArray< Compiler_SSA_Block_Id > predecessors
 Predecessor ids in deterministic order.
 

Detailed Description

One SSA basic block containing phis, instructions, and a terminator.

Definition at line 161 of file SSA.H.

Member Function Documentation

◆ is_terminated()

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

Returns whether the block already has a terminator.

Definition at line 173 of file SSA.H.

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

Member Data Documentation

◆ id

◆ instructions

◆ label

◆ phis

DynArray<Compiler_SSA_Phi> Aleph::Compiler_SSA_Block::phis

Phi nodes evaluated before instructions.

Definition at line 167 of file SSA.H.

Referenced by Aleph::compiler_dump_ssa_function(), and Aleph::validate_ssa_function().

◆ predecessors

◆ source_block_id

Compiler_IR_Block_Id Aleph::Compiler_SSA_Block::source_block_id = compiler_ir_invalid_id()

Original IR block id before SSA normalization.

Definition at line 164 of file SSA.H.

Referenced by Aleph::compiler_dump_bytecode_function(), Aleph::compiler_dump_ssa_function(), and Aleph::Compiler_SSA_Lowering::lower_function_internal().

◆ span

◆ terminator


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