Pseudo probe descriptors are created very early in the pipeline where function names just come from the front end and are not yet decorated. So calling getCanonicalFnName on the function names in probe desc is basically a no-op, which also addes a depenency from MC to ProfileData unnessesarily.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/MC/MCPseudoProbe.cpp | ||
---|---|---|
360 | does this have __uniq.? Can we assert it does not contain .? |
llvm/lib/MC/MCPseudoProbe.cpp | ||
---|---|---|
360 | It can have that since the uniq suffx is from the frontend. We can assert it doesn't have .llvm etc... |
lgtm, thanks.
llvm/lib/MC/MCPseudoProbe.cpp | ||
---|---|---|
360 | ok, as long as it's verified to be no-op now, the risk of something breaking this is low. I think it's fine to leave it as is too. |
This change introduced a race condition in the build and we saw it fail in our private buildbots on both Ubuntu and Windows because of a dependency on Attributes.inc (the target intrinsics_gen) which had previously been covered by the ProfileData library. I haven't confirmed whether https://reviews.llvm.org/rG68d6c3e4486c6743dfa419ec0d919d8e97fdad05 removed that dependency by removing the header from ProfileData, though it likely does, so I wanted to leave a note here for anyone else who runs into this - or if it recurs.
Thanks for letting me know. As you pointed out, https://reviews.llvm.org/rG68d6c3e4486c6743dfa419ec0d919d8e97fdad05 should fix the issue.
does this have __uniq.? Can we assert it does not contain .?