[all-commits] [llvm/llvm-project] c60f1d: [CSSPGO] Fix an invalid hash table reference issue...

Hongtao Yu via All-commits all-commits at lists.llvm.org
Fri Jun 18 11:54:47 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c60f1d5d98ebf1cec20b80f5a94d733290dd6556
      https://github.com/llvm/llvm-project/commit/c60f1d5d98ebf1cec20b80f5a94d733290dd6556
  Author: Hongtao Yu <hoy at fb.com>
  Date:   2021-06-18 (Fri, 18 Jun 2021)

  Changed paths:
    M llvm/lib/ProfileData/SampleProf.cpp
    M llvm/tools/llvm-profgen/CSPreInliner.cpp
    M llvm/tools/llvm-profgen/ProfileGenerator.cpp

  Log Message:
  -----------
  [CSSPGO] Fix an invalid hash table reference issue in the CS preinliner.

We were using a `StringMap` object to store all profiles to be emitted. The object is basically an unordered hash table, therefore updating it in the process of trasvering it may cause issue since the underlying bucket array could change.

I'm also moving the `csspgo-preinliner` switch around so that no context tri will be constructed (by the constructor of `CSPreInliner`) when the switch is off.

Reviewed By: wenlei

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




More information about the All-commits mailing list