[all-commits] [llvm/llvm-project] 093b5a: [llvm][Uniformity] correctly use a vector as a set...

Sameer Sahasrabuddhe via All-commits all-commits at lists.llvm.org
Fri Mar 3 02:27:22 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 093b5ac85f064875f62775bba73dbaf8feb85798
      https://github.com/llvm/llvm-project/commit/093b5ac85f064875f62775bba73dbaf8feb85798
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

  Changed paths:
    M llvm/include/llvm/ADT/GenericUniformityImpl.h

  Log Message:
  -----------
  [llvm][Uniformity] correctly use a vector as a set by uniqifying elements

The search for temporal divergence needs to determine a dominance frontier
defined for a cycle. The implementation uses a temporary vector to store a set
of newly discovered successors. Failing to uniqify the elements in this vector
causes a very large regression in compile time due to an exponential number of
redundant visits.

This fixes github issue #61123

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D145216




More information about the All-commits mailing list