Merge tag 'block-5.11-2021-01-10' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / tools / perf / util / c++ / clang.h
blob6ce33e22f23c084a9ceb49fcebe5ac943186204e
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef PERF_UTIL_CLANG_H
3 #define PERF_UTIL_CLANG_H
5 #include "llvm/ADT/StringRef.h"
6 #include "llvm/IR/LLVMContext.h"
7 #include "llvm/IR/Module.h"
8 #include "llvm/Option/Option.h"
9 #include <memory>
11 namespace perf {
13 using namespace llvm;
15 std::unique_ptr<Module>
16 getModuleFromSource(opt::ArgStringList CFlags,
17 StringRef Name, StringRef Content);
19 std::unique_ptr<Module>
20 getModuleFromSource(opt::ArgStringList CFlags,
21 StringRef Path);
23 std::unique_ptr<llvm::SmallVectorImpl<char>>
24 getBPFObjectFromModule(llvm::Module *Module);
27 #endif