12 if (function_name ==
"cblas_sdot") {
14 }
else if (function_name ==
"cblas_ddot") {
16 }
else if (function_name ==
"cblas_sgemm") {
18 }
else if (function_name ==
"cblas_dgemm") {
35 llvm::TargetLibraryInfo& TLI,
36 const llvm::DataLayout& DL,
37 const llvm::Function& function,
40 std::map<
const llvm::BasicBlock*, std::set<const sdfg::control_flow::State*>>& state_mapping,
42 std::unordered_map<const llvm::Value*, std::string>& constants_mapping,
43 std::unordered_map<const llvm::Type*, std::string> anonymous_types_mapping
54 anonymous_types_mapping
63 if (!func.getName().starts_with(
"cblas_")) {
BLASLifting(llvm::TargetLibraryInfo &TLI, const llvm::DataLayout &DL, const llvm::Function &function, sdfg::FunctionType target_type, sdfg::builder::SDFGBuilder &builder, std::map< const llvm::BasicBlock *, std::set< const sdfg::control_flow::State * > > &state_mapping, std::map< const sdfg::control_flow::State *, std::set< const llvm::BasicBlock * > > &pred_mapping, std::unordered_map< const llvm::Value *, std::string > &constants_mapping, std::unordered_map< const llvm::Type *, std::string > anonymous_types_mapping)
Definition blas_lifting.h:34
sdfg::control_flow::State & visit(const llvm::BasicBlock *block, const llvm::CallBase *instruction, sdfg::control_flow::State ¤t_state) override
static bool is_supported(llvm::Function &func)
Definition blas_lifting.h:62
FunctionLifting(llvm::TargetLibraryInfo &TLI, const llvm::DataLayout &DL, const llvm::Function &function, sdfg::FunctionType target_type, sdfg::builder::SDFGBuilder &builder, std::map< const llvm::BasicBlock *, std::set< const sdfg::control_flow::State * > > &state_mapping, std::map< const sdfg::control_flow::State *, std::set< const llvm::BasicBlock * > > &pred_mapping, std::unordered_map< const llvm::Value *, std::string > &constants_mapping, std::unordered_map< const llvm::Type *, std::string > &anonymous_types_mapping)
Definition function_lifting.h:41
Definition sdfg_builder.h:13
A state in a Stateful DataFlow Graph (SDFG).
Definition state.h:38
Definition exceptions.h:9
Definition function_builder.h:10
StringEnum LibraryNodeCode
Definition library_node.h:65
data_flow::LibraryNodeCode LibraryNodeType_DOT("DOT")
data_flow::LibraryNodeCode LibraryNodeType_GEMM("GEMM")
StringEnum FunctionType
Definition function.h:37