#include "llvm/Transforms/Instrumentation/PGOInstrumentation.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/IR/Module.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/ProfileData/InstrProf.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <tuple>
namespace {
usingnamespacellvm;
_;
DoDefault;
Invoke;
NotNull;
Ref;
Return;
Sequence;
Test;
TestParamInfo;
Values;
WithParamInterface;
template <typename Derived> class MockAnalysisHandleBase { … };
class MockModuleAnalysisHandle
: public MockAnalysisHandleBase<MockModuleAnalysisHandle> { … };
struct PGOInstrumentationGenTest
: public Test,
WithParamInterface<std::tuple<StringRef, StringRef>> { … };
static constexpr StringRef CodeWithFuncDefs = …;
static constexpr StringRef CodeWithFuncDecls = …;
static constexpr StringRef CodeWithGlobals = …;
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(PGOInstrumentationGenTest, Instrumented) { … }
}