[PATCH] D158875: [ADT] Fix IntEqClasses::join to return the leader in all cases.
Joshua Cranmer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 30 07:28:03 PDT 2023
jcranmer-intel added inline comments.
================
Comment at: llvm/lib/Support/IntEqClasses.cpp:36-52
// Update pointers while searching for the leaders, compressing the paths
// incrementally. The larger leader will eventually be updated, joining the
// classes.
while (eca != ecb)
if (eca < ecb) {
EC[b] = eca;
b = ecb;
----------------
MatzeB wrote:
> Not sure how this would affect worst-case complexity given `findLeader` does not do any path compression. How about this instead?
The changes I made wouldn't make the worst-case complexity any worse; it seems to me that it would work better to have `findLeader` do path compression instead (I further note that there appear to be no callers of `IntEqClasses::findLeader` in LLVM at present, so there's definitely no compile time regression here).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D158875/new/
https://reviews.llvm.org/D158875
More information about the llvm-commits
mailing list