llvm-6502/lib
Benjamin Kramer 66821d9020 InstCombine: Turn (zext A) == (B & (1<<X)-1) into A == (trunc B), narrowing the compare.
This saves a cast, and zext is more expensive on platforms with subreg support
than trunc is. This occurs in the BSD implementation of memchr(3), see PR12750.
On the synthetic benchmark from that bug stupid_memchr and bsd_memchr have the
same performance now when not inlining either function.

stupid_memchr: 323.0us
bsd_memchr: 321.0us
memchr: 479.0us

where memchr is the llvm-gcc compiled bsd_memchr from osx lion's libc. When
inlining is enabled bsd_memchr still regresses down to llvm-gcc memchr time,
I haven't fully understood the issue yet, something is grossly mangling the
loop after inlining.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158297 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-10 20:35:00 +00:00
..
Analysis Round 2 of dead private variable removal. 2012-06-06 19:47:08 +00:00
Archive
AsmParser switch AttrListPtr::get to take an ArrayRef, simplifying a lot of clients. 2012-05-28 01:47:44 +00:00
Bitcode PR1255: case ranges. 2012-06-02 09:42:43 +00:00
CodeGen Allocate the contents of DwarfDebug's StringMaps in a single big BumpPtrAllocator. 2012-06-09 10:34:15 +00:00
DebugInfo Fix a C++11 UDL conflict. 2012-04-04 20:33:56 +00:00
ExecutionEngine Round 2 of dead private variable removal. 2012-06-06 19:47:08 +00:00
Linker Supply a C interface to the "LinkModules" method. 2012-05-09 08:55:40 +00:00
MC Add accessors for all private members of DisasmContext. 2012-06-06 20:45:10 +00:00
Object Convert comments to proper Doxygen comments. 2012-06-09 00:01:45 +00:00
Support Disabling a spurious deprecation warning about using PathV1 from within the PathV1 implementation file. 2012-06-09 13:59:29 +00:00
TableGen Fix 80 columns. 2012-06-01 00:58:41 +00:00
Target Enable ILP scheduling for all nodes by default on PPC. 2012-06-10 19:32:29 +00:00
Transforms InstCombine: Turn (zext A) == (B & (1<<X)-1) into A == (trunc B), narrowing the compare. 2012-06-10 20:35:00 +00:00
VMCore Add AutoUpgrade support for the SSE4 ptest intrinsics. 2012-06-10 18:42:51 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile