18 std::vector<std::string> sub_compile_opts_;
20 void add_subcomp_opts_from_arg(std::vector<std::string>& out_opts)
const;
22 std::unique_ptr<llvm::Module> compile_to_ir_in_memory(
23 llvm::LLVMContext& ctx,
24 const std::filesystem::path& source_path,
25 const std::vector<std::string>& compile_args,
26 const std::vector<std::string>& add_compile_args,
27 const llvm::Triple& target_triple
30 bool write_library_snippets_to_files(
31 std::filesystem::path build_path,
32 std::unordered_set<std::string> lib_files,
33 const std::unordered_map<std::string, sdfg::codegen::CodeSnippet>& snippets,
34 std::unordered_map<std::string, std::vector<std::filesystem::path>>& files_for_post_processing
37 bool compile_additional_files(
38 const std::filesystem::path& build_path,
39 const std::vector<std::string>& compile_args,
40 std::set<std::string>& link_2nd_args,
41 std::unordered_map<std::string, std::vector<std::filesystem::path>> files_for_post_processing,
49 llvm::dwarf::SourceLanguage& language,
50 const std::vector<std::string>& mod_wide_compile_flags,
51 std::set<std::string>& link_2nd_args,
55 bool link_into_existing_module(
57 const std::vector<std::string>& compile_args,
58 const std::vector<std::string>& add_compiler_args,
59 const std::filesystem::path& source_path,
60 const std::string& steal_from
63 std::list<std::unique_ptr<sdfg::StructuredSDFG>>
76 const std::filesystem::path& source_path,
77 const std::filesystem::path& object_file,
78 const std::vector<std::string>& compile_args