I just want to point out that this is a correctness fix too: clang's output should be deterministic, including the order in which we output metadata, which affects -emit-llvm. http://reviews.llvm.org/D4176