ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
goto_cfg::basic_block Struct Reference

A basic block is a sequence of instructions that has no branches in it. More...

#include <goto_cfg.h>

Public Types

enum class  terminator_type { OTHER , IF_GOTO }

Public Attributes

goto_programt::instructionst::iterator begin
goto_programt::instructionst::iterator end
std::set< std::shared_ptr< basic_block > > successors
std::unordered_set< std::shared_ptr< basic_block > > predecessors
terminator_type terminator = terminator_type::OTHER

Detailed Description

A basic block is a sequence of instructions that has no branches in it.

It consists of a sequence of instructions until a leader is found. A leader consists in operations that create a new basic block, i.e., label, if-goto, return, throw, catch, etc.

Member Enumeration Documentation

◆ terminator_type

Enumerator
OTHER 
IF_GOTO 

Member Data Documentation

◆ begin

goto_programt::instructionst::iterator goto_cfg::basic_block::begin

◆ end

goto_programt::instructionst::iterator goto_cfg::basic_block::end

◆ predecessors

std::unordered_set<std::shared_ptr<basic_block> > goto_cfg::basic_block::predecessors

◆ successors

std::set<std::shared_ptr<basic_block> > goto_cfg::basic_block::successors

◆ terminator

terminator_type goto_cfg::basic_block::terminator = terminator_type::OTHER

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