Lines Matching defs:FunctionComparator

173 /// FunctionComparator - Compares two functions to determine whether or not
177 class FunctionComparator {
179 FunctionComparator(const Function *F1, const Function *F2,
434 /// As follows from FunctionComparator::compare(), we do CFG walk: we start
456 FunctionComparator::FunctionHash Hash;
460 : F(F), Hash(FunctionComparator::functionHash(*F)) {}
462 FunctionComparator::FunctionHash getHash() const { return Hash; }
474 int FunctionComparator::cmpNumbers(uint64_t L, uint64_t R) const {
480 int FunctionComparator::cmpAPInts(const APInt &L, const APInt &R) const {
488 int FunctionComparator::cmpAPFloats(const APFloat &L, const APFloat &R) const {
507 int FunctionComparator::cmpMem(StringRef L, StringRef R) const {
517 int FunctionComparator::cmpAttrs(const AttributeSet L,
541 int FunctionComparator::cmpRangeMetadata(const MDNode* L,
568 int FunctionComparator::cmpOperandBundlesSchema(const Instruction *L,
599 int FunctionComparator::cmpConstants(const Constant *L, const Constant *R) {
796 int FunctionComparator::cmpGlobalValues(GlobalValue *L, GlobalValue* R) {
803 int FunctionComparator::cmpTypes(Type *TyL, Type *TyR) const {
898 int FunctionComparator::cmpOperations(const Instruction *L,
1051 int FunctionComparator::cmpGEPs(const GEPOperator *GEPL,
1083 int FunctionComparator::cmpInlineAsm(const InlineAsm *L,
1109 int FunctionComparator::cmpValues(const Value *L, const Value *R) {
1151 int FunctionComparator::cmpBasicBlocks(const BasicBlock *BBL,
1200 int FunctionComparator::compare() {
1314 FunctionComparator::FunctionHash FunctionComparator::functionHash(Function &F) {
1322 // Walk the blocks in the same order as FunctionComparator::cmpBasicBlocks(),
1374 FunctionComparator FCmp(LHS.getFunc(), RHS.getFunc(), GlobalNumbers);
1461 int Res1 = FunctionComparator(F1, F2, &GlobalNumbers).compare();
1462 int Res2 = FunctionComparator(F2, F1, &GlobalNumbers).compare();
1483 int Res3 = FunctionComparator(F1, F3, &GlobalNumbers).compare();
1484 int Res4 = FunctionComparator(F2, F3, &GlobalNumbers).compare();
1524 std::vector<std::pair<FunctionComparator::FunctionHash, Function *>>
1528 HashedFuncs.push_back({FunctionComparator::functionHash(Func), &Func});
1534 [](const std::pair<FunctionComparator::FunctionHash, Function *> &a,
1535 const std::pair<FunctionComparator::FunctionHash, Function *> &b) {
1772 assert(FunctionComparator(F, G, &GlobalNumbers).compare() == 0 &&