There is currently a driver test but no test for its effect on linkageName & pass pipeline.
What's this test for? (I'd hesitate to add a test that has to run llvm-profdata and use that profile, etc) I guess it's a different codepath that sets up the pass pipeline for this case compared to the previous case?
Test that -fdebug-info-for-profiling affects both driver -fprofile-use (CC1 -fprofile-instrument-use-path) and driver -fprofile-generate (CC1 -fprofile-instrument-path). IIUC: generate/use needs to have compatible flags so that their CFG is identical.
The profile reading pass will error on an invalid file (e.g. an empty file).
I hesitated a bit for the usage of llvm-profdata, but I searched for llvm-profdata and there are 20+ other tests using llvm-profdata so I believe it is fine.