[PATCH] D46228: [ELF] Use union-find set in Call-Chain Clustering (C³) heuristic to improve worst-case time complexity.
    Fangrui Song via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Sat Jun 16 11:03:07 PDT 2018
    
    
  
MaskRay added a comment.
This revision mostly optimizes the cluster number reassignment loop (expected O(n log n), but can be O(n^2) at worst):
  // line 210
      for (int SI : C.Sections)
        SecToCluster[SI] = PredC;
to union-find set (fast in practice, O(n log n) at worst (not union-by-rank) but expected O(n α(n)) (I believe)) + list splice (linear)
Repository:
  rLLD LLVM Linker
https://reviews.llvm.org/D46228
    
    
More information about the llvm-commits
mailing list