#include "llvm/Analysis/CallGraph.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/Config/config.h"
#include "llvm/IR/Module.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Passes/PassPlugin.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Testing/Support/Error.h"
#include "gtest/gtest.h"
namespace llvm {
namespace {
void anchor() { … }
static std::string libPath(const std::string Name = "InlineAdvisorPlugin") { … }
class FooOnlyInlineAdvisor : public InlineAdvisor { … };
static InlineAdvisor *fooOnlyFactory(Module &M, FunctionAnalysisManager &FAM,
InlineParams Params, InlineContext IC) { … }
struct CompilerInstance { … };
StringRef TestIRS[] = …;
}
TEST(PluginInlineAdvisorTest, PluginLoad) { … }
TEST(PluginInlineAdvisorTest, CustomAdvisor) { … }
}