llvm-6502/lib/Transforms
Benjamin Kramer 56442dfdcf 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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124724 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-02 15:56:22 +00:00
..
Hello Since the Hello pass is built as a loadable dynamic library, don't try to convert it to new-style registration yet. 2010-10-07 00:31:16 +00:00
InstCombine Conservatively, clear optional flags, such as nsw, when performing 2011-02-02 02:05:46 +00:00
Instrumentation Implementation of path profiling. 2011-01-29 01:09:53 +00:00
IPO Remove wasteful caching. This isn't needed for correctness because any function 2011-02-02 05:31:01 +00:00
Scalar Fix reassociate to clear optional flags, such as nsw. 2011-02-02 02:02:34 +00:00
Utils SimplifyCFG: Turn switches into sub+icmp+branch if possible. 2011-02-02 15:56:22 +00:00
Makefile Revert r100896 and around - this breaks the only mingw32 buildbot we have. 2010-04-15 19:51:42 +00:00