CBMC
remove_asmt Class Reference
+ Collaboration diagram for remove_asmt:

Public Member Functions

 remove_asmt (symbol_tablet &_symbol_table, goto_functionst &_goto_functions)
 
void operator() ()
 

Protected Member Functions

void process_function (goto_functionst::goto_functiont &)
 Replaces inline assembly instructions in the goto function by non-assembly goto program instructions. More...
 
void process_instruction (goto_programt::instructiont &instruction, goto_programt &dest)
 Translates the given inline assembly code (which must be in either gcc or msc style) to non-assembly goto program instructions. More...
 
void process_instruction_gcc (const code_asm_gcct &, goto_programt &dest)
 Translates the given inline assembly code (in gcc style) to non-assembly goto program instructions. More...
 
void process_instruction_msc (const code_asmt &, goto_programt &dest)
 Translates the given inline assembly code (in msc style) to non-assembly goto program instructions. More...
 
void gcc_asm_function_call (const irep_idt &function_base_name, const code_asm_gcct &code, goto_programt &dest)
 Adds a call to a library function that implements the given gcc-style inline assembly statement. More...
 
void msc_asm_function_call (const irep_idt &function_base_name, const code_asmt &code, goto_programt &dest)
 Adds a call to a library function that implements the given msc-style inline assembly statement. More...
 

Protected Attributes

symbol_tabletsymbol_table
 
goto_functionstgoto_functions
 

Detailed Description

Definition at line 28 of file remove_asm.cpp.

Constructor & Destructor Documentation

◆ remove_asmt()

remove_asmt::remove_asmt ( symbol_tablet _symbol_table,
goto_functionst _goto_functions 
)
inline

Definition at line 31 of file remove_asm.cpp.

Member Function Documentation

◆ gcc_asm_function_call()

void remove_asmt::gcc_asm_function_call ( const irep_idt function_base_name,
const code_asm_gcct code,
goto_programt dest 
)
protected

Adds a call to a library function that implements the given gcc-style inline assembly statement.

Parameters
function_base_nameName of the function to call
codegcc-style inline assembly statement to translate to function call
destGoto program to append the function call to

Definition at line 74 of file remove_asm.cpp.

◆ msc_asm_function_call()

void remove_asmt::msc_asm_function_call ( const irep_idt function_base_name,
const code_asmt code,
goto_programt dest 
)
protected

Adds a call to a library function that implements the given msc-style inline assembly statement.

Parameters
function_base_nameName of the function to call
codemsc-style inline assembly statement to translate to function call
destGoto program to append the function call to

Definition at line 144 of file remove_asm.cpp.

◆ operator()()

void remove_asmt::operator() ( )
inline

Definition at line 36 of file remove_asm.cpp.

◆ process_function()

void remove_asmt::process_function ( goto_functionst::goto_functiont goto_function)
protected

Replaces inline assembly instructions in the goto function by non-assembly goto program instructions.

Parameters
goto_functionThe goto function

Definition at line 483 of file remove_asm.cpp.

◆ process_instruction()

void remove_asmt::process_instruction ( goto_programt::instructiont instruction,
goto_programt dest 
)
protected

Translates the given inline assembly code (which must be in either gcc or msc style) to non-assembly goto program instructions.

Parameters
instructionThe goto program instruction containing the inline assembly statements
destThe goto program to append the new instructions to

Definition at line 191 of file remove_asm.cpp.

◆ process_instruction_gcc()

void remove_asmt::process_instruction_gcc ( const code_asm_gcct code,
goto_programt dest 
)
protected

Translates the given inline assembly code (in gcc style) to non-assembly goto program instructions.

Parameters
codeThe inline assembly code statement to translate
destThe goto program to append the new instructions to

Definition at line 212 of file remove_asm.cpp.

◆ process_instruction_msc()

void remove_asmt::process_instruction_msc ( const code_asmt code,
goto_programt dest 
)
protected

Translates the given inline assembly code (in msc style) to non-assembly goto program instructions.

Parameters
codeThe inline assembly code statement to translate
destThe goto program to append the new instructions to

Definition at line 381 of file remove_asm.cpp.

Member Data Documentation

◆ goto_functions

goto_functionst& remove_asmt::goto_functions
protected

Definition at line 44 of file remove_asm.cpp.

◆ symbol_table

symbol_tablet& remove_asmt::symbol_table
protected

Definition at line 43 of file remove_asm.cpp.


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