vox.ir.ir_function

Members

Functions

appendIrStorage
void appendIrStorage(IrFunction* mainIr, IrFunction* irToCopy, CompilationContext* c)
Undocumented in source. Be warned that the author may not have intended to support it.
dupIrStorage
void dupIrStorage(IrFunction* ir, CompilationContext* c)
Undocumented in source. Be warned that the author may not have intended to support it.
dupSingleIrStorage
void dupSingleIrStorage(Arena!T arena, T* ptr, uint length)
Undocumented in source. Be warned that the author may not have intended to support it.
removeInstruction
void removeInstruction(IrFunction* ir, IrIndex instrIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
removePhi
void removePhi(CompilationContext* context, IrFunction* ir, IrIndex phiIndex)
Undocumented in source. Be warned that the author may not have intended to support it.
removeUser
void removeUser(CompilationContext* context, IrFunction* ir, IrIndex user, IrIndex used)
Undocumented in source. Be warned that the author may not have intended to support it.
replaceInstruction
void replaceInstruction(IrFunction* ir, IrIndex instrIndex, IrIndex replaceBy)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

BlockIterator
struct BlockIterator
Undocumented in source.
BlockReverseIterator
struct BlockReverseIterator
Undocumented in source.
IrFuncStorage
struct IrFuncStorage
Undocumented in source.
IrFunction
struct IrFunction

Stores info about single function in IR All data of a function is stored in a number of arenas Every function has its data stored sequentially in each arena, and items in each function have separate indexing Indices are relative to the pointers. All this implies that in order to modify the function's IR it needs to be at the end of each arena. Then we can freely append new items to the end of arenas.

VregIterator
struct VregIterator
Undocumented in source.

Meta

Authors

Andrey Penechko. IR Function