upstream changes
updated llvm to 3.3