mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 14:38:02 +07:00
5e08a76525
getBPFObjectFromModule() is introduced to compile LLVM IR(Module) to BPF object. Add new testcase for it. Test result: $ ./buildperf/perf test -v clang 51: builtin clang support : 51.1: builtin clang compile C source to IR : --- start --- test child forked, pid 21822 test child finished with 0 ---- end ---- builtin clang support subtest 0: Ok 51.2: builtin clang compile C source to ELF object : --- start --- test child forked, pid 21823 test child finished with 0 ---- end ---- builtin clang support subtest 1: Ok Signed-off-by: Wang Nan <wangnan0@huawei.com> Cc: Alexei Starovoitov <ast@fb.com> Cc: He Kuang <hekuang@huawei.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Joe Stringer <joe@ovn.org> Cc: Zefan Li <lizefan@huawei.com> Cc: pi3orama@163.com Link: http://lkml.kernel.org/r/20161126070354.141764-15-wangnan0@huawei.com [ Remove redundant "Test" from entry descriptions ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
27 lines
548 B
C++
27 lines
548 B
C++
#ifndef PERF_UTIL_CLANG_H
|
|
#define PERF_UTIL_CLANG_H
|
|
|
|
#include "llvm/ADT/StringRef.h"
|
|
#include "llvm/IR/LLVMContext.h"
|
|
#include "llvm/IR/Module.h"
|
|
#include "llvm/Option/Option.h"
|
|
#include <memory>
|
|
|
|
namespace perf {
|
|
|
|
using namespace llvm;
|
|
|
|
std::unique_ptr<Module>
|
|
getModuleFromSource(opt::ArgStringList CFlags,
|
|
StringRef Name, StringRef Content);
|
|
|
|
std::unique_ptr<Module>
|
|
getModuleFromSource(opt::ArgStringList CFlags,
|
|
StringRef Path);
|
|
|
|
std::unique_ptr<llvm::SmallVectorImpl<char>>
|
|
getBPFObjectFromModule(llvm::Module *Module);
|
|
|
|
}
|
|
#endif
|