llvm-6502/test
Marcello Maggioni 5c98f14b78 Two case switch to select optimization
This optimization tries to convert switch instructions that are used to select a value with only 2 unique cases + default block
to a select or a couple of selects (depending if the default block is reachable or not).

The typical case this optimization wants to be able to optimize is this one:

Example:
switch (a) {
  case 10:                %0 = icmp eq i32 %a, 10
    return 10;            %1 = select i1 %0, i32 10, i32 4
  case 20:        ---->   %2 = icmp eq i32 %a, 20
    return 2;             %3 = select i1 %2, i32 2, i32 %1
  default:
    return 4;
}

It also sets the base for further optimizations that are planned and being reviewed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@219223 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-07 18:16:44 +00:00
..
Analysis [BasicAA] Revert "Revert r218714 - Make better use of zext and sign information." 2014-10-06 18:37:59 +00:00
Assembler
Bindings
Bitcode
BugPoint
CodeGen [mips] Return {f128} correctly for N32/N64. 2014-10-07 09:29:59 +00:00
DebugInfo For biendian targets like ARM and AArch64, it is useful to have the 2014-10-06 07:06:03 +00:00
ExecutionEngine
Feature
FileCheck
Instrumentation [asan-asm-instrumentation] CFI directives are generated for .S files. 2014-10-07 11:03:09 +00:00
Integer
JitListener
Linker [dwarfdump] Print the name for referenced specification of abstract_origin DIEs. 2014-10-06 03:36:31 +00:00
LTO
MC [X86] Fix a bug where the disassembler was ignoring the VEX.W bit in 32-bit mode for certain instructions it shouldn't. 2014-10-07 07:29:50 +00:00
Object
Other
TableGen
tools gold plugin: Handle gold selecting a linkonce GV when a weak is present. 2014-10-07 04:06:13 +00:00
Transforms Two case switch to select optimization 2014-10-07 18:16:44 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg llvm/test/lit.cfg: Suppress dwarf stuff for targeting x86_64-mingw32 while investigating since r219108. 2014-10-06 23:29:06 +00:00
lit.site.cfg.in
Makefile
Makefile.tests
TestRunner.sh