[all-commits] [llvm/llvm-project] d857a8: [VPlan] Use SetVector for VPExternalDefs to preven...

huihzhang via All-commits all-commits at lists.llvm.org
Tue Mar 30 12:11:34 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d857a81437cbd9066b29dffceec500e3ea1edc0e
      https://github.com/llvm/llvm-project/commit/d857a81437cbd9066b29dffceec500e3ea1edc0e
  Author: Huihui Zhang <huihuiz at quicinc.com>
  Date:   2021-03-30 (Tue, 30 Mar 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  [VPlan] Use SetVector for VPExternalDefs to prevent non-determinism.

Use SetVector instead of SmallPtrSet for external definitions created for VPlan.
Doing this can help avoid non-determinism caused by iterating over unordered containers.

This bug was found with reverse iteration turning on,
 --extra-llvm-cmake-variables="-DLLVM_REVERSE_ITERATION=ON".
Failing LLVM-Unit test VPRecipeTest.dump.

Reviewed By: MaskRay

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




More information about the All-commits mailing list