[all-commits] [llvm/llvm-project] ca7210: [IPO][SampleContextTracker] Use SmallVector to tra...

huihzhang via All-commits all-commits at lists.llvm.org
Mon Mar 29 16:37:32 PDT 2021


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

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/SampleContextTracker.h
    M llvm/lib/Transforms/IPO/SampleContextTracker.cpp

  Log Message:
  -----------
  [IPO][SampleContextTracker] Use SmallVector to track context profiles to prevent non-determinism.

Use SmallVector instead of SmallSet to track the context profiles mapped. 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 test profile-context-tracker-debug.ll .

Reviewed By: MaskRay, wenlei

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




More information about the All-commits mailing list