[all-commits] [llvm/llvm-project] b8930c: Add a pass to collect dropped variable statistics ...

Shubham Sandeep Rastogi via All-commits all-commits at lists.llvm.org
Mon Oct 21 18:14:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b8930cd13d484fadc12b810d76156c2c9e884f75
      https://github.com/llvm/llvm-project/commit/b8930cd13d484fadc12b810d76156c2c9e884f75
  Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
  Date:   2024-10-21 (Mon, 21 Oct 2024)

  Changed paths:
    M llvm/include/llvm/Passes/StandardInstrumentations.h
    M llvm/lib/Passes/StandardInstrumentations.cpp
    A llvm/test/Other/dropped-var-stats.ll
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/DroppedVariableStatsTest.cpp

  Log Message:
  -----------
  Add a pass to collect dropped variable statistics (#102233)

This patch is inspired by @Snowy1803 excellent work in swift and the
patch: https://github.com/swiftlang/swift/pull/73334/files

Add an instrumentation pass to llvm to collect dropped debug information
variable statistics for every Function-level and Module-level IR pass.

This patch creates adds the class DroppedVariableStats which iterates
over every DbgRecord in a function or module before and after an
optimization pass and counts the number of variables who's debug
information has been dropped due to that pass, then prints that output
to stdout in a csv format.

I ran this patch on optdriver.cpp can see:

Pass Name, Dropped Variables
'InstCombinePass', 1
'SimplifyCFGPass', 6
'JumpThreadingPass', 25



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