From 8fbbdca45c0eb2ef4a434cdef883f5c36516376c Mon Sep 17 00:00:00 2001 From: Cameron Zwarich Date: Fri, 25 Feb 2011 01:11:01 +0000 Subject: Set NumSignBits to 1 if KnownZero/KnownOne are being zero extended. In theory it is possible to do better if the high bit is set in either KnownZero/KnownOne, but in practice NumSignBits is always 1 when we are zero extending because nothing is known about that register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126465 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp') diff --git a/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp b/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp index 3cab795bae..2ae3286829 100644 --- a/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp +++ b/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp @@ -270,6 +270,7 @@ FunctionLoweringInfo::GetLiveOutRegInfo(unsigned Reg, unsigned BitWidth) { return NULL; if (BitWidth > LOI->KnownZero.getBitWidth()) { + LOI->NumSignBits = 1; LOI->KnownZero = LOI->KnownZero.zextOrTrunc(BitWidth); LOI->KnownOne = LOI->KnownOne.zextOrTrunc(BitWidth); } -- cgit v1.2.3-18-g5258