Jlm
Namespaces | Functions
LlvmModuleConversion.cpp File Reference
#include <jlm/llvm/frontend/LlvmConversionContext.hpp>
#include <jlm/llvm/frontend/LlvmInstructionConversion.hpp>
#include <jlm/llvm/frontend/LlvmModuleConversion.hpp>
#include <jlm/llvm/ir/cfg-structure.hpp>
#include <jlm/llvm/ir/operators/operators.hpp>
#include <jlm/llvm/ir/TypeConverter.hpp>
#include <llvm/ADT/PostOrderIterator.h>
#include <llvm/IR/BasicBlock.h>
#include <llvm/IR/Function.h>
#include <llvm/IR/Instructions.h>
#include <llvm/IR/Module.h>
Include dependency graph for LlvmModuleConversion.cpp:

Go to the source code of this file.

Namespaces

 jlm
 
 jlm::llvm
 Global memory state passed between functions.
 

Functions

static std::vector<::llvm::PHINode * > jlm::llvm::convert_instructions (::llvm::Function &function, Context &ctx)
 
static void jlm::llvm::PatchPhiOperands (const std::vector<::llvm::PHINode * > &phis, Context &ctx)
 
static BasicBlockMap jlm::llvm::convert_basic_blocks (::llvm::Function &f, ControlFlowGraph &cfg)
 
Attribute::kind jlm::llvm::ConvertAttributeKind (const ::llvm::Attribute::AttrKind &kind)
 
static EnumAttribute jlm::llvm::ConvertEnumAttribute (const ::llvm::Attribute &attribute)
 
static IntAttribute jlm::llvm::ConvertIntAttribute (const ::llvm::Attribute &attribute)
 
static TypeAttribute jlm::llvm::ConvertTypeAttribute (const ::llvm::Attribute &attribute, Context &ctx)
 
static StringAttribute jlm::llvm::ConvertStringAttribute (const ::llvm::Attribute &attribute)
 
static AttributeSet jlm::llvm::convert_attributes (const ::llvm::AttributeSet &as, Context &ctx)
 
static std::unique_ptr< llvm::Argument > jlm::llvm::convert_argument (const ::llvm::Argument &argument, Context &ctx)
 
static void jlm::llvm::EnsureSingleInEdgeToExitNode (ControlFlowGraph &cfg)
 
static std::unique_ptr< ControlFlowGraph > jlm::llvm::create_cfg (::llvm::Function &f, Context &ctx)
 
static void jlm::llvm::convert_function (::llvm::Function &function, Context &ctx)
 
static const llvm::Linkage & jlm::llvm::convert_linkage (const ::llvm::GlobalValue::LinkageTypes &linkage)
 
static void jlm::llvm::declare_globals (::llvm::Module &lm, Context &ctx)
 
static std::unique_ptr< DataNodeInit > jlm::llvm::create_initialization (::llvm::GlobalVariable &gv, Context &ctx)
 
static void jlm::llvm::convert_global_value (::llvm::GlobalVariable &gv, Context &ctx)
 
static void jlm::llvm::convert_globals (::llvm::Module &lm, Context &ctx)
 
std::unique_ptr< InterProceduralGraphModule > jlm::llvm::ConvertLlvmModule (::llvm::Module &llvmModule)