3#include <llvm/IR/CFG.h>
4#include <llvm/IR/Constants.h>
5#include <llvm/IR/Instructions.h>
6#include <llvm/IR/Operator.h>
45 std::unordered_map<const llvm::Value*, std::string>& constants_mapping,
46 const llvm::Value* llvm_ptr
50 std::unordered_map<const llvm::Value*, std::string>& constants_mapping,
const llvm::Value* llvm_ptr
55 std::unordered_map<const llvm::Type*, std::string>& anonymous_types_mapping,
56 const llvm::DataLayout& DL,
59 const std::string& initializer =
""
64std::pair<std::string, sdfg::data_flow::Subset>
65get_memlet(std::unordered_map<const llvm::Value*, std::string>& constants_mapping,
const llvm::GEPOperator* pointer);
Definition sdfg_builder.h:13
Represents the storage location and management characteristics of data.
Definition type.h:64
SymEngine::RCP< const SymEngine::Basic > Expression
Reference-counted pointer to a symbolic expression (SymEngine Basic).
Definition symbolic.h:83
bool is_literal(const llvm::Value *value)
std::vector< llvm::GlobalVariable * > add_nested_global(const llvm::ConstantExpr *expr)
sdfg::symbolic::Expression as_symbol(const llvm::Constant *value)
std::pair< std::string, sdfg::data_flow::Subset > get_memlet(std::unordered_map< const llvm::Value *, std::string > &constants_mapping, const llvm::GEPOperator *pointer)
std::string as_initializer(const llvm::Constant *initializer)
std::string as_literal(const llvm::ConstantData *value)
std::unique_ptr< sdfg::types::IType > get_type(sdfg::builder::SDFGBuilder &builder, std::unordered_map< const llvm::Type *, std::string > &anonymous_types_mapping, const llvm::DataLayout &DL, llvm::Type *type, sdfg::types::StorageType storage_type, const std::string &initializer="")
std::string get_initializer(const llvm::GlobalVariable &global)
bool is_null_pointer(const llvm::Value *value)
std::string get_name(const llvm::Value *value)
bool has_initializer(const llvm::GlobalVariable &global)
bool is_symbol(const llvm::Value *value)
std::string normalize_name(const std::string value)
std::string find_const_name_to_sdfg_name(std::unordered_map< const llvm::Value *, std::string > &constants_mapping, const llvm::Value *llvm_ptr)
sdfg::types::StorageType get_storage_type(sdfg::FunctionType target_type, size_t address_space)
std::string create_const_name_to_sdfg_name(sdfg::builder::SDFGBuilder &builder, std::unordered_map< const llvm::Value *, std::string > &constants_mapping, const llvm::Value *llvm_ptr)
Definition exceptions.h:9
StringEnum FunctionType
Definition function.h:37