diff options
author | Cameron Zwarich <zwarich@apple.com> | 2011-02-25 01:11:01 +0000 |
---|---|---|
committer | Cameron Zwarich <zwarich@apple.com> | 2011-02-25 01:11:01 +0000 |
commit | 4c82cd21ed47db332cbf74627f6a761d2a6326d2 (patch) | |
tree | 458f0a727e207bfde4f2285e36c768e8fac4dda1 /llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | |
parent | d2f3041c7f60e622c3e14b5b948f06a66ce8e8b8 (diff) | |
download | bcm5719-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.cpp | 1 |
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); } |