[llvm] r213295 - Rectify r213231. Use proper version of 'ComputeNumSignBits'.

Suyog Sarda suyog.sarda at samsung.com
Thu Jul 17 12:07:00 PDT 2014


Author: suyog
Date: Thu Jul 17 14:07:00 2014
New Revision: 213295

URL: http://llvm.org/viewvc/llvm-project?rev=213295&view=rev
Log:
Rectify r213231. Use proper version of 'ComputeNumSignBits'.

Earlier when the code was in InstCombine, we were calling the version of ComputeNumSignBits in InstCombine.h
that automatically added the DataLayout* before calling into ValueTracking.
When the code moved to InstSimplify, we are calling into ValueTracking directly without passing in the DataLayout*.
This patch rectifies the same by passing DataLayout in ComputeNumSignBits.


Modified:
    llvm/trunk/lib/Analysis/InstructionSimplify.cpp

Modified: llvm/trunk/lib/Analysis/InstructionSimplify.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/InstructionSimplify.cpp?rev=213295&r1=213294&r2=213295&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/InstructionSimplify.cpp (original)
+++ llvm/trunk/lib/Analysis/InstructionSimplify.cpp Thu Jul 17 14:07:00 2014
@@ -1347,7 +1347,7 @@ static Value *SimplifyAShrInst(Value *Op
     return X;
 
   // Arithmetic shifting an all-sign-bit value is a no-op.
-  unsigned NumSignBits = ComputeNumSignBits(Op0);
+  unsigned NumSignBits = ComputeNumSignBits(Op0, Q.DL);
   if (NumSignBits == Op0->getType()->getScalarSizeInBits())
     return Op0;
 





More information about the llvm-commits mailing list