Add -fbuild-session-file as an alternative to -fbuild-session-timestamp

Build systems tend to traffic in files and modification times, so having
them touch a file at the beginning of the build can be easier than
having them update the compile command they use every time they build.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214577 91177308-0d34-0410-b5e6-96231b3b80d8
Actually fix problem with modules buildbot this time.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214579 91177308-0d34-0410-b5e6-96231b3b80d8
Notional simplification: defer emitting deferred inline methods until we finish
emitting everything, rather than potentially doing this reentrantly.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214582 91177308-0d34-0410-b5e6-96231b3b80d8
InstrProf: Update for LLVM API change

We've added support for a multiple functions with the same name in
LLVM's profile data, so the lookup returning the function hash it
found doesn't make sense anymore. Update to pass in the hash we
expect.

This also adds a test that the version 1 format is still readable,
since the new API is expected to handle that.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@214586 91177308-0d34-0410-b5e6-96231b3b80d8