llvm-6502/lib
Chris Lattner a48654ef23 Implement trivial unswitching for switch stmts. This allows us to trivial
unswitch this loop on 2 before sweating to unswitch on 1/3.

void test4(int N, int i, int C, int*P, int*Q) {
  int j;
  for (j = 0; j < N; ++j) {
    switch (C) {                // general unswitching.
    default: P[i+j] = 0; break;
    case 1: Q[i+j] = 0; break;
    case 3: P[i+j] = Q[i+j]; break;
    case 2: break;              //  TRIVIAL UNSWITCH on C==2
    }
  }
}


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26223 91177308-0d34-0410-b5e6-96231b3b80d8
2006-02-15 22:52:05 +00:00
..
Analysis add an assert 2006-02-14 20:14:17 +00:00
Archive
AsmParser Convert this over to work with the new makefiles 2006-02-15 07:22:58 +00:00
Bytecode Fix auto-upgrade of intrinsics to work properly with both assembly and 2006-01-27 11:49:27 +00:00
CodeGen Remove an unused function parameter. 2006-02-15 22:12:35 +00:00
Debugger
ExecutionEngine simplify this code now that each constant pool entry is not separately allocated 2006-02-09 04:49:59 +00:00
Linker
Support Let bugpoint work on sparc with v9 instructions enabled. 2006-02-04 05:02:27 +00:00
System Add AddSymbol() method to DynamicLibrary to work around Windows limitation 2006-01-30 04:33:51 +00:00
Target Remove an entry. 2006-02-15 22:14:34 +00:00
Transforms Implement trivial unswitching for switch stmts. This allows us to trivial 2006-02-15 22:52:05 +00:00
VMCore Another work around for the 'symbols with different types can have the same 2006-02-13 21:43:26 +00:00
Makefile