#include "ReduceOperandBundles.h"
#include "Delta.h"
#include "TestRunner.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Sequence.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <iterator>
#include <vector>
namespace llvm {
class Module;
}
usingnamespacellvm;
namespace {
class OperandBundleRemapper : public InstVisitor<OperandBundleRemapper> { … };
struct OperandBundleCounter : public InstVisitor<OperandBundleCounter> { … };
}
static void maybeRewriteCallWithDifferentBundles(
CallBase *OrigCall, ArrayRef<unsigned> OperandBundlesToKeepIndexes) { … }
static void extractOperandBundesFromModule(Oracle &O,
ReducerWorkItem &WorkItem) { … }
void llvm::reduceOperandBundesDeltaPass(TestRunner &Test) { … }