Permalink
Commits on Sep 29, 2012
  1. Rewrite header is now inside folder Core, library name changed.

    Adjust include directives and library name which is now RewriteCode.
    Run autoreconf to update Makefiles and configure scripts.
    committed Sep 29, 2012
Commits on Sep 27, 2012
Commits on Sep 21, 2012
Commits on Sep 14, 2012
Commits on Sep 10, 2012
  1. small bug fix

    chenyang78 committed Sep 10, 2012
Commits on Sep 9, 2012
  1. A transformation to Remove an addr-taken operator if

       * the subexpr is type of pointer, or
       * the subexpr is type of integer and the addr-taken operator is
    an operand of a comparison operator.
    chenyang78 committed Sep 9, 2012
  2. another transformation to remove pointers

    Only reduce the pointer level of a var if this var is
    not referenced or dereferenced except being used as an operand of
    a comparison operator where another operand is an LiteralInteger.
    We only change the definition of this var.
    chenyang78 committed Sep 9, 2012
  3. Change an array var to a corresponding non-array one.

    For example, replace int a[10]; with int a;. Conditions are:
      * Array dimension is 1, and
      * array var is not referenced except via ArraySubscriptExpr
    
    All relevant ArraySubscriptExpr[s] will be rewritten accordingly.
    chenyang78 committed Sep 9, 2012
Commits on Sep 8, 2012
Commits on Sep 7, 2012
  1. keep RetExpr for a ReturnStmt

    Instead of replace an entire ReturnStmt with return, let's keep RetExpr.
    The reason is that RetExpr could have side-effects and these side-effects
    could cause bugs. But we still could remove "return" keyword. If the
    transformation succeeds, subsequent pass-line will remove RetExpr.
    chenyang78 committed Sep 7, 2012
Commits on Sep 6, 2012
  1. handle a special case

    In some cases, a struct has only one field, and this field
    is unreferenced. We cannot simply remove this field because
    an empty struct would make the bug disappear. But we can
    replace the entire struct with type int
    chenyang78 committed Sep 6, 2012
Commits on Aug 14, 2012
  1. remove `engine` from llvm-config

    Due to some changes on llvm's libraries, the output
    of running `llvm-config engine` doesn't include some
    libs which are needed for compiling clang_delta, e.g.,
    libLLVMMSP430Desc.a, libLLVMMSP430AsmPrinter.a, etc.
    
    Fixed it by obtaining all llvm libs.
    chenyang78 committed Aug 14, 2012
Commits on Jul 12, 2012
  1. fixed a bad transformation

    handle cases where two variables from different scope have
    the same name, like
    
    void foo(void)
    {
      unsigned val = 1;
      {
        unsigned val = val;
        val++;
      }
    }
    chenyang78 committed Jul 12, 2012
  2. make clang_delta work with clang TOT again

    clang version 3.2 (trunk 160132)
    chenyang78 committed Jul 12, 2012
Commits on Jul 11, 2012
  1. fixed a crash

    for code like:
    typedef union U MYUNION
    MYUNION u;
    
    don't replace a typedef type MYUNION
    chenyang78 committed Jul 11, 2012
  2. got clang_delta work with Clang TOT

    added a missing header file clang/AST/ASTContext.h
    chenyang78 committed Jul 11, 2012
Commits on Jul 10, 2012
Commits on Jul 9, 2012
Commits on Jul 4, 2012
  1. one more note to self

    regehr committed Jul 4, 2012
  2. notes to self

    regehr committed Jul 4, 2012
Commits on Jul 3, 2012
  1. notes to self

    regehr committed Jul 3, 2012
  2. this isn't completely tested, but make better use of CPU time by

    relaxing the requirement that we retire completed speculative
    processes in the order in which they were forked
    regehr committed Jul 3, 2012
  3. fix a bug, random improvements

    regehr committed Jul 3, 2012
  4. replace stupid pass sorting code with proper list generators (which

    I only just now learned to build in perl)
    regehr committed Jul 3, 2012
Commits on Jul 2, 2012
  1. send a friendlier signal since the perl docs say SIGKILL should be

    used on subprocesses only in dire circumstances.
    regehr committed Jul 2, 2012
  2. duplicate some passes on the idea that line-delta is best poised to

    decimate large C++ inputs, and also failed tests are now cheaper
    since they execute in parallel.
    regehr committed Jul 2, 2012
  3. output tweaks

    regehr committed Jul 2, 2012