#include "llvm/Transforms/Utils/FunctionComparator.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/Attributes.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <utility>
usingnamespacellvm;
#define DEBUG_TYPE …
int FunctionComparator::cmpNumbers(uint64_t L, uint64_t R) const { … }
int FunctionComparator::cmpAligns(Align L, Align R) const { … }
int FunctionComparator::cmpOrderings(AtomicOrdering L, AtomicOrdering R) const { … }
int FunctionComparator::cmpAPInts(const APInt &L, const APInt &R) const { … }
int FunctionComparator::cmpAPFloats(const APFloat &L, const APFloat &R) const { … }
int FunctionComparator::cmpMem(StringRef L, StringRef R) const { … }
int FunctionComparator::cmpAttrs(const AttributeList L,
const AttributeList R) const { … }
int FunctionComparator::cmpMetadata(const Metadata *L,
const Metadata *R) const { … }
int FunctionComparator::cmpMDNode(const MDNode *L, const MDNode *R) const { … }
int FunctionComparator::cmpInstMetadata(Instruction const *L,
Instruction const *R) const { … }
int FunctionComparator::cmpOperandBundlesSchema(const CallBase &LCS,
const CallBase &RCS) const { … }
int FunctionComparator::cmpConstants(const Constant *L,
const Constant *R) const { … }
int FunctionComparator::cmpGlobalValues(GlobalValue *L, GlobalValue *R) const { … }
int FunctionComparator::cmpTypes(Type *TyL, Type *TyR) const { … }
int FunctionComparator::cmpOperations(const Instruction *L,
const Instruction *R,
bool &needToCmpOperands) const { … }
int FunctionComparator::cmpGEPs(const GEPOperator *GEPL,
const GEPOperator *GEPR) const { … }
int FunctionComparator::cmpInlineAsm(const InlineAsm *L,
const InlineAsm *R) const { … }
int FunctionComparator::cmpValues(const Value *L, const Value *R) const { … }
int FunctionComparator::cmpBasicBlocks(const BasicBlock *BBL,
const BasicBlock *BBR) const { … }
int FunctionComparator::compareSignature() const { … }
int FunctionComparator::compare() { … }