From: Suyog Sarda Date: Thu, 17 Jul 2014 19:07:00 +0000 (+0000) Subject: Rectify r213231. Use proper version of 'ComputeNumSignBits'. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=adf8ae4c10441eff11e98e3fc7ab123a55743fea;p=oota-llvm.git 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213295 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/InstructionSimplify.cpp b/lib/Analysis/InstructionSimplify.cpp index 6ac1ae8d5ed..7a820a58f6f 100644 --- a/lib/Analysis/InstructionSimplify.cpp +++ b/lib/Analysis/InstructionSimplify.cpp @@ -1347,7 +1347,7 @@ static Value *SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact, 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;