1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 11:33:24 +02:00
llvm-mirror/lib
Benjamin Kramer b739613711 SimplifyCFG: Turn switches into sub+icmp+branch if possible.
This makes the job of the later optzn passes easier, allowing the vast amount of
icmp transforms to chew on it.

We transform 840 switches in gcc.c, leading to a 16k byte shrink of the resulting
binary on i386-linux.

The testcase from README.txt now compiles into
  decl  %edi
  cmpl  $3, %edi
  sbbl  %eax, %eax
  andl  $1, %eax
  ret

llvm-svn: 124724
2011-02-02 15:56:22 +00:00
..
Analysis Add a m_Undef pattern for convenience. This is so that code that uses 2011-02-01 09:06:20 +00:00
Archive Archive: Fix temp path names. 2011-01-17 16:43:30 +00:00
AsmParser Move unnamed_addr after the function arguments on Sabre's request. 2011-01-25 19:09:56 +00:00
Bitcode FixedNumOperandTraits and VariadicOperandTraits assumed that, given a 2011-01-11 15:07:38 +00:00
CodeGen Given a pair of floating point load and store, if there are no other uses of 2011-02-02 01:06:55 +00:00
CompilerDriver Support/Path: Deprecate PathV1::exists and replace all uses with PathV2::fs::exists. 2011-01-10 02:34:23 +00:00
ExecutionEngine Fix libffi usage when it is on a custom path. 2011-01-28 16:49:05 +00:00
Linker Correctly merge available_externally and regular definitions when they have 2011-02-01 05:33:52 +00:00
MC Fix bogus assert condition noticed by Csaba Raduly. 2011-02-01 01:50:49 +00:00
Object Object: Fix type punned pointer issues by making DataRefImpl a union and using intptr_t. 2011-01-21 02:27:02 +00:00
Support Remove NoVendor and NoOS, added in commit 123990, from Triple. While it 2011-02-02 10:08:38 +00:00
Target SimplifyCFG: Turn switches into sub+icmp+branch if possible. 2011-02-02 15:56:22 +00:00
Transforms SimplifyCFG: Turn switches into sub+icmp+branch if possible. 2011-02-02 15:56:22 +00:00
VMCore Make SwitchInst::removeCase() more efficient. 2011-02-01 09:22:34 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00