We emit an extra byte in the name field of function mapping records. The
extra null byte confuses llvm InstrProfReader, resulting in a loss of
coverage information.
We need execution tests to prevent this sort of issue from arising in
the future. Before that can happen, swift needs to start maintaining its
own branches of compiler-rt (this is SR-601).
Swift PR 1051, rdar://problem/24267336
(cherry picked from commit a476c2828a)
If multiple swift files are compiled together, then guessing as to the
file when we emit IR obviously doesn't work. Find the filename when we
generate a function's coverage map and propagate it through SIL.
Swift SVN r25436