[all-commits] [llvm/llvm-project] dda7b7: [memprof] Symbolize and cache stack frames.

Snehasish Kumar via All-commits all-commits at lists.llvm.org
Thu Mar 3 11:01:17 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dda7b74967cc32867356b300d3ab9c4d777ecb18
      https://github.com/llvm/llvm-project/commit/dda7b74967cc32867356b300d3ab9c4d777ecb18
  Author: Snehasish Kumar <snehasishk at google.com>
  Date:   2022-03-03 (Thu, 03 Mar 2022)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/RawMemProfReader.h
    M llvm/lib/ProfileData/RawMemProfReader.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Symbolize and cache stack frames.

Currently, symbolization of stack frames occurs on demand when the instrprof writer
iterates over all the records in the raw memprof reader. With this
change we symbolize and cache the frames immediately after reading the
raw profiles. For a large internal binary this results in a runtime
reduction of ~50% (2m -> 48s) when merging a memprof raw profile with a
raw instr profile to generate an indexed profile. This change also makes
it simpler in the future to generate additional calling context
metadata to attach to each memprof record.

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




More information about the All-commits mailing list