llvm-6502/lib/Transforms
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
..
Hello Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Instrumentation Add explicit #includes of <iostream> 2006-01-22 22:53:01 +00:00
IPO fix a bunch of alpha regressions. see bug 709 2006-02-15 21:13:37 +00:00
Scalar Implement trivial unswitching for switch stmts. This allows us to trivial 2006-02-15 22:52:05 +00:00
Utils Canonicalize inner loops before outer loops. Inner loop canonicalization 2006-02-14 23:06:02 +00:00
ExprTypeConvert.cpp Add explicit #includes of <iostream> 2006-01-22 22:53:01 +00:00
LevelRaise.cpp Make iostream #inclusion explicit 2006-01-22 23:32:06 +00:00
Makefile DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now 2005-10-24 02:26:13 +00:00
TransformInternals.cpp Remove dead #include 2005-10-29 04:41:30 +00:00
TransformInternals.h ConvertibleToGEP always returns 0, remove some old crufty code which 2005-07-26 16:38:28 +00:00