[llvm] [llvm-profgen] Revert #99826 and #99026 (PR #100147)
Tim Creech via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 23 09:15:47 PDT 2024
https://github.com/tcreech-intel created https://github.com/llvm/llvm-project/pull/100147
Revert #99826 and #99026 to allow for additional input.
>From 52fad27bc8a7ab58e4a66e9bf7dd569af74ada68 Mon Sep 17 00:00:00 2001
From: Tim Creech <timothy.m.creech at intel.com>
Date: Tue, 23 Jul 2024 12:11:49 -0400
Subject: [PATCH 1/2] Revert "[llvm-profgen] Add --sample-period to estimate
absolute counts (#99826)"
This reverts commit 01d783643aa750aa160bdcd097176fcde934dbd1.
---
.../tools/llvm-profgen/period-scaling.test | 84 -------------------
llvm/tools/llvm-profgen/PerfReader.cpp | 14 ----
2 files changed, 98 deletions(-)
delete mode 100644 llvm/test/tools/llvm-profgen/period-scaling.test
diff --git a/llvm/test/tools/llvm-profgen/period-scaling.test b/llvm/test/tools/llvm-profgen/period-scaling.test
deleted file mode 100644
index a44c9a78caeaf..0000000000000
--- a/llvm/test/tools/llvm-profgen/period-scaling.test
+++ /dev/null
@@ -1,84 +0,0 @@
-// RUN: llvm-profgen --format=text --perfscript=%S/Inputs/cmov_3.perfscript --binary=%S/Inputs/cmov_3.perfbin --output=%t --skip-symbolization --perf-event=br_inst_retired.near_taken:upp --sample-period=1000003
-// RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE
-// RUN: llvm-profgen --format=text --perfscript=%S/Inputs/cmov_3.perfscript --binary=%S/Inputs/cmov_3.perfbin --output=%t --perf-event=br_inst_retired.near_taken:upp --sample-period=1000003
-// RUN: FileCheck %s --input-file %t --check-prefix=CHECK
-
-// RUN: llvm-profgen --format=text --perfscript=%S/Inputs/cmov_3.perfscript --binary=%S/Inputs/cmov_3.perfbin --output=%t --skip-symbolization --perf-event=br_misp_retired.all_branches:upp --leading-ip-only --sample-period=1000003
-// RUN: FileCheck %s --input-file %t --check-prefix=UNPRED-RAW-PROFILE
-// RUN: llvm-profgen --format=text --perfscript=%S/Inputs/cmov_3.perfscript --binary=%S/Inputs/cmov_3.perfbin --output=%t --perf-event=br_misp_retired.all_branches:upp --leading-ip-only --sample-period=1000003
-// RUN: FileCheck %s --input-file %t --check-prefix=UNPRED
-
-// Check that we can use perf event filtering to generate multiple types of
-// source-level profiles from a single perf profile. In this case, we generate
-// a typical execution frequency profile using br_inst_retired.near_taken LBRs,
-// and a branch mispredict profile using br_misp_retired.all_branches sample
-// IPs.
-
-// Check that we can use --sample-period to compute LBR and IP-based profiles
-// which have comparable and absolute magnitudes. For example, in this case the
-// branch of interest (at source line offset 4) is in a loop body which is
-// executed ~20M times in total, and it's mispredicted about 9M times, yielding
-// a mispredict rate of roughly 0.45.
-
-// The source example below is based on perfKernelCpp/cmov_3, except a
-// misleading builtin is used to persuade the compiler not to use cmov, which
-// induces branch mispredicts.
-
-// CHECK: sel_arr:652547082:0
-// CHECK: 3.1: 20225766
-// CHECK: 3.2: 20225766
-// CHECK: 4: 19838670
-// CHECK: 5: 20225766
-
-// UNPRED: sel_arr:18000054:0
-// UNPRED: 3.1: 0
-// UNPRED: 3.2: 0
-// UNPRED: 4: 9000027
-// UNPRED: 5: 0
-
-// CHECK-RAW-PROFILE: 3
-// CHECK-RAW-PROFILE-NEXT: 2f0-2fa:9774174
-// CHECK-RAW-PROFILE-NEXT: 2f0-310:10064496
-// CHECK-RAW-PROFILE-NEXT: 2ff-310:10161270
-
-// UNPRED-RAW-PROFILE: 1
-// UNPRED-RAW-PROFILE-NEXT: 2fa-2fa:9000027
-
-// original code:
-// icx -fprofile-sample-generate lit.c
-#include <stdlib.h>
-
-#define N 20000
-#define ITERS 10000
-
-static int *m_s1, *m_s2, *m_s3, *m_dst;
-
-void init(void) {
- m_s1 = malloc(sizeof(int)*N);
- m_s2 = malloc(sizeof(int)*N);
- m_s3 = malloc(sizeof(int)*N);
- m_dst = malloc(sizeof(int)*N);
- srand(42);
-
- for (int i = 0; i < N; i++) {
- m_s1[i] = rand() % N;
- m_s2[i] = 0;
- m_s3[i] = 1;
- }
-}
-
-void __attribute__((noinline)) sel_arr(int *dst, int *s1, int *s2, int *s3) {
-#pragma nounroll
-#pragma clang loop vectorize(disable) interleave(disable)
- for (int i = 0; i < N; i++) {
- int *p = __builtin_expect((s1[i] < 10035), 0) ? &s2[i] : &s3[i];
- dst[i] = *p;
- }
-}
-
-int main(void) {
- init();
- for(int i=0; i<ITERS; ++i)
- sel_arr(m_dst, m_s1, m_s2, m_s3);
- return 0;
-}
diff --git a/llvm/tools/llvm-profgen/PerfReader.cpp b/llvm/tools/llvm-profgen/PerfReader.cpp
index 4041271cc0a82..b4e4911fb8912 100644
--- a/llvm/tools/llvm-profgen/PerfReader.cpp
+++ b/llvm/tools/llvm-profgen/PerfReader.cpp
@@ -53,10 +53,6 @@ static cl::alias
cl::desc("Comma-delimited version of -perf-event"),
cl::aliasopt(PerfEventFilter));
-static cl::opt<uint64_t>
- SamplePeriod("sample-period", cl::init(1),
- cl::desc("The sampling period (-c) used for perf data"));
-
extern cl::opt<std::string> PerfTraceFilename;
extern cl::opt<bool> ShowDisassemblyOnly;
extern cl::opt<bool> ShowSourceLocations;
@@ -1004,16 +1000,6 @@ void LBRPerfReader::parseSample(TraceStream &TraceIt, uint64_t Count) {
if (extractLBRStack(TraceIt, Sample->LBRStack)) {
warnIfMissingMMap();
// Record LBR only samples by aggregation
- // If a sampling period is given we can adjust the magnitude of sample
- // counts to estimate the absolute magnitute.
- if (SamplePeriod.getNumOccurrences()) {
- Count *= SamplePeriod;
- // If counts are LBR-based, as opposed to IP-based, then the magnitude is
- // now amplified by roughly the LBR stack size. By adjusting this down, we
- // can produce LBR-based and IP-based profiles with comparable magnitudes.
- if (!LeadingIPOnly && Sample->LBRStack.size() > 1)
- Count /= (Sample->LBRStack.size() - 1);
- }
AggregatedSamples[Hashable<PerfSample>(Sample)] += Count;
}
}
>From 1dafad1a2a120fdde72fd30086a2a5ac92b64ee4 Mon Sep 17 00:00:00 2001
From: Tim Creech <timothy.m.creech at intel.com>
Date: Tue, 23 Jul 2024 12:11:54 -0400
Subject: [PATCH 2/2] Revert "[llvm-profgen] Support creating profiles of
arbitrary events (#99026)"
This reverts commit 0caf0c93e759816663af52e8632d1c3953dbc715.
---
.../tools/llvm-profgen/Inputs/cmov_3.perfbin | Bin 27192 -> 0 bytes
.../llvm-profgen/Inputs/cmov_3.perfscript | 39 ------
.../Inputs/ip-duplication.perfscript | 2 -
.../Inputs/noprobe-skid.perfscript | 5 -
.../tools/llvm-profgen/event-filtering.test | 78 ------------
.../llvm-profgen/iponly-nodupfactor.test | 22 ----
llvm/test/tools/llvm-profgen/iponly.test | 58 ---------
llvm/tools/llvm-profgen/PerfReader.cpp | 116 ++----------------
llvm/tools/llvm-profgen/ProfileGenerator.cpp | 31 ++---
9 files changed, 20 insertions(+), 331 deletions(-)
delete mode 100755 llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfbin
delete mode 100644 llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfscript
delete mode 100644 llvm/test/tools/llvm-profgen/Inputs/ip-duplication.perfscript
delete mode 100644 llvm/test/tools/llvm-profgen/Inputs/noprobe-skid.perfscript
delete mode 100644 llvm/test/tools/llvm-profgen/event-filtering.test
delete mode 100644 llvm/test/tools/llvm-profgen/iponly-nodupfactor.test
delete mode 100644 llvm/test/tools/llvm-profgen/iponly.test
diff --git a/llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfbin b/llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfbin
deleted file mode 100755
index 7a1543041f8055c4dbc60c23645f91f680ba621b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 27192
zcmeHQeQX at Zb)Wm#6D9GRjzxXNtAw&CDYrb5lFC|Nd;HSTrX)t9WhrsII^HeGtB!Z<
z-JU|FK_i)t6Gn!jq)wx>MqmR)8>2~(KLW=HoS24^NNVdu4$#183r7j!Le7W7B#NuL
zuCMRS%scKb_Z*={3kcW&Zr{A$dv8A8%+BuY42K^Z7#<7;0*peC?PkawYt%U;u8cjC
z<gCPcSRK>Zd)NjR0VE7RolB647}1x4LO`@e>V<%!T`NX7)g5#l=NKbOB}9sLi$RxB
zL3<Rz5 at n5oM>{T(Jd^b!`lKueQM(<_PZjAfRTmLScglhhwcDX at m?qTOZe2tq)umr1
zB_%s#(XLV2HA;P=S7m-g$)8w8{PoCs^n`TakQY=%27=13jJfTONV_9apD5`QCEp)<
z#Y+Eg@*9zMVVPi9`jO~PSw5na-}}Li`%}vQ5TRy1DD$h<4vhRSX+S32k<E;4-`bH)
zN3)q+X(l?;vpu?ft5(cwU0egpg?V6~+PnWg7Cgn~5tDA at ZGm!359Jt8M%f`wKa|~U
z*aC{p9?H9_;41-FJ at nhE=<lwAGw{b0R)0G)jESjy&L~>Rf at K&eND0AIGMmk(K#q`<
zPbD)sRxBiQX|{KGsJGAP(z>*5m3a47$S=q}6XMqZaBBdg_A9N)EJx4vN$l&N`Ag^q
zL3RLm3=4a7PO)#GKPlX>;nXH5Yt?nGvJ9@&76_;|ocbK%?KWHvEeQL;_kiyK-vhn}
zd=K~@@IByr!1ur{>4D!hy!(yB>@RB)XOvev7)yM7-U^nlBxb);bAi{VyzQp|mpA?l
zt_^qS5JP?vWv^Z>L)iE)$m6T`t5-PxL*((*`qg>hG5yY84b8pyU}Em4iP at hmjEoL+
z&Uao;T)e2ZKyvRo4(iv(wT3$$#xxn~Usz<%J)^@5cw!e`t(Ip{1B<x)IRwgA$Io48
zxTBx3MT2j1{nM{;GPjU;{<S at c=Wm1(f$t?=e9LO8q_9k;;I==tYZDZRl~&!Cn0w{g
zpF<74r>p`b at FAh;*8j!X#k|o!@%!V4<D-X0o;%eOVAo!Lt6WaZDL;nEyZ~Mhz>g}x
zvjTXb0{p!IzJtJKD9N=?A#i5>Ujs0FX4~UH;?LEBVED|&&jT~gL&bmB{tVU6Co-45
za^_zr6LbHNc>d?$f&YvKUd&up_cONXQtw><j_Z9F`*&Z5R2W2dUdQIU7QZRW8)$ih
zEN^hjWjAH{CR)BpmTz*)7ykPXmo~hk?_wC|rBK!||IRWrd$Dooboo(mal^+~KpSCy
z{b2lo_=9odg3}+J^G^Qs&PTfMVr*#c%11*(bC(9rgirO)g+Gxf&nI at FdrB|!1S<Z#
zPc|srBaIDTeW0!O^l)3PehO}eua36WUaJ$0b9<CG&VRfQ$*vnfzSRi1KoebuIFz80
zUSjUY!*j0>&%H4`_mgV|6utaH=@*^zP=Q8Sfe&4%+>@2N5G(Ho-vhn}d=K~@@IByr
z!1sXf0pA0 at 2Ye5_GY{Z;TVQQyM-L=}YiR2h%H at v&eE{ev&_{vdY=8JS<?`PE{kPwi
z%U6M}`(3$=^T*rZhavEhgDf!97+71otmYg{?Qs2W9SXqyPNe<I8WD at Z5A&e4v^EsM
z at BFXJWgRH1Zyc;|y{BR2higu;J!^Js?rwVz!dSj6{GI^Yhj8lHTi at 7Q-`ZQR#_QYT
z^|4vy(eT;Or-PwF0C|<mKm*sgG2bu2?>f|>8z=@`Uw#&TD%8h9AWrG^^7Q)a_1Vay
z%GvOzLyrW5Mtuyjfy_j*ah at z%`N8*q?*ZQfz6X2{_#W^*;CsOLfbRj{1GkI^^d_B`
zwNX->T48Wg+>?o+RuGs}={!~^`Nv=}7sG0Ph0AW8$JR<7=V2Hqof;`$C*aC{<lnzl
z&LcDv(z%4 at iS1#*;~W*kc`08ZSoQ%)alb2uRzcXiBqdVW3kvJU7=ru?tICqnd=~eI
zVpt^zTaft^J}-Hy7tU)jz-Cn*D1TTV<n=ix^<lw}^W<Nc&T{@CDVOH|Z-n-hyEEJ_
z+jmgX!;-r7_V)GNt+vAs=S^y7Cv5HQRJ&qbU9rxtKT_KdnrStWw4@;V$D5d4JEnDN
zF*cO5%xwF?O=>=8#z%(K{*k^dTRPyU_T{IhGg-5M33fxuF}0n?X0(`g6vDoJ{r#I5
zwl~i2vBU0-w*|VVJ7e3nGWLipFHseBFbF-RP|D>pxe0Y5m2wxHsa$bUH<`=j$1*uj
z-AaF#=}u=$6QG()PMLSB(h!rQekt<by!XKU>`w-u^F<taZ4P4pY;a&(V54>FxRJ^x
zi<6ACIAohs<HmF$Z<#48lh5HzME9f2XYjzm(V at Yktc+&2J8ZY`{n$s281X}g20-h;
z{zD*lm1h~2hwed<<_6y7U1{Z~GL|u3fLa^V`3$sa0qp2rkY$N9%Rf74a+G6(s9(WM
zW-}8x6jf`}W3o+&s*ZHp{5FmIZR+2ra8vNH$iGi<(8eLcAA2|ZV=s0DeqZ>{Q~w<a
zI|BsXA2$2%NaBT^soW{#mo~+J at 0AYmpQrv@#&K`>&r|LW|9R^8=0NjOqN=0M`18}f
zx8VHroc|pO`uMH+j)dRB at Y^6BZ{n^4wd?0(`{MVkMP2XjC~h17JC*<KQOqIyvHeyY
z+vzz?RE05s2R>f-ZR)qFzwWbmKm6Z+PsW8M$68*pvvLj at t>by=&@-H<mky)nyrf<_
zw1)k-T+4nt9n$sExn1V5_HFW_Jf4(!)xnq(=FYBx80@!(-+H#d5yoBzIwDu-`(f2E
zNDOX;z7u|dn$R~uXH4pFrf6p#wlkk2<~gwWTVgH(^Urpsp;-qAPG3UFke!*83=6M@
z%!6x#VHN4cKzIYv?*^2sQllG8w_pKp58~f at W5Dg!-3Z+g(jeL=;m{9&IV~BGHU&1;
zpFUCFqJ-)jSFNpY3N*voWKaXVIr915)uH;kSMGo}u+SX%ptGe35)5mMqsm>Ycdp(8
zE3=BmT-xltsK>TLR)Ij^zv}Cd0ECb6Ku4)q=*Z+!*;3ks-R2ofOM!$Htu!2HrA?v^
zENWJKzgnqXF{`YId{L>5lpM4U_?3VwK$kyRx~#O+99Gsujwnqvmm)_$qqLm8Dem4`
zWfcpCgCA2AB#|#Gfym0^3ak07vU$bpN^|6kp>Zt|TDwzejNGHF2c2*vAxt7Wh0Qpa
zbSdm5CA6aEvQqZ}<+g~Wtg#gJn~GASDNQ`xvJ&D{i^L);wIKQgR-0jQd at NanCH!}~
zM6X7pxFVcYqvNGq=1)r|XA8Mx7SC2Yo}4hFxLjTYdD<K+O at MejA05vZqVRe-o&lW+
z5Q(@MEheX?vu1R{%$bFxWvaZH)My?fYV<%CsGcxW&|td`9o{z#+ at zVw<x9orM6MJy
zXDl;Ugr#!GEM1zKPG<^e7nP0O0mqjmv*}Fncvputl`5EKYO-V6ER5f47IJ2`Z+e=^
zGtR_`W|>^ZVns7+Bnt(Qh}9<SB;FweJ*YLLFA;+GE9dmtg?J*`5l{VaWq*uQU#aYi
zapDn1`)8c^GUm1KBm^4?Xupb6e>og-r`sVO53v=M{V{f72v^?Z80f at nnd*txRmOX#
zem$e{)``PT301d4JRX9l2%RTr7lv39(>?W at EBlq4`Ynw1DLL`mnAg6U5bQRh^XQ!V
zFuT-sJH+E5*j*I!#9Kk#OTV()#F17Ac2!Lt^U|l?R}OXPRkZ8MjjwkCk_)kSFTrsv
z471<xeI<4w&Z8L&A at sZ^86IWfh4)IF-oZ(q at 8^Pa-1vzq`hQUc|9TbtN)>#e3cegG
z>`@;6 at U`8iD%wMcNqx5;^eXshmGt?^DjxZss-pjeD)`e?@b6c_e_jPISHW9 at P-!S9
zeIwycKtD*_?T2BByW5wa9OF^nPgc=?stW%7D)?(v at MhfT<dJVj6?{bE?)rXM;`A;`
zes~;kulwci01v{httVXL;ZqX7;=-SmIPKS@^nVCAJY6c|1~wChmpQ(498=(B6Z570
zpF*3lCcp!1>3A3e+^hWCxqd54=sHgV--j{mkobrT*Cl?$g%3#lm<zAww|lvM6YJTa
z^Ze`=uW}yc`b)>{F~D)w;eK9}xc<^{`wZaVoh9KP0arc7^QQoB1l&EIe+|<KE`6>&
zT_yd?G9CBx;zxk1OG?AoD}XlzSFs-HPg40U;<&?5)j0$#4~JlrUo-Rv`@{kT0g2n+
z=Mi7daf~^`-XPYul})<xU61;<@c~#KegFl)e2>X~ey7B at fdZ!E_FJ6iTgU8^2{ai5
z9P8`WKZyFlrSBo%;Q7kT>;w<~?a(xN{%@*ab!vI0$)#{3IhHYUu-_791|FDU!ZEiV
zxHg%$yl~X7Ceuo}Z05L`Jz3T8?G!YAI&W#Zs`1;%HFE}DYdxyLi_3)ucZ8LkSX9Gz
zVY^oZ at AQbkoHbt5^TIv6U^7_i0hz;++S!b%$XvCy893bm=2j+U6ik>a*z4=Wo%MFg
zob`0dmi7pz+`}JE1)jiCzc`ha_710<CjwBxviBgTj>}(8Ay2^RHzS=DPJ>Aso(+vo
zoX(h{D2v^wni}3&a5EOI5*((LVrjErPGpL(&)Bf0U~e?+9xuYd)9Ji1k<E`Kvqsv=
z7m7x*G{aJ`k34HyW*T;zdukZt(AYSIOP+*sTZNNMY-ENB;?zknv2g}=3x}%sN-$*<
zI~iQM at X`&JbkPFK!GrOA1IEDqemExE=s&tYzHg`xVAw5h3?!s9(SMK`dxsD7#)pjq
zgM)_#Mvc*U at 9+RvxX;nnbvi;Dj?FgAbka&PUU+f9_M#Y1*oLZtT%5uUjN`~|kQMXB
zBpk|}HJLGV0JPGXoKb?=zHK^-hk3iw^ln2)eymuOS at CJGVT|tUql%-?;2iwo$tf#2
z2GlADI!Q6UUmS)iKCr?xU4ywk%(^WY`ZyHt9g6a?24$1D4PHy1%t3mBS_P(|<b+wk
zsl9_SKnAyJ5)EW*ItzmvFOz1$_W-70^MfqU{i&IgvcV_QU`w2^5G^k(C=LlHr!w$3
zn7}a}E*j53BnEC_8g#%Z=vSg#W2H<sttBn1kQpmk&}lXP%>z2tI6P)VJUKR2Fi#K%
z-#<)>gU9U8s&^2_nIV6bmub*<3HpBw?inJzPg0ieg$VvF3_R|6=n3hP3SJeYa;5h|
z0=7fMZcpDi=>HI?q$nx9rx4r^k=NmGXDI&}ng0yD?_!|x!{eU^cm8nHAKw>D_UEPj
zd1-%6+Tq_rVBN`{{;uaRV5my=^nImW7L@)T2~>E%H0<F)VDN8&$ezB#JS6Su at 2sf&
zq(}5P*yG<85l`Q1&Pn^2%*<VWD#J%0f~sUs-*x6)_LRT7{trw0UYQ{Mebj=qPe>f?
z;VpWJ|IPx2KEd+wAm9JsrH=>qmkXJ!5W;m1es+6R+N;uDuV{*hgeiIUn9H8tKaWYp
zt+F3bGGtHuU%Bk*`_yACLZk9`IMTpf{wJh;vy{{OI8z1S)+e6mm!v(lAI)FF(tf8%
zrg9}a0-lBl`j71CyO^#DjW-3UT&evDn1 at I`{3>qRtpf)EKj}ko>l07(pFjuy&WY^l
zJ6p|7+P?(0*muaDzQ at u3O}UDdgFyX@@}+kC3CK`|?CHDRLI+ym+`}2jp6I`W*lrIK
z4`C2<5W&Ee?1=svFuOg?>tfQrTK<&a?`4`)ewz2_(!QM(C8c}`egh(yzf>ofk^QL(
zA|j}ZfoKRKIDS*0?~n5`!Amp%O9glT!*wG{i_$>)$$f&u^&ER}v20@%`!DPlR`=VD
zA?~*43s5c{WEZ6UT`mI`%l63p-TqrOA`<O!84zoybnn at VG4g)F&C5TYQ-K|YAGIGn
me^5+q57A0!{Gf;)p at CaUC|^=+f{2&><T0UfkITTtvi||LxjNba
diff --git a/llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfscript b/llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfscript
deleted file mode 100644
index 3d29d444d56bb..0000000000000
--- a/llvm/test/tools/llvm-profgen/Inputs/cmov_3.perfscript
+++ /dev/null
@@ -1,39 +0,0 @@
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/3//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/29//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//-
-br_misp_retired.all_branches:upp: 4012fa 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/24//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/3//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//-
-br_misp_retired.all_branches:upp: 4012fa 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/24//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/24//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/6//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/21//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/14//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/2//-
-br_misp_retired.all_branches:upp: 4012fa 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/5//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/2//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//-
-br_misp_retired.all_branches:upp: 4012fa 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/2//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/2//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/27//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/29//- 0x401310/0x4012f0/P/-/-/24//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/19//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/29//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//-
-br_misp_retired.all_branches:upp: 4012fa 0x401310/0x4012f0/P/-/-/13//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//-
-br_misp_retired.all_branches:upp: 4012fa 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/20//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/34//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//-
- br_inst_retired.near_taken:upp: 4012fa 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/17//- 0x401310/0x4012f0/P/-/-/9//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//-
-br_misp_retired.all_branches:upp: 4012fa 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/29//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/6//- 0x401310/0x4012f0/P/-/-/24//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/28//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/15//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/9//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/17//- 0x4012fa/0x4012ff/M/-/-/1//-
-br_misp_retired.all_branches:upp: 4012fa 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/4//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/19//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/10//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/25//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/7//- 0x4012fa/0x4012ff/M/-/-/1//-
-br_misp_retired.all_branches:upp: 4012fa 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/21//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/24//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/2//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/5//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/1//- 0x401310/0x4012f0/P/-/-/1//-
- br_inst_retired.near_taken:upp: 401310 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/3//- 0x401310/0x4012f0/P/-/-/23//- 0x4012fa/0x4012ff/M/-/-/4//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/2//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/27//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/25//- 0x401310/0x4012f0/P/-/-/4//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/3//- 0x401310/0x4012f0/P/-/-/1//- 0x4012fa/0x4012ff/P/-/-/1//- 0x401310/0x4012f0/P/-/-/28//- 0x401310/0x4012f0/P/-/-/22//- 0x4012fa/0x4012ff/M/-/-/2//- 0x401310/0x4012f0/P/-/-/26//- 0x401310/0x4012f0/P/-/-/28//-
diff --git a/llvm/test/tools/llvm-profgen/Inputs/ip-duplication.perfscript b/llvm/test/tools/llvm-profgen/Inputs/ip-duplication.perfscript
deleted file mode 100644
index f0d4efcbe668e..0000000000000
--- a/llvm/test/tools/llvm-profgen/Inputs/ip-duplication.perfscript
+++ /dev/null
@@ -1,2 +0,0 @@
- 4006b7 0x4006b7/0x40068b/P/-/-/1 0x4006c8/0x4006b0/P/-/-/1 0x400689/0x4006b9/P/-/-/1 0x40066d/0x400686/P/-/-/2 0x4007a6/0x400650/P/-/-/9 0x4007ca/0x400790/P/-/-/8 0x4007d7/0x4007bd/P/-/-/1 0x400792/0x4007d7/P/-/-/1 0x4007b8/0x400790/P/-/-/2 0x4006a2/0x4007a8/P/-/-/3
- 40065d 40065d/0x40068f/M/-/-/1
diff --git a/llvm/test/tools/llvm-profgen/Inputs/noprobe-skid.perfscript b/llvm/test/tools/llvm-profgen/Inputs/noprobe-skid.perfscript
deleted file mode 100644
index 7c70a18452e57..0000000000000
--- a/llvm/test/tools/llvm-profgen/Inputs/noprobe-skid.perfscript
+++ /dev/null
@@ -1,5 +0,0 @@
-// Invalid perf line
- 40062f 0x40062f/0x4005b0/P/-/-/9 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/6 0x40062f/0x4005b0/P/-/-/16 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/6 0x40062f/0x4005b0/P/-/-/6 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005c8/0x4005dc/P/-/-/8 0x40062f/0x4005b0/P/-/-/9 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/10 0x40062f/0x4005b0/P/-/-/14 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/7 0x40062f/0x4005b0/P/-/-/8 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005c8/0x4005dc/P/-/-/7 0x40062f/0x4005b0/P/-/-/15 0x400645/0x4005ff/P/-/-/1
- 4005d7 0x4005d7/0x4005e5/P/-/-/8 0x40062f/0x4005b0/P/-/-/6 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/2 0x4005c8/0x4005dc/P/-/-/7 0x40062f/0x4005b0/P/-/-/11 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/8 0x40062f/0x4005b0/P/-/-/9 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/5 0x40062f/0x4005b0/P/-/-/11 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/2 0x4005c8/0x4005dc/P/-/-/7 0x40062f/0x4005b0/P/-/-/10 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/8 0x40062f/0x4005b0/P/-/-/9 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/13 0x40062f/0x4005b0/P/-/-/9
- 4005c8 0x4005c8/0x4005dc/P/-/-/11 0x40062f/0x4005b0/P/-/-/8 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/5 0x40062f/0x4005b0/P/-/-/6 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/12 0x40062f/0x4005b0/P/-/-/6 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/2 0x4005c8/0x4005dc/P/-/-/7 0x40062f/0x4005b0/P/-/-/10 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/8 0x40062f/0x4005b0/P/-/-/9 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/12 0x40062f/0x4005b0/P/-/-/6 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/2 0x4005c8/0x4005dc/P/-/-/8 0x40062f/0x4005b0/P/-/-/8
- 4005c5 0x4005c8/0x4005dc/P/-/-/11 0x40062f/0x4005b0/P/-/-/8 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/5 0x40062f/0x4005b0/P/-/-/6 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/12 0x40062f/0x4005b0/P/-/-/6 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/2 0x4005c8/0x4005dc/P/-/-/7 0x40062f/0x4005b0/P/-/-/10 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/8 0x40062f/0x4005b0/P/-/-/9 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/1 0x4005d7/0x4005e5/P/-/-/12 0x40062f/0x4005b0/P/-/-/6 0x400645/0x4005ff/P/-/-/1 0x400637/0x400645/P/-/-/1 0x4005e9/0x400634/P/-/-/2 0x4005c8/0x4005dc/P/-/-/8 0x40062f/0x4005b0/P/-/-/8
diff --git a/llvm/test/tools/llvm-profgen/event-filtering.test b/llvm/test/tools/llvm-profgen/event-filtering.test
deleted file mode 100644
index ea486a8fa2f7b..0000000000000
--- a/llvm/test/tools/llvm-profgen/event-filtering.test
+++ /dev/null
@@ -1,78 +0,0 @@
-// RUN: llvm-profgen --format=text --perfscript=%S/Inputs/cmov_3.perfscript --binary=%S/Inputs/cmov_3.perfbin --output=%t --skip-symbolization --perf-event=br_inst_retired.near_taken:upp
-// RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE
-// RUN: llvm-profgen --format=text --perfscript=%S/Inputs/cmov_3.perfscript --binary=%S/Inputs/cmov_3.perfbin --output=%t --perf-event=br_inst_retired.near_taken:upp
-// RUN: FileCheck %s --input-file %t --check-prefix=CHECK
-
-// RUN: llvm-profgen --format=text --perfscript=%S/Inputs/cmov_3.perfscript --binary=%S/Inputs/cmov_3.perfbin --output=%t --skip-symbolization --perf-event=br_misp_retired.all_branches:upp --leading-ip-only
-// RUN: FileCheck %s --input-file %t --check-prefix=UNPRED-RAW-PROFILE
-// RUN: llvm-profgen --format=text --perfscript=%S/Inputs/cmov_3.perfscript --binary=%S/Inputs/cmov_3.perfbin --output=%t --perf-event=br_misp_retired.all_branches:upp --leading-ip-only
-// RUN: FileCheck %s --input-file %t --check-prefix=UNPRED
-
-// Check that we can use perf event filtering to generate multiple types of
-// source-level profiles from a single perf profile. In this case, we generate
-// a typical execution frequency profile using br_inst_retired.near_taken LBRs,
-// and a branch mispredict profile using br_misp_retired.all_branches sample
-// IPs.
-
-// The source example below is based on perfKernelCpp/cmov_3, except a
-// misleading builtin is used to persuade the compiler not to use cmov, which
-// induces branch mispredicts.
-
-// CHECK: sel_arr:20229:0
-// CHECK: 3.1: 627
-// CHECK: 3.2: 627
-// CHECK: 4: 615
-// CHECK: 5: 627
-
-// UNPRED: sel_arr:18:0
-// UNPRED: 3.1: 0
-// UNPRED: 3.2: 0
-// UNPRED: 4: 9
-// UNPRED: 5: 0
-
-// CHECK-RAW-PROFILE: 3
-// CHECK-RAW-PROFILE-NEXT: 2f0-2fa:303
-// CHECK-RAW-PROFILE-NEXT: 2f0-310:312
-// CHECK-RAW-PROFILE-NEXT: 2ff-310:315
-
-// UNPRED-RAW-PROFILE: 1
-// UNPRED-RAW-PROFILE-NEXT: 2fa-2fa:9
-
-// original code:
-// clang -O2 -gline-tables-only -fdebug-info-for-profiling lit.c
-#include <stdlib.h>
-
-#define N 20000
-#define ITERS 10000
-
-static int *m_s1, *m_s2, *m_s3, *m_dst;
-
-void init(void) {
- m_s1 = malloc(sizeof(int)*N);
- m_s2 = malloc(sizeof(int)*N);
- m_s3 = malloc(sizeof(int)*N);
- m_dst = malloc(sizeof(int)*N);
- srand(42);
-
- for (int i = 0; i < N; i++) {
- m_s1[i] = rand() % N;
- m_s2[i] = 0;
- m_s3[i] = 1;
- }
-}
-
-void __attribute__((noinline)) sel_arr(int *dst, int *s1, int *s2, int *s3) {
-#pragma nounroll
-#pragma clang loop vectorize(disable) interleave(disable)
- for (int i = 0; i < N; i++) {
- int *p = __builtin_expect((s1[i] < 10035), 0) ? &s2[i] : &s3[i];
- dst[i] = *p;
- }
-}
-
-int main(void) {
- init();
- for(int i=0; i<ITERS; ++i)
- sel_arr(m_dst, m_s1, m_s2, m_s3);
- return 0;
-}
diff --git a/llvm/test/tools/llvm-profgen/iponly-nodupfactor.test b/llvm/test/tools/llvm-profgen/iponly-nodupfactor.test
deleted file mode 100644
index 006b1c42f3234..0000000000000
--- a/llvm/test/tools/llvm-profgen/iponly-nodupfactor.test
+++ /dev/null
@@ -1,22 +0,0 @@
-; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/ip-duplication.perfscript --binary=%S/Inputs/inline-noprobe2.perfbin --output=%t --use-offset=0 --leading-ip-only
-; RUN: FileCheck %s --input-file %t --check-prefix=CHECK
-
-; Test that we don't over-count samples for duplicated source code when
-; building an IP-based profile.
-
-; The inline-noprobe2.perfbin binary is used for this test because one of the
-; partition_pivot_last+3.1 debug locations has a duplication factor of 2
-; encoded into its discriminator. In IP-sample mode, a hit in one instruction
-; in the duplicated code does not imply a hit to the other duplicates.
-
-; The perfscript input includes 1 sample at a location with duplication factor
-; of 2, and another sample at the same source location but with no duplication
-; factor. These should be summed without duplication factors. Ensure we record
-; a count of 1+1=2 (and not 2+1=3) for the 3.1 location.
-
-;CHECK-LABEL: partition_pivot_last
-;CHECK-NEXT: 1: 0
-;CHECK-NEXT: 2: 0
-;CHECK-NEXT: 3: 0
-;CHECK-NEXT: 3.1: 2
-
diff --git a/llvm/test/tools/llvm-profgen/iponly.test b/llvm/test/tools/llvm-profgen/iponly.test
deleted file mode 100644
index 2e81798d7e6fe..0000000000000
--- a/llvm/test/tools/llvm-profgen/iponly.test
+++ /dev/null
@@ -1,58 +0,0 @@
-; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe-skid.perfscript --binary=%S/Inputs/noprobe.perfbin --output=%t --skip-symbolization --leading-ip-only
-; RUN: FileCheck %s --input-file %t --check-prefix=CHECK-RAW-PROFILE
-; RUN: llvm-profgen --format=text --perfscript=%S/Inputs/noprobe-skid.perfscript --binary=%S/Inputs/noprobe.perfbin --output=%t --leading-ip-only
-; RUN: FileCheck %s --input-file %t --check-prefix=CHECK
-
-; Here we check the ability to ignore LBRs, which is useful for generating
-; profiles where only the precise PMU sample IP is of interest. In general the
-; IPs need not identify a branch. In this case there are exactly 4 samples, so
-; we see only these 4 locations as "hot" and none of the LBR history.
-; Compare with noinline-noprobe.test, which includes LBR history.
-
-; Note that there are two different IPs (5c5 and 5c8) contributing to line
-; offset 1 in bar. This tests that sample counts corresponding to the same
-; debug location are summed into that location in the profile rather than the
-; maximum being taken, as happens with basic block execution count profiles.
-
-;CHECK: bar:14:0
-;CHECK: 0: 0
-;CHECK: 1: 2
-;CHECK: 2: 1
-;CHECK: 4: 0
-;CHECK: 5: 0
-;CHECK: foo:5:0
-;CHECK: 0: 0
-;CHECK: 1: 0
-;CHECK: 2: 0
-;CHECK: 3: 1
-;CHECK: 4: 0
-;CHECK: 5: 0
-
-CHECK-RAW-PROFILE: 4
-CHECK-RAW-PROFILE-NEXT: 5c5-5c5:1
-CHECK-RAW-PROFILE-NEXT: 5c8-5c8:1
-CHECK-RAW-PROFILE-NEXT: 5d7-5d7:1
-CHECK-RAW-PROFILE-NEXT: 62f-62f:1
-
-; original code:
-; clang -O3 -g -fdebug-info-for-profiling test.c -fno-inline -o a.out
-#include <stdio.h>
-
-int bar(int x, int y) {
- if (x % 3) {
- return x - y;
- }
- return x + y;
-}
-
-void foo() {
- int s, i = 0;
- while (i++ < 4000 * 4000)
- if (i % 91) s = bar(i, s); else s += 30;
- printf("sum is %d\n", s);
-}
-
-int main() {
- foo();
- return 0;
-}
diff --git a/llvm/tools/llvm-profgen/PerfReader.cpp b/llvm/tools/llvm-profgen/PerfReader.cpp
index b4e4911fb8912..111c546f5329f 100644
--- a/llvm/tools/llvm-profgen/PerfReader.cpp
+++ b/llvm/tools/llvm-profgen/PerfReader.cpp
@@ -41,17 +41,6 @@ static cl::opt<bool>
"and produce context-insensitive profile."));
cl::opt<bool> ShowDetailedWarning("show-detailed-warning",
cl::desc("Show detailed warning message."));
-cl::opt<bool>
- LeadingIPOnly("leading-ip-only",
- cl::desc("Form a profile based only on sample IPs"));
-
-static cl::list<std::string> PerfEventFilter(
- "perf-event",
- cl::desc("Ignore samples not matching the given event names"));
-static cl::alias
- PerfEventFilterPlural("perf-events", cl::CommaSeparated,
- cl::desc("Comma-delimited version of -perf-event"),
- cl::aliasopt(PerfEventFilter));
extern cl::opt<std::string> PerfTraceFilename;
extern cl::opt<bool> ShowDisassemblyOnly;
@@ -415,18 +404,13 @@ PerfScriptReader::convertPerfDataToTrace(ProfiledBinary *Binary, bool SkipPID,
}
}
- // If filtering by events was requested, additionally request the "event"
- // field.
- const std::string FieldList =
- PerfEventFilter.empty() ? "ip,brstack" : "event,ip,brstack";
-
// Run perf script again to retrieve events for PIDs collected above
SmallVector<StringRef, 8> ScriptSampleArgs;
ScriptSampleArgs.push_back(PerfPath);
ScriptSampleArgs.push_back("script");
ScriptSampleArgs.push_back("--show-mmap-events");
ScriptSampleArgs.push_back("-F");
- ScriptSampleArgs.push_back(FieldList);
+ ScriptSampleArgs.push_back("ip,brstack");
ScriptSampleArgs.push_back("-i");
ScriptSampleArgs.push_back(PerfData);
if (!PIDs.empty()) {
@@ -591,54 +575,14 @@ bool PerfScriptReader::extractLBRStack(TraceStream &TraceIt,
// Skip the leading instruction pointer.
size_t Index = 0;
-
- StringRef EventName;
- // Skip a perf event name. This may or may not exist.
- if (Records.size() > Index && Records[Index].ends_with(":")) {
- EventName = Records[Index].ltrim().rtrim(':');
- Index++;
-
- if (PerfEventFilter.empty()) {
- WithColor::warning() << "No --perf-event filter was specified, but an "
- "\"event\" field was found in line "
- << TraceIt.getLineNumber() << ": "
- << TraceIt.getCurrentLine() << "\n";
- } else if (std::find(PerfEventFilter.begin(), PerfEventFilter.end(),
- EventName) == PerfEventFilter.end()) {
- TraceIt.advance();
- return false;
- }
-
- } else if (!PerfEventFilter.empty()) {
- WithColor::warning() << "A --perf-event filter was specified, but no "
- "\"event\" field found in line "
- << TraceIt.getLineNumber() << ": "
- << TraceIt.getCurrentLine() << "\n";
- }
-
uint64_t LeadingAddr;
- if (Records.size() > Index && !Records[Index].contains('/')) {
- if (Records[Index].getAsInteger(16, LeadingAddr)) {
+ if (!Records.empty() && !Records[0].contains('/')) {
+ if (Records[0].getAsInteger(16, LeadingAddr)) {
WarnInvalidLBR(TraceIt);
TraceIt.advance();
return false;
}
- Index++;
- }
-
- // We assume that if we saw an event name we also saw a leading addr.
- // In other words, LeadingAddr is set if Index is 1 or 2.
- if (LeadingIPOnly && Index > 0) {
- // Form a profile only from the sample IP. Do not assume an LBR stack
- // follows, and ignore it if it does.
- uint64_t SampleIP = Binary->canonicalizeVirtualAddress(LeadingAddr);
- bool SampleIPIsInternal = Binary->addressIsCode(SampleIP);
- if (SampleIPIsInternal) {
- // Form a half LBR entry where the sample IP is the destination.
- LBRStack.emplace_back(LBREntry(SampleIP, SampleIP));
- }
- TraceIt.advance();
- return !LBRStack.empty();
+ Index = 1;
}
// Now extract LBR samples - note that we do not reverse the
@@ -958,20 +902,6 @@ void PerfScriptReader::computeCounterFromLBR(const PerfSample *Sample,
uint64_t Repeat) {
SampleCounter &Counter = SampleCounters.begin()->second;
uint64_t EndAddress = 0;
-
- if (LeadingIPOnly) {
- assert(Sample->LBRStack.size() == 1 &&
- "Expected only half LBR entries for ip-only mode");
- const LBREntry &LBR = *(Sample->LBRStack.begin());
- uint64_t SourceAddress = LBR.Source;
- uint64_t TargetAddress = LBR.Target;
- if (SourceAddress == TargetAddress &&
- Binary->addressIsCode(TargetAddress)) {
- Counter.recordRangeCount(SourceAddress, TargetAddress, Repeat);
- }
- return;
- }
-
for (const LBREntry &LBR : Sample->LBRStack) {
uint64_t SourceAddress = LBR.Source;
uint64_t TargetAddress = LBR.Target;
@@ -1132,18 +1062,6 @@ bool PerfScriptReader::isLBRSample(StringRef Line) {
Line.trim().split(Records, " ", 2, false);
if (Records.size() < 2)
return false;
- // Check if there is an event name before the leading IP.
- // If there is, it will be in Records[0]. To skip it, we'll re-split on
- // Records[1], which should contain the rest of the line.
- if (Records[0].contains(":")) {
- // If so, consume the event name and continue processing the rest of the
- // line.
- StringRef IPAndLBR = Records[1].ltrim();
- Records.clear();
- IPAndLBR.split(Records, " ", 2, false);
- if (Records.size() < 2)
- return false;
- }
if (Records[1].starts_with("0x") && Records[1].contains('/'))
return true;
return false;
@@ -1234,18 +1152,6 @@ void PerfScriptReader::warnInvalidRange() {
const PerfSample *Sample = Item.first.getPtr();
uint64_t Count = Item.second;
uint64_t EndAddress = 0;
-
- if (LeadingIPOnly) {
- assert(Sample->LBRStack.size() == 1 &&
- "Expected only half LBR entries for ip-only mode");
- const LBREntry &LBR = *(Sample->LBRStack.begin());
- if (LBR.Source == LBR.Target && LBR.Source != ExternalAddr) {
- // This is an leading-addr-only profile.
- Ranges[{LBR.Source, LBR.Source}] += Count;
- }
- continue;
- }
-
for (const LBREntry &LBR : Sample->LBRStack) {
uint64_t SourceAddress = LBR.Source;
uint64_t StartAddress = LBR.Target;
@@ -1293,15 +1199,11 @@ void PerfScriptReader::warnInvalidRange() {
!Binary->addressIsCode(EndAddress))
continue;
- // IP samples can indicate activity on individual instructions rather than
- // basic blocks/edges. In this mode, don't warn if sampled IPs aren't
- // branches.
- if (!LeadingIPOnly)
- if (!Binary->addressIsCode(StartAddress) ||
- !Binary->addressIsTransfer(EndAddress)) {
- InstNotBoundary += I.second;
- WarnInvalidRange(StartAddress, EndAddress, EndNotBoundaryMsg);
- }
+ if (!Binary->addressIsCode(StartAddress) ||
+ !Binary->addressIsTransfer(EndAddress)) {
+ InstNotBoundary += I.second;
+ WarnInvalidRange(StartAddress, EndAddress, EndNotBoundaryMsg);
+ }
auto *FRange = Binary->findFuncRange(StartAddress);
if (!FRange) {
diff --git a/llvm/tools/llvm-profgen/ProfileGenerator.cpp b/llvm/tools/llvm-profgen/ProfileGenerator.cpp
index 175556c2220e6..53a25b279b432 100644
--- a/llvm/tools/llvm-profgen/ProfileGenerator.cpp
+++ b/llvm/tools/llvm-profgen/ProfileGenerator.cpp
@@ -104,8 +104,6 @@ cl::opt<bool> InferMissingFrames(
"Infer missing call frames due to compiler tail call elimination."),
llvm::cl::Optional);
-extern cl::opt<bool> LeadingIPOnly;
-
using namespace llvm;
using namespace sampleprof;
@@ -390,25 +388,18 @@ void ProfileGeneratorBase::updateBodySamplesforFunctionProfile(
// Use the maximum count of samples with same line location
uint32_t Discriminator = getBaseDiscriminator(LeafLoc.Location.Discriminator);
- if (LeadingIPOnly) {
- // When computing an IP-based profile we take the SUM of counts at the
- // location instead of applying duplication factors and taking the MAX.
+ // Use duplication factor to compensated for loop unroll/vectorization.
+ // Note that this is only needed when we're taking MAX of the counts at
+ // the location instead of SUM.
+ Count *= getDuplicationFactor(LeafLoc.Location.Discriminator);
+
+ ErrorOr<uint64_t> R =
+ FunctionProfile.findSamplesAt(LeafLoc.Location.LineOffset, Discriminator);
+
+ uint64_t PreviousCount = R ? R.get() : 0;
+ if (PreviousCount <= Count) {
FunctionProfile.addBodySamples(LeafLoc.Location.LineOffset, Discriminator,
- Count);
- } else {
- // Otherwise, use duplication factor to compensate for loop
- // unroll/vectorization. Note that this is only needed when we're taking
- // MAX of the counts at the location instead of SUM.
- Count *= getDuplicationFactor(LeafLoc.Location.Discriminator);
-
- ErrorOr<uint64_t> R = FunctionProfile.findSamplesAt(
- LeafLoc.Location.LineOffset, Discriminator);
-
- uint64_t PreviousCount = R ? R.get() : 0;
- if (PreviousCount <= Count) {
- FunctionProfile.addBodySamples(LeafLoc.Location.LineOffset, Discriminator,
- Count - PreviousCount);
- }
+ Count - PreviousCount);
}
}
More information about the llvm-commits
mailing list