summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2011-02-25 01:11:01 +0000
committerCameron Zwarich <zwarich@apple.com>2011-02-25 01:11:01 +0000
commit4c82cd21ed47db332cbf74627f6a761d2a6326d2 (patch)
tree458f0a727e207bfde4f2285e36c768e8fac4dda1 /llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
parentd2f3041c7f60e622c3e14b5b948f06a66ce8e8b8 (diff)
downloadbcm5719-llvm-4c82cd21ed47db332cbf74627f6a761d2a6326d2.tar.gz
bcm5719-llvm-4c82cd21ed47db332cbf74627f6a761d2a6326d2.zip
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. llvm-svn: 126465
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp b/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
index 3cab795baeb..2ae3286829d 100644
--- a/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
+++ b/llvm/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);
}
OpenPOWER on IntegriCloud