This is no longer needed, we can add __llvm_profile_runtime directly
to llvm.compiler.used or llvm.used to achieve the same effect.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
This broke the check-profile tests on Mac, see e.g. http://green.lab.llvm.org/green/job/clang-stage1-RA/19301/
There are no Mac bots on the main buildbot waterfall, but I thought Apple were watching Green Dragon?
Reverted in f50aef745c3ba981f3d0bf118b809d0c3880a490 to unbreak the builds.
I'm getting ERR_CONNECTION_REFUSED when trying to open that URL, how I can see the error?
Reverted in f50aef745c3ba981f3d0bf118b809d0c3880a490 to unbreak the builds.
Turned out to be an issue with corporate network since Green Dragon doesn't use HTTPS, I've managed to open the page on a personal machine.
@vsk I managed to reproduce this on Mac and it seems like __llvm_profile_runtime_user is needed in Mach-O. With this change, I see an undefined reference to ___llvm_profile_runtime in the object file, but that doesn't cause the profile runtime to be linked and that symbol is stripped from the binary. I'm not familiar with Mach-O linking semantics so I don't know if this is working as intended or not.
On Linux, the clang driver passes -u__llvm_profile_runtime to the linker: Linux::addProfileRTLibs. Can Mach-O do something similar? The clang driver already does special things with ___llvm_profile_filename and ___llvm_profile_raw_version.
We're actually trying to move away from that model and define __llvm_profile_runtime as needed in the backend, see D98061.