[llvm] c99259e - [llvm-profgen] Support for decoding pseudo probe for COFF (#158207)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 8 17:53:56 PDT 2025
Author: Haohai Wen
Date: 2025-10-09T08:53:52+08:00
New Revision: c99259e6105b9027ff1274457de0bbc24e8d1a0e
URL: https://github.com/llvm/llvm-project/commit/c99259e6105b9027ff1274457de0bbc24e8d1a0e
DIFF: https://github.com/llvm/llvm-project/commit/c99259e6105b9027ff1274457de0bbc24e8d1a0e.diff
LOG: [llvm-profgen] Support for decoding pseudo probe for COFF (#158207)
Pseudo probe support for COFF was added in #123870. This patch teaches
llvm-profgen to decode it.
Added:
Modified:
llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe
llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
llvm/test/tools/llvm-profgen/coff-profile.test
llvm/tools/llvm-profgen/ProfiledBinary.cpp
llvm/tools/llvm-profgen/ProfiledBinary.h
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe b/llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe
index 309476a2437f0..a4c36a346633a 100644
Binary files a/llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe and b/llvm/test/tools/llvm-profgen/Inputs/coff-profile.exe
diff er
diff --git a/llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript b/llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
index ec5c8ffee87c7..29a880308667f 100644
--- a/llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
+++ b/llvm/test/tools/llvm-profgen/Inputs/coff-profile.perfscript
@@ -1,13 +1,13 @@
PERF_RECORD_MMAP2 5752/0: [0x7ff70a1b0000(0x640000) @ 0x1000 00:00 0 0]: r-xp c:\Users\haohaiwe\Desktop\coff-profile.exe
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/P/X/A/0 0x7ff70a1b1415/0x7ff70a1b13b0/M/X/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/-/X/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
- 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0 0x7ff70a1b1482/0x7ff70a1b1430/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/P/X/A/0 0x7ff70a1b1400/0x7ff70a1b13a0/M/X/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/-/X/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
+ 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0 0x7ff70a1b1461/0x7ff70a1b1410/P/-/A/0
diff --git a/llvm/test/tools/llvm-profgen/coff-profile.test b/llvm/test/tools/llvm-profgen/coff-profile.test
index 5578f731cac83..6411642408f47 100644
--- a/llvm/test/tools/llvm-profgen/coff-profile.test
+++ b/llvm/test/tools/llvm-profgen/coff-profile.test
@@ -1,37 +1,77 @@
+; RUN: llvm-profgen --format=text --use-dwarf-correlation --perfscript=%S/Inputs/coff-profile.perfscript --binary=%S/Inputs/coff-profile.exe --output=%t
+; RUN: FileCheck %s --input-file %t --check-prefix=DWARF
; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/coff-profile.perfscript --binary=%S/Inputs/coff-profile.exe --output=%t
-; RUN: FileCheck %s --input-file %t
+; RUN: FileCheck %s --input-file %t --check-prefix=PROBE
-CHECK: main:31837:0
-CHECK-NEXT: 0: 0
-CHECK-NEXT: 3.1: 0
-CHECK-NEXT: 3.2: 0
-CHECK-NEXT: 8: 0
-CHECK-NEXT: 65501: 0
-CHECK-NEXT: 1: ??$init at HG@MyNameSpace2@@YAXHPEAG at Z:0
-CHECK-NEXT: 1: 0
-CHECK-NEXT: 1.1: 0
-CHECK-NEXT: 1.2: 0
-CHECK-NEXT: 2: 0
-CHECK-NEXT: 65514: 0
-CHECK-NEXT: 4: ?work1@?$MyClass at GH@MyNameSpace1@@QEAAXQEAGH at Z:3193
-CHECK-NEXT: 0: ?work@?$MyClass at GH@MyNameSpace1@@AEAAXQEAGHH at Z:3193
-CHECK-NEXT: 1.1: 31
-CHECK-NEXT: 1.2: 31
-CHECK-NEXT: 2: 31
-CHECK-NEXT: 3: 31
-CHECK-NEXT: 65530: 0
-CHECK-NEXT: 5: ?work2@?$MyClass at GH@MyNameSpace1@@QEAAXQEAGH at Z:28644
-CHECK-NEXT: 0: ?work@?$MyClass at GH@MyNameSpace1@@AEAAXQEAGHH at Z:28644
-CHECK-NEXT: 1.1: 341
-CHECK-NEXT: 1.2: 341
-CHECK-NEXT: 2: 341
-CHECK-NEXT: 3: 341
-CHECK-NEXT: 65530: 0
-CHECK-NEXT: 7: ?print at MyNameSpace2@@YAXPEAGH at Z:0
-CHECK-NEXT: 1: 0
+DWARF: main:31341:0
+DWARF-NEXT: 0: 0
+DWARF-NEXT: 3: 0
+DWARF-NEXT: 3.1: 0
+DWARF-NEXT: 3.2: 0
+DWARF-NEXT: 8: 0
+DWARF-NEXT: 65501: 0
+DWARF-NEXT: 1: ??$init at HG@MyNameSpace2@@YAXHPEAG at Z:0
+DWARF-NEXT: 1: 0
+DWARF-NEXT: 1.1: 0
+DWARF-NEXT: 1.2: 0
+DWARF-NEXT: 2: 0
+DWARF-NEXT: 65514: 0
+DWARF-NEXT: 4: ?work1@?$MyClass at GH@MyNameSpace1@@QEAAXQEAGH at Z:3038
+DWARF-NEXT: 0: ?work@?$MyClass at GH@MyNameSpace1@@AEAAXQEAGHH at Z:3038
+DWARF-NEXT: 1.1: 31
+DWARF-NEXT: 1.2: 31
+DWARF-NEXT: 2: 31
+DWARF-NEXT: 3: 31
+DWARF-NEXT: 5: ?work2@?$MyClass at GH@MyNameSpace1@@QEAAXQEAGH at Z:28303
+DWARF-NEXT: 0: ?work@?$MyClass at GH@MyNameSpace1@@AEAAXQEAGHH at Z:28303
+DWARF-NEXT: 1.1: 341
+DWARF-NEXT: 1.2: 341
+DWARF-NEXT: 2: 341
+DWARF-NEXT: 3: 341
+DWARF-NEXT: 7: ?print at MyNameSpace2@@YAXPEAGH at Z:0
+DWARF-NEXT: 1: 0
+
+PROBE: main:1116:0
+PROBE-NEXT: 1: 0
+PROBE-NEXT: 3: 0
+PROBE-NEXT: 4: 0
+PROBE-NEXT: 5: 0
+PROBE-NEXT: 8: 0
+PROBE-NEXT: 9: 0
+PROBE-NEXT: 2: ??$init at HG@MyNameSpace2@@YAXHPEAG at Z:0
+PROBE-NEXT: 1: 0
+PROBE-NEXT: 2: 0
+PROBE-NEXT: 3: 0
+PROBE-NEXT: 4: 0
+PROBE-NEXT: 5: 0
+PROBE-NEXT: 6: 0
+PROBE-NEXT: !CFGChecksum: 107105011060
+PROBE-NEXT: 6: ?work1@?$MyClass at GH@MyNameSpace1@@QEAAXQEAGH at Z:93
+PROBE-NEXT: 1: 0
+PROBE-NEXT: 2: ?work@?$MyClass at GH@MyNameSpace1@@AEAAXQEAGHH at Z:93
+PROBE-NEXT: 1: 0
+PROBE-NEXT: 2: 31
+PROBE-NEXT: 4: 31
+PROBE-NEXT: 5: 31
+PROBE-NEXT: !CFGChecksum: 107105011060
+PROBE-NEXT: !CFGChecksum: 281479271677951
+PROBE-NEXT: 7: ?work2@?$MyClass at GH@MyNameSpace1@@QEAAXQEAGH at Z:1023
+PROBE-NEXT: 2: ?work@?$MyClass at GH@MyNameSpace1@@AEAAXQEAGHH at Z:1023
+PROBE-NEXT: 2: 341
+PROBE-NEXT: 3: 0
+PROBE-NEXT: 4: 341
+PROBE-NEXT: 5: 341
+PROBE-NEXT: 6: 0
+PROBE-NEXT: !CFGChecksum: 107105011060
+PROBE-NEXT: !CFGChecksum: 281479271677951
+PROBE-NEXT: 10: ?print at MyNameSpace2@@YAXPEAGH at Z:0
+PROBE-NEXT: 1: 0
+PROBE-NEXT: 2: 0
+PROBE-NEXT: !CFGChecksum: 281479271677951
+PROBE-NEXT: !CFGChecksum: 1126005794311845
; Original code
-; clang-cl.exe -O2 -gdwarf -gline-tables-only coff-profile.cpp -fuse-ld=lld -Xclang -fdebug-info-for-profiling -link -debug:dwarf
+; clang-cl.exe -O2 -gdwarf -gline-tables-only -fpseudo-probe-for-profiling coff-profile.cpp -fuse-ld=lld -Xclang -fdebug-info-for-profiling -link -debug:dwarf
#include <stdio.h>
diff --git a/llvm/tools/llvm-profgen/ProfiledBinary.cpp b/llvm/tools/llvm-profgen/ProfiledBinary.cpp
index 6865e364f7e43..94728ce4abffe 100644
--- a/llvm/tools/llvm-profgen/ProfiledBinary.cpp
+++ b/llvm/tools/llvm-profgen/ProfiledBinary.cpp
@@ -250,14 +250,12 @@ void ProfiledBinary::load() {
DisassembleFunctionSet.insert_range(DisassembleFunctions);
- if (auto *ELFObj = dyn_cast<ELFObjectFileBase>(Obj)) {
- checkPseudoProbe(ELFObj);
- if (UsePseudoProbes)
- populateElfSymbolAddressList(ELFObj);
+ checkPseudoProbe(Obj);
+ if (UsePseudoProbes)
+ populateSymbolAddressList(Obj);
- if (ShowDisassemblyOnly)
- decodePseudoProbe(ELFObj);
- }
+ if (ShowDisassemblyOnly)
+ decodePseudoProbe(Obj);
// Disassemble the text sections.
disassemble(Obj);
@@ -417,7 +415,7 @@ void ProfiledBinary::setPreferredTextSegmentAddresses(const ObjectFile *Obj) {
llvm_unreachable("invalid object format");
}
-void ProfiledBinary::checkPseudoProbe(const ELFObjectFileBase *Obj) {
+void ProfiledBinary::checkPseudoProbe(const ObjectFile *Obj) {
if (UseDwarfCorrelation)
return;
@@ -440,7 +438,7 @@ void ProfiledBinary::checkPseudoProbe(const ELFObjectFileBase *Obj) {
UsePseudoProbes = HasProbeDescSection && HasPseudoProbeSection;
}
-void ProfiledBinary::decodePseudoProbe(const ELFObjectFileBase *Obj) {
+void ProfiledBinary::decodePseudoProbe(const ObjectFile *Obj) {
if (!UsePseudoProbes)
return;
@@ -511,7 +509,7 @@ void ProfiledBinary::decodePseudoProbe(const ELFObjectFileBase *Obj) {
void ProfiledBinary::decodePseudoProbe() {
OwningBinary<Binary> OBinary = unwrapOrError(createBinary(Path), Path);
Binary &ExeBinary = *OBinary.getBinary();
- auto *Obj = cast<ELFObjectFileBase>(&ExeBinary);
+ auto *Obj = cast<ObjectFile>(&ExeBinary);
decodePseudoProbe(Obj);
}
@@ -809,8 +807,7 @@ void ProfiledBinary::checkUseFSDiscriminator(
}
}
-void ProfiledBinary::populateElfSymbolAddressList(
- const ELFObjectFileBase *Obj) {
+void ProfiledBinary::populateSymbolAddressList(const ObjectFile *Obj) {
// Create a mapping from virtual address to symbol GUID and the other way
// around.
StringRef FileName = Obj->getFileName();
diff --git a/llvm/tools/llvm-profgen/ProfiledBinary.h b/llvm/tools/llvm-profgen/ProfiledBinary.h
index e82fbab02f56a..5a814b7dbd52d 100644
--- a/llvm/tools/llvm-profgen/ProfiledBinary.h
+++ b/llvm/tools/llvm-profgen/ProfiledBinary.h
@@ -228,19 +228,19 @@ class ProfiledBinary {
// A list of binary functions that have samples.
std::unordered_set<const BinaryFunction *> ProfiledFunctions;
- // GUID to Elf symbol start address map
+ // GUID to symbol start address map
DenseMap<uint64_t, uint64_t> SymbolStartAddrs;
// These maps are for temporary use of warning diagnosis.
DenseSet<int64_t> AddrsWithMultipleSymbols;
DenseSet<std::pair<uint64_t, uint64_t>> AddrsWithInvalidInstruction;
- // Start address to Elf symbol GUID map
+ // Start address to symbol GUID map
std::unordered_multimap<uint64_t, uint64_t> StartAddrToSymMap;
// An ordered map of mapping function's start address to function range
- // relevant info. Currently to determine if the offset of ELF is the start of
- // a real function, we leverage the function range info from DWARF.
+ // relevant info. Currently to determine if the offset of ELF/COFF is the
+ // start of a real function, we leverage the function range info from DWARF.
std::map<uint64_t, FuncRange> StartAddrToFuncRangeMap;
// Address to context location map. Used to expand the context.
@@ -335,9 +335,9 @@ class ProfiledBinary {
void setPreferredTextSegmentAddresses(const object::COFFObjectFile *Obj,
StringRef FileName);
- void checkPseudoProbe(const object::ELFObjectFileBase *Obj);
+ void checkPseudoProbe(const object::ObjectFile *Obj);
- void decodePseudoProbe(const object::ELFObjectFileBase *Obj);
+ void decodePseudoProbe(const object::ObjectFile *Obj);
void checkUseFSDiscriminator(
const object::ObjectFile *Obj,
@@ -353,8 +353,8 @@ class ProfiledBinary {
// Load debug info from DWARF unit.
void loadSymbolsFromDWARFUnit(DWARFUnit &CompilationUnit);
- // Create elf symbol to its start address mapping.
- void populateElfSymbolAddressList(const object::ELFObjectFileBase *O);
+ // Create symbol to its start address mapping.
+ void populateSymbolAddressList(const object::ObjectFile *O);
// A function may be spilt into multiple non-continuous address ranges. We use
// this to set whether start a function range is the real entry of the
More information about the llvm-commits
mailing list