aboutsummaryrefslogtreecommitdiffstats
path: root/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
commit8fbbdca45c0eb2ef4a434cdef883f5c36516376c (patch)
tree19eab9d6eca4d21a4e6994eff635d2666dd301d0 /lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
parent33b554795def5cd50f961721acbb33246226824b (diff)
downloadexternal_llvm-8fbbdca45c0eb2ef4a434cdef883f5c36516376c.zip
external_llvm-8fbbdca45c0eb2ef4a434cdef883f5c36516376c.tar.gz
external_llvm-8fbbdca45c0eb2ef4a434cdef883f5c36516376c.tar.bz2
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
Diffstat (limited to 'lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp')
-rw-r--r--lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp b/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
index 3cab795..2ae3286 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);
}