[llvm] [MC] Make pseudo-probe divisions ordering stable (PR #214803)
Wei Wang via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 7 11:50:57 PDT 2026
================
@@ -216,9 +216,12 @@ void MCPseudoProbeSections::emit(MCObjectStreamer *MCOS) {
Vec.emplace_back(ProbeSec.first, &ProbeSec.second);
for (auto I : llvm::enumerate(MCOS->getAssembler()))
I.value().setOrdinal(I.index());
- llvm::sort(Vec, [](auto A, auto B) {
- return A.first->getSection().getOrdinal() <
- B.first->getSection().getOrdinal();
+ llvm::sort(Vec, [](const auto &A, const auto &B) {
+ const auto AOrdinal = A.first->getSection().getOrdinal();
+ const auto BOrdinal = B.first->getSection().getOrdinal();
+ if (AOrdinal != BOrdinal)
+ return AOrdinal < BOrdinal;
+ return A.first->getName() < B.first->getName();
----------------
apolloww wrote:
Maybe simplify as
```suggestion
return std::make_pair(A.first->getSection().getOrdinal(), A.first->getName()) <
std::make_pair(B.first->getSection().getOrdinal(), B.first->getName());
```
https://github.com/llvm/llvm-project/pull/214803
More information about the llvm-commits
mailing list