diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionComparator.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionComparator.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionComparator.cpp b/contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionComparator.cpp index 326864803d7c..06596f7b04e1 100644 --- a/contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionComparator.cpp +++ b/contrib/llvm-project/llvm/lib/Transforms/Utils/FunctionComparator.cpp @@ -58,6 +58,14 @@ int FunctionComparator::cmpNumbers(uint64_t L, uint64_t R) const { return 0; } +int FunctionComparator::cmpAligns(Align L, Align R) const { + if (L.value() < R.value()) + return -1; + if (L.value() > R.value()) + return 1; + return 0; +} + int FunctionComparator::cmpOrderings(AtomicOrdering L, AtomicOrdering R) const { if ((int)L < (int)R) return -1; @@ -556,13 +564,12 @@ int FunctionComparator::cmpOperations(const Instruction *L, if (int Res = cmpTypes(AI->getAllocatedType(), cast<AllocaInst>(R)->getAllocatedType())) return Res; - return cmpNumbers(AI->getAlignment(), cast<AllocaInst>(R)->getAlignment()); + return cmpAligns(AI->getAlign(), cast<AllocaInst>(R)->getAlign()); } if (const LoadInst *LI = dyn_cast<LoadInst>(L)) { if (int Res = cmpNumbers(LI->isVolatile(), cast<LoadInst>(R)->isVolatile())) return Res; - if (int Res = - cmpNumbers(LI->getAlignment(), cast<LoadInst>(R)->getAlignment())) + if (int Res = cmpAligns(LI->getAlign(), cast<LoadInst>(R)->getAlign())) return Res; if (int Res = cmpOrderings(LI->getOrdering(), cast<LoadInst>(R)->getOrdering())) @@ -578,8 +585,7 @@ int FunctionComparator::cmpOperations(const Instruction *L, if (int Res = cmpNumbers(SI->isVolatile(), cast<StoreInst>(R)->isVolatile())) return Res; - if (int Res = - cmpNumbers(SI->getAlignment(), cast<StoreInst>(R)->getAlignment())) + if (int Res = cmpAligns(SI->getAlign(), cast<StoreInst>(R)->getAlign())) return Res; if (int Res = cmpOrderings(SI->getOrdering(), cast<StoreInst>(R)->getOrdering())) |