llvm-6502/lib
Duncan Sands d462ba8539 Teach LegalizeTypes how to expand and promote CTLZ,
CTTZ and CTPOP.  The expansion code differs from
that in LegalizeDAG in that it chooses to take the
CTLZ/CTTZ count from the Hi/Lo part depending on
whether the Hi/Lo value is zero, not on whether
CTLZ/CTTZ of Hi/Lo returned 32 (or whatever the
width of the type is) for it.  I made this change
because the optimizers may well know that Hi/Lo
is zero and exploit it.  The promotion code for
CTTZ also differs from that in LegalizeDAG: it
uses an "or" to get the right result when the
original value is zero, rather than using a compare
and select.  This also means the value doesn't
need to be zero extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47075 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 18:01:53 +00:00
..
Analysis Fix typo. Thanks to Duncan for noticing. 2008-02-13 12:21:32 +00:00
Archive Use empty() instead of comparing size() with zero. 2008-01-29 13:02:09 +00:00
AsmParser Back out mods to llvmAsmParser, incorrectly committed 2008-01-30 03:10:00 +00:00
Bitcode Use empty() instead of comparing size() with zero. 2008-01-29 13:02:09 +00:00
CodeGen Teach LegalizeTypes how to expand and promote CTLZ, 2008-02-13 18:01:53 +00:00
Debugger Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
ExecutionEngine Use empty() instead of comparing size() with zero. 2008-01-29 13:02:09 +00:00
Linker Remove attribution from file headers, per discussion on llvmdev. 2007-12-29 20:36:04 +00:00
Support Added "Profile" method to APFloat for use with FoldingSet. 2008-02-11 17:24:50 +00:00
System Remove use of ltdl 2008-02-13 17:11:39 +00:00
Target Fix the PPC JIT regressions by encoding zeroreg as 0 for BLR. 2008-02-13 17:24:14 +00:00
Transforms remove some dead code. 2008-02-13 17:18:26 +00:00
VMCore check that terminators only occur at the end of a block. This catches the 2008-02-09 01:06:01 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00