22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
llvm::Function::LinkageTypes linkageType );
llvm::Function* getOrCreateFunc( const Context& c, const builtins::Func& func );
llvm::Function* getOrCreateFunc( const Context& c, const builtins::Func& func, const string& name,
llvm::Function::LinkageTypes linkageType );
void runOptimizationPasses();
void emitToFile( const string& filename, llvm::TargetMachine::CodeGenFileType type );
private:
llvm::BasicBlock* buildBasicBlock( const Context& c, llvm::Function* pllvmFunc, const ptr< llr::BasicBlock >& pBB );
llvm::Value* buildValue( const Context& c, llvm::Function* pllvmFunc, const Value& val );
llvm::Value* buildInstruction( const Context& c, llvm::Function* pllvmFunc, const llr::Instruction& instr );
|
|
|
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
llvm::Function::LinkageTypes linkageType );
llvm::Function* getOrCreateFunc( const Context& c, const builtins::Func& func );
llvm::Function* getOrCreateFunc( const Context& c, const builtins::Func& func, const string& name,
llvm::Function::LinkageTypes linkageType );
void runOptimizationPasses();
bool emitToFile( const string& filename, llvm::TargetMachine::CodeGenFileType type );
private:
llvm::BasicBlock* buildBasicBlock( const Context& c, llvm::Function* pllvmFunc, const ptr< llr::BasicBlock >& pBB );
llvm::Value* buildValue( const Context& c, llvm::Function* pllvmFunc, const Value& val );
llvm::Value* buildInstruction( const Context& c, llvm::Function* pllvmFunc, const llr::Instruction& instr );
|