#include "ReduceMetadata.h"
#include "Delta.h"
#include "llvm/ADT/Sequence.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/IntrinsicInst.h"
usingnamespacellvm;
extern cl::OptionCategory LLVMReduceOptions;
static cl::opt<bool> AggressiveMetadataReduction(
"aggressive-named-md-reduction",
cl::desc("Reduce named metadata without taking its type into account"),
cl::cat(LLVMReduceOptions));
static bool shouldKeepDebugIntrinsicMetadata(Instruction &I, MDNode &MD) { … }
static bool shouldKeepDebugNamedMetadata(NamedMDNode &MD) { … }
static constexpr StringLiteral ListNamedMetadata[] = …;
static void reduceNamedMetadataOperands(Oracle &O, ReducerWorkItem &WorkItem) { … }
static void extractMetadataFromModule(Oracle &O, ReducerWorkItem &WorkItem) { … }
void llvm::reduceMetadataDeltaPass(TestRunner &Test) { … }
void llvm::reduceNamedMetadataDeltaPass(TestRunner &Test) { … }