[all-commits] [llvm/llvm-project] 6022a3: [SCEV] Store predicates for EL/ENT in SmallVector.

Florian Hahn via All-commits all-commits at lists.llvm.org
Sat Sep 28 13:24:49 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6022a3a05f951632022c84416209fe6d70d9105c
      https://github.com/llvm/llvm-project/commit/6022a3a05f951632022c84416209fe6d70d9105c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-09-28 (Sat, 28 Sep 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ScalarEvolution.h
    M llvm/lib/Analysis/ScalarEvolution.cpp

  Log Message:
  -----------
  [SCEV] Store predicates for EL/ENT in SmallVector.

Store predicates in ExitLimit and ExitNotTaken in a SmallVector instead
of a SmallPtrSet. This guarantees the predicates can be iterated on in a
predictable manner. This ensures the predicates can be printed and
generated in a predictable order.

This shifts de-duplication of predicates to construction time for
ExitLimit. ExitNotTaken just takes predicates from ExitLimit, so they
should also be free of duplicates.

This was exposed by 2f7ccaf4a8565628a4c7d2b5a49bb45478940be6
(https://github.com/llvm/llvm-project/pull/108777).

Should fix https://lab.llvm.org/buildbot/#/builders/110/builds/1494.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list