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 | 8fbbdca45c0eb2ef4a434cdef883f5c36516376c (patch) | |
tree | 19eab9d6eca4d21a4e6994eff635d2666dd301d0 | |
parent | 33b554795def5cd50f961721acbb33246226824b (diff) | |
download | external_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
-rw-r--r-- | lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 1 |
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); } |