Adapted from code found on http://stackoverflow.com/questions/180947/base64-decode-snippet-in-c Origi...
Compiler(Options const &_options, evm_mode _mode, llvm::LLVMContext &_llvmContext)
bool rewriteSwitchToBranches
Rewrite switch instructions to sequences of branches.
bool dumpCFG
Dump CFG as a .dot file for graphviz.
llvm::BasicBlock * m_jumpTableBB
Block with a jump table.
byte const * code_iterator
Options const & m_options
Compiler options.
std::vector< BasicBlock > createBasicBlocks(code_iterator _begin, code_iterator _end)
evm_mode
EVM compatibility mode aka chain mode.
void compileBasicBlock(BasicBlock &_basicBlock, class RuntimeManager &_runtimeManager, class Arith256 &_arith, class Memory &_memory, class Ext &_ext, class GasMeter &_gasMeter)
IRBuilder m_builder
Helper class for generating IR.
std::unique_ptr< llvm::Module > compile(code_iterator _begin, code_iterator _end, std::string const &_id)
evm_mode m_mode
EVM compatibility mode.
llvm::Function * m_mainFunc
Main program function.
llvm::IRBuilder<> IRBuilder