Fixed typo in clang_delta README.
Merge pull request #4 from annulen/typo

Fixed typo in clang_delta README.
update llvm/clang version which works for clang_delta

currently clang_delta works with llvm/clang 3.1
added a new pass simplify-struct

this pass tries to replace a struct with its field if it
has one struct field, for example, the pass transforms
the following code:
  struct S0 {
    int f1;
    int f2;
  };
  struct S1 {
    struct S0 f1;
  };
  int foo(struct S1 p) {
    return p.f1.f2;
  }

to:
  struct S0 {
    int f1;
    int f2;
  };
  struct S0 ;
  int foo(struct S0 p) {
    return p.f2;
  }
minor fix

forgot to initialize a class member
added one more pass reduce-pointer-pairs

try to reduce two pointers if they follow the pattern below:
  int *p1;
  int **p2 = &p1;
where p1 and p2 are not used anywhere else except as operands
of comparison operators. After the transformation, the above
code snippet will be changed to:
  int p1;
  int *p2 = &p1;
updated TODO
added a llvm/clang revision which is known to work with clang_delta
another simple pass

replace an undefined function with another one with the same signature
fixed a silly bug
added another pass --replace-array-index-var

if we have ArraySubscriptExprs inside a for loop and these ArraySubscriptExprs
are indexed by a loop inducing var, then replace the indices with constants
from 0 to (sz - 1), where sz is the size of the array. Also, to decrease
the change of generating too much transformations, this pass only applies
to one-dimensional arrays with size less than 15.
removed a bad assertion
replace VisitCallExpr with VisitDeclRefExpr
bug fix

omit implicit params which don't exist in the source
rename vars even if there are more than 26 of them
omit overloaded ==

avoid potential code bloat
minor bug fix

don't need to rename vars if all have valid names
Fixed build with clang trunk.
Added remove-unused-enum-member pass.
Merge pull request #6 from annulen/remove-unused-enum-member

Remove unused enum member