diff --git a/llvm/lib/Transforms/Scalar/Reassociate.cpp b/llvm/lib/Transforms/Scalar/Reassociate.cpp index 29d1ba406ae4..404daa741e1e 100644 --- a/llvm/lib/Transforms/Scalar/Reassociate.cpp +++ b/llvm/lib/Transforms/Scalar/Reassociate.cpp @@ -207,13 +207,9 @@ void ReassociatePass::canonicalizeOperands(Instruction *I) { Value *LHS = I->getOperand(0); Value *RHS = I->getOperand(1); - unsigned LHSRank = getRank(LHS); - unsigned RHSRank = getRank(RHS); - - if (isa(RHS)) + if (LHS == RHS || isa(RHS)) return; - - if (isa(LHS) || RHSRank < LHSRank) + if (isa(LHS) || getRank(RHS) < getRank(LHS)) cast(I)->swapOperands(); }