top | up | prev | next

LinuxCodeGenerator Class

Definition at line 14 of LinuxCodeGenerator.hpp

Constructors

LinuxCodeGenerator(cmajor::ir::EmittingContext& emittingContext_)

Member Functions

void CreateCleanup() override
void GenerateCodeForCleanups() override
void* GetPersonalityFunction() const override
void Visit(BoundBreakStatement& boundBreakStatement) override
void Visit(BoundContinueStatement& boundContinueStatement) override
void Visit(BoundGotoCaseStatement& boundGotoCaseStatement) override
void Visit(BoundGotoDefaultStatement& boundGotoDefaultStatement) override
void Visit(BoundGotoStatement& boundGotoStatement) override
void Visit(BoundRethrowStatement& boundRethrowStatement) override
void Visit(BoundReturnStatement& boundReturnStatement) override
void Visit(BoundTryStatement& boundTryStatement) override

Constructor Details

LinuxCodeGenerator Constructor

cmajor::codegenlinux::LinuxCodeGenerator::LinuxCodeGenerator(cmajor::ir::EmittingContext& emittingContext_)

Definition at line 13 of LinuxCodeGenerator.cpp :
 13 : LlvmCodeGenerator(emittingContext_)
 14 {
 15 }


Declaration at line 17 of LinuxCodeGenerator.hpp


Member Function Details

CreateCleanup Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::CreateCleanup() override

Definition at line 278 of LinuxCodeGenerator.cpp
Declaration at line 26 of LinuxCodeGenerator.hpp

Calls: cmajor::binder::BoundNode::GetBoundNodeType , cmajor::binder::BoundStatement::Block , cmajor::binder::BoundStatement::Parent


GenerateCodeForCleanups Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::GenerateCodeForCleanups() override

Definition at line 326 of LinuxCodeGenerator.cpp
Declaration at line 28 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::codegenllvm::LlvmCodeGenerator::GenerateCodeForCleanups


GetPersonalityFunction Member Function

void * cmajor::codegenlinux::LinuxCodeGenerator::GetPersonalityFunction() const override

Definition at line 319 of LinuxCodeGenerator.cpp :
320 {
321     void* personalityFunctionType = emitter->GetIrTypeForVariableParamFunction(emitter->GetIrTypeForInt());
322     void* personalityFunction = emitter->GetOrInsertFunction("__gxx_personality_v0"personalityFunctionTypetrue);
323     return personalityFunction;
324 }


Declaration at line 27 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::codegenllvm::LlvmCodeGenerator::GetPersonalityFunction


Visit Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::Visit(BoundBreakStatement & boundBreakStatement) override

Definition at line 104 of LinuxCodeGenerator.cpp
Declaration at line 21 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::Visit(BoundContinueStatement & boundContinueStatement) override

Definition at line 119 of LinuxCodeGenerator.cpp
Declaration at line 22 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::Visit(BoundGotoCaseStatement & boundGotoCaseStatement) override

Definition at line 63 of LinuxCodeGenerator.cpp
Declaration at line 19 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundGotoCaseStatement::CaseValue , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::Visit(BoundGotoDefaultStatement & boundGotoDefaultStatement) override

Definition at line 85 of LinuxCodeGenerator.cpp
Declaration at line 20 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::Visit(BoundGotoStatement & boundGotoStatement) override

Definition at line 134 of LinuxCodeGenerator.cpp
Declaration at line 23 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundGotoStatement::TargetBlock , cmajor::binder::BoundGotoStatement::TargetStatement , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundNode::ModuleId , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::Visit(BoundRethrowStatement & boundRethrowStatement) override

Definition at line 264 of LinuxCodeGenerator.cpp
Declaration at line 25 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundRethrowStatement::ReleaseCall , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::Visit(BoundReturnStatement & boundReturnStatement) override

Definition at line 17 of LinuxCodeGenerator.cpp
Declaration at line 18 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundCompoundStatement::Statements , cmajor::binder::BoundFunction::Body , cmajor::binder::BoundFunctionCall::Accept , cmajor::binder::BoundNode::Accept , cmajor::binder::BoundNode::GetSpan , cmajor::binder::BoundReturnStatement::ReturnFunctionCall , cmajor::binder::BoundStatement::SetGenerated , cmajor::codegenllvm::LlvmCodeGenerator::ExitBlocks , cmajor::codegenllvm::LlvmCodeGenerator::GenerateExitFunctionCode , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


Visit Member Function

void cmajor::codegenlinux::LinuxCodeGenerator::Visit(BoundTryStatement & boundTryStatement) override

Definition at line 157 of LinuxCodeGenerator.cpp
Declaration at line 24 of LinuxCodeGenerator.hpp

Base class overridden functions: cmajor::binder::BoundNodeVisitor::Visit

Calls: cmajor::binder::BoundNode::Accept , cmajor::binder::BoundTryStatement::Catches , cmajor::binder::BoundTryStatement::TryBlock , cmajor::codegenllvm::LlvmCodeGenerator::ClearFlags , cmajor::codegenllvm::LlvmCodeGenerator::MoveAllocaIntoEntryBlock , cmajor::codegenllvm::LlvmCodeGenerator::SetTarget


top | up | prev | next