merge update from llvm-mirror:master