From: Dan Gohman Date: Mon, 16 Aug 2010 16:25:35 +0000 (+0000) Subject: Micro-optimize SCEVConstant comparison. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e28d7922f7a3338b1d0dfec4158584d4dd6f4031;p=oota-llvm.git Micro-optimize SCEVConstant comparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111142 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 73bc8b17276..56777c3adb2 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -590,12 +590,12 @@ namespace { // Compare constant values. if (const SCEVConstant *LC = dyn_cast(LHS)) { const SCEVConstant *RC = cast(RHS); - const ConstantInt *LCC = LC->getValue(); - const ConstantInt *RCC = RC->getValue(); - unsigned LBitWidth = LCC->getBitWidth(), RBitWidth = RCC->getBitWidth(); + const APInt &LA = LC->getValue()->getValue(); + const APInt &RA = RC->getValue()->getValue(); + unsigned LBitWidth = LA.getBitWidth(), RBitWidth = RA.getBitWidth(); if (LBitWidth != RBitWidth) return LBitWidth < RBitWidth; - return LCC->getValue().ult(RCC->getValue()); + return LA.ult(RA); } // Compare addrec loop depths.