[llvm-branch-commits] [llvm] [Remarks] Restructure bitstream remarks to be fully standalone (PR #156715)
Tobias Stadler via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Sep 18 04:35:05 PDT 2025
https://github.com/tobias-stadler updated https://github.com/llvm/llvm-project/pull/156715
>From d33b31f01aeeb9005581b0a2a1f21c898463aa02 Mon Sep 17 00:00:00 2001
From: Tobias Stadler <mail at stadler-tobias.de>
Date: Thu, 18 Sep 2025 12:34:55 +0100
Subject: [PATCH] Replace bitstream blobs by yaml
Created using spr 1.3.7-wip
---
llvm/lib/Remarks/BitstreamRemarkParser.cpp | 5 +-
.../dsymutil/ARM/remarks-linking-bundle.test | 13 +-
.../basic1.macho.remarks.arm64.opt.bitstream | Bin 824 -> 0 bytes
.../basic1.macho.remarks.arm64.opt.yaml | 47 +++++
...c1.macho.remarks.empty.arm64.opt.bitstream | 0
.../basic2.macho.remarks.arm64.opt.bitstream | Bin 1696 -> 0 bytes
.../basic2.macho.remarks.arm64.opt.yaml | 194 ++++++++++++++++++
...c2.macho.remarks.empty.arm64.opt.bitstream | 0
.../basic3.macho.remarks.arm64.opt.bitstream | Bin 1500 -> 0 bytes
.../basic3.macho.remarks.arm64.opt.yaml | 181 ++++++++++++++++
...c3.macho.remarks.empty.arm64.opt.bitstream | 0
.../fat.macho.remarks.x86_64.opt.bitstream | Bin 820 -> 0 bytes
.../remarks/fat.macho.remarks.x86_64.opt.yaml | 53 +++++
.../fat.macho.remarks.x86_64h.opt.bitstream | Bin 820 -> 0 bytes
.../fat.macho.remarks.x86_64h.opt.yaml | 53 +++++
.../X86/remarks-linking-fat-bundle.test | 8 +-
16 files changed, 543 insertions(+), 11 deletions(-)
delete mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.bitstream
create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.yaml
delete mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.empty.arm64.opt.bitstream
delete mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.bitstream
create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.yaml
delete mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.empty.arm64.opt.bitstream
delete mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.bitstream
create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.yaml
delete mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.empty.arm64.opt.bitstream
delete mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.bitstream
create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.yaml
delete mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.bitstream
create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.yaml
diff --git a/llvm/lib/Remarks/BitstreamRemarkParser.cpp b/llvm/lib/Remarks/BitstreamRemarkParser.cpp
index 63b16bd2df0ec..2b27a0f661d88 100644
--- a/llvm/lib/Remarks/BitstreamRemarkParser.cpp
+++ b/llvm/lib/Remarks/BitstreamRemarkParser.cpp
@@ -411,9 +411,8 @@ Error BitstreamRemarkParser::processExternalFilePath() {
return E;
if (ContainerType != BitstreamRemarkContainerType::RemarksFile)
- return error(
- "Error while parsing external file's BLOCK_META: wrong container "
- "type.");
+ return ParserHelper->MetaHelper.error(
+ "Wrong container type in external file.");
return Error::success();
}
diff --git a/llvm/test/tools/dsymutil/ARM/remarks-linking-bundle.test b/llvm/test/tools/dsymutil/ARM/remarks-linking-bundle.test
index 09a60d7d044c6..e1b04455b0d9d 100644
--- a/llvm/test/tools/dsymutil/ARM/remarks-linking-bundle.test
+++ b/llvm/test/tools/dsymutil/ARM/remarks-linking-bundle.test
@@ -1,22 +1,25 @@
RUN: rm -rf %t
-RUN: mkdir -p %t
+RUN: mkdir -p %t/private/tmp/remarks
RUN: cat %p/../Inputs/remarks/basic.macho.remarks.arm64> %t/basic.macho.remarks.arm64
+RUN: llvm-remarkutil yaml2bitstream %p/../Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.yaml -o %t/private/tmp/remarks/basic1.macho.remarks.arm64.opt.bitstream
+RUN: llvm-remarkutil yaml2bitstream %p/../Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.yaml -o %t/private/tmp/remarks/basic2.macho.remarks.arm64.opt.bitstream
+RUN: llvm-remarkutil yaml2bitstream %p/../Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.yaml -o %t/private/tmp/remarks/basic3.macho.remarks.arm64.opt.bitstream
-RUN: dsymutil -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%p/../Inputs %t/basic.macho.remarks.arm64
+RUN: dsymutil -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%t %t/basic.macho.remarks.arm64
Check that the remark file in the bundle exists and is sane:
RUN: llvm-bcanalyzer -dump %t/basic.macho.remarks.arm64.dSYM/Contents/Resources/Remarks/basic.macho.remarks.arm64 | FileCheck %s
-RUN: dsymutil --linker parallel -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%p/../Inputs %t/basic.macho.remarks.arm64
+RUN: dsymutil --linker parallel -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%t %t/basic.macho.remarks.arm64
Check that the remark file in the bundle exists and is sane:
RUN: llvm-bcanalyzer -dump %t/basic.macho.remarks.arm64.dSYM/Contents/Resources/Remarks/basic.macho.remarks.arm64 | FileCheck %s
Now emit it in a different format: YAML.
-RUN: dsymutil -remarks-output-format=yaml -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%p/../Inputs %t/basic.macho.remarks.arm64
+RUN: dsymutil -remarks-output-format=yaml -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%t %t/basic.macho.remarks.arm64
RUN: cat %t/basic.macho.remarks.arm64.dSYM/Contents/Resources/Remarks/basic.macho.remarks.arm64 | FileCheck %s --check-prefix=CHECK-YAML
-RUN: dsymutil --linker parallel -remarks-output-format=yaml -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%p/../Inputs %t/basic.macho.remarks.arm64
+RUN: dsymutil --linker parallel -remarks-output-format=yaml -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%t %t/basic.macho.remarks.arm64
RUN: cat %t/basic.macho.remarks.arm64.dSYM/Contents/Resources/Remarks/basic.macho.remarks.arm64 | FileCheck %s --check-prefix=CHECK-YAML
CHECK: <Meta
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.bitstream b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.bitstream
deleted file mode 100644
index 6a0d123370a17816893250b64341c461d4362200..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 824
zcmY*W&rj1(9RCi&%CC??j1tl<uLczpG=p#$tR~wEX2h`Qz=K}2>k50Jv`yPFHZR2*
zdNamw at Yp3DF!5wKc;LWTObGFS#CR~qIOBmB{|LVw2=kk?-}il=&-e5Fy!Wzm**k$w
zfEfT_0`C&rsmVhj#`Cq29Vd>f*G_!X;qBzqduMW|p0s1Z&I^|#k>tgLYIrXh`4Z^;
zQ)PdNk)uZVTk>AQTPtil at R)L%DaDwm=jtJ5b%gm4xYhZxL-^Ozs9n!j*{>Y-g?Ax*
zz_I(N(IDy3p8N|=IIfMK!!~=6WPdl<T|4|;WcSuj1|8YY6Wm>%cSkpc_%nxp+dk;k
z<A><A&VO`%2C8mfS4TPKRtm16GZk>2q?t;Bi4xZcxfOKw*ewmZy60MJOzCji6WpfW
z at a)Kbee$z_M at BKJEj$HWFF-rq4JO#a&yOo1fNspgB($~O1z@)U?Dlv2v}R1Oeca&Y
zY2k4JpC80>Lhj#6BEK2qLk0bZU<dK;eH;^Prw7jTVCZW4jaPfR(K8f%^~tN at h$gSY
z=gkeA>lhP-W8Cw7KExcn1d!3D<wdGei)t!RRiUa3D<V}PCz at 0myD5PnDvB(_qNc&T
zWl(hqNQo*6Q8kO?WOCAz$82fjglqr;l2|kmwM>#f8$hT at imJFOQbo)uGU|!a@;t4`
zpc|T^Ey+5?KV*t4O(a#eWD}x5OrJ+`eu;C)Vo{ZRzvLR+K3&2!m{m>7C^msPx(1 at T
zazjVEmTW-EKTAr{q~$5nQh=;lMj4-HLCDT5+|Oq66p%2RnO}I+vNhH!Eoep6@*TE}
PGXY(l4gb#~-ZH>ndrko0
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.yaml b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.yaml
new file mode 100644
index 0000000000000..9aa711a9068c2
--- /dev/null
+++ b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.arm64.opt.yaml
@@ -0,0 +1,47 @@
+--- !Missed
+Pass: inline
+Name: NoDefinition
+DebugLoc: { File: basic1.c, Line: 38, Column: 10 }
+Function: main
+Args:
+ - Callee: foo
+ DebugLoc: { File: basic1.c, Line: 0, Column: 0 }
+ - String: ' will not be inlined into '
+ - Caller: main
+ DebugLoc: { File: basic1.c, Line: 37, Column: 0 }
+ - String: ' because its definition is unavailable'
+...
+--- !Analysis
+Pass: prologepilog
+Name: StackSize
+DebugLoc: { File: basic1.c, Line: 37, Column: 0 }
+Function: main
+Args:
+ - NumStackBytes: '0'
+ - String: ' stack bytes in function '''
+ - Function: main
+ - String: ''''
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+DebugLoc: { File: basic1.c, Line: 38, Column: 10 }
+Function: main
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: entry
+ - String: "\n"
+ - String: TCRETURNdi
+ - String: ': '
+ - INST_TCRETURNdi: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionCount
+DebugLoc: { File: basic1.c, Line: 37, Column: 0 }
+Function: main
+Args:
+ - NumInstructions: '1'
+ - String: ' instructions in function'
+...
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.empty.arm64.opt.bitstream b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.empty.arm64.opt.bitstream
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.bitstream b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.bitstream
deleted file mode 100644
index 0a0f8e0ffd4cf2f7b39250267d23adc03b48acd4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1696
zcmaJ>&u<%55T0#_os=YmDj;X;glCkJ6s5>coYrw1VS8OjzzxAMYB=Gwy~%F7*|m1p
zNgOV2oq9P`6+%Ju(8F5d5FsQ`l|v6bB(*A{s0R~891ubTai{<Z{siW&?fkg#B=7s?
z%{MdOx6gLsTH<}C4d5yOIGKmxt>}1-3xq;DLyt=nh`ugOY?MO9Nbpf<{Bbo>3^>|)
zUhnUZyt-HEdlKpYiRt*e;{Jp0-#_g8CGug|S{2J5Th79ib0y&PT4t`>xjf{2%1pL>
z(aJSz4tFkQEAF2?Sl71=eS04FF7`MiQ^PN2KlgCYcSerWMfYCB{pX>3yV&<D?|yQt
zK4`yqFYK8Oh0Ng%ZeqO@`nJVoRVQkwwHkU>`kkqmUG1%ffVn1`TF$u!rBA1vYhkCC
zm|C~FhRRarip$Jdrm^Z=sl_bLwEGQA5A9aR4>+`p%`#{Dg5c=@Xu)@b8*Ji-t_$4&
zXK^1O-J3gS0JaftzkHU`?B#cNd0az{!16H1{Mk*W6`)9KPV+0S_-Xz*3^y*+`C$hJ
ztm|E|!`&d&ehaLpy-YnSIvi}jSWLxkm)jF>ir-s at w;ipl_x_I-Q##+p25r6V$Q}4+
zZgU4!()qxKUFRzNx?}&#cndXyy6B=>n_Q~Z4*rKrrEQIdTW+yU!>RY~lwW!Hf|#;<
zHS>4aroq%VG~d(6cVfN&$|}|mBclE+rtIrw7euR4DPQhH at CZSGf?Whb1W2-bQ+ZpH
zw6-~$d}lgdvvUM<v~R0_+xrGr?dW{lf6(oEUg66Qmc1eVg`j+%z44h1QqVcp<0v!!
zXSHyLRVhE+_7=;%>|Mrx at UN?8VNDhpafe^LUy1aFxz4W`swd^B%~lt}C8R!})Lxq^
zBK0n%+V^hzM~%n+$p>t>^b*Rmzgs`xe$NLmqsD{<Ns$amRX|c?Nf98g<aHtIgEX&8
znUS|L!11yy2pDTHXK0eL2xLW)WumACNeiT2mc`vrNu8_#CNezsA(Ek!?9mJ&=_If4
z%e*A>X<2{;RfTDLY!(JlKn4a+_Zy_M43WT4M%9f;;P45Td}ChU7z`6b)C65r<?JLR
zn-H#y!9^gvK{BXYmkfbG5aQIC56k8Jk^&=RFadFu&vLSwP79ilg~eqBWIQ420x=3X
zEK1 at Nq|p(ujS8}~Bq_Xs)DzyQpG>m{Nf*$6Gl~{~3cy#!XKv0(YXamnRaO^;oP<x9
z$uHTNXu%M4 at B+~(4_jb}uYfG%l?=TVG6?T9Aowoh%hC-kZ)dJatHA3^mvVR|hM+-|
z-d9vsGdF|eL;!+fXa)S|h{O`JfT`)3x#TBy5RWCU=cW2V11Gt})#OKsnQY_uWPCiD
zQ}c>JEu4^}!ziHeBYCG>;PBXWO>fS&v3=AS)4(Gzmpqo#z?hrYj(HSE<MmFs$78ee
kIr^orZ5>5uXa0mWiqTk|M8RAV%QT^W&<uRz^!Gv6f5GhKssI20
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.yaml b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.yaml
new file mode 100644
index 0000000000000..4aa53015a988f
--- /dev/null
+++ b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.arm64.opt.yaml
@@ -0,0 +1,194 @@
+--- !Missed
+Pass: inline
+Name: NoDefinition
+DebugLoc: { File: basic2.c, Line: 11, Column: 3 }
+Function: unused1
+Args:
+ - Callee: bar
+ DebugLoc: { File: basic2.c, Line: 0, Column: 0 }
+ - String: ' will not be inlined into '
+ - Caller: unused1
+ DebugLoc: { File: basic2.c, Line: 10, Column: 0 }
+ - String: ' because its definition is unavailable'
+...
+--- !Missed
+Pass: inline
+Name: NoDefinition
+DebugLoc: { File: basic2.c, Line: 20, Column: 10 }
+Function: foo
+Args:
+ - Callee: bar
+ DebugLoc: { File: basic2.c, Line: 0, Column: 0 }
+ - String: ' will not be inlined into '
+ - Caller: foo
+ DebugLoc: { File: basic2.c, Line: 19, Column: 0 }
+ - String: ' because its definition is unavailable'
+...
+--- !Passed
+Pass: inline
+Name: Inlined
+DebugLoc: { File: basic2.c, Line: 20, Column: 25 }
+Function: foo
+Args:
+ - String: ''''
+ - Callee: inc
+ DebugLoc: { File: basic2.c, Line: 14, Column: 0 }
+ - String: ''' inlined into '''
+ - Caller: foo
+ DebugLoc: { File: basic2.c, Line: 19, Column: 0 }
+ - String: ''''
+ - String: ' with '
+ - String: '(cost='
+ - Cost: '-15015'
+ - String: ', threshold='
+ - Threshold: '75'
+ - String: ')'
+ - String: ' at callsite '
+ - String: foo
+ - String: ':'
+ - Line: '1'
+ - String: ':'
+ - Column: '25'
+ - String: ';'
+...
+--- !Missed
+Pass: gvn
+Name: LoadClobbered
+DebugLoc: { File: basic2.c, Line: 15, Column: 10 }
+Function: foo
+Args:
+ - String: 'load of type '
+ - Type: i32
+ - String: ' not eliminated'
+ - String: ' because it is clobbered by '
+ - ClobberedBy: call
+ DebugLoc: { File: basic2.c, Line: 20, Column: 10 }
+...
+--- !Missed
+Pass: gvn
+Name: LoadClobbered
+DebugLoc: { File: basic2.c, Line: 20, Column: 36 }
+Function: foo
+Args:
+ - String: 'load of type '
+ - Type: i32
+ - String: ' not eliminated'
+ - String: ' because it is clobbered by '
+ - ClobberedBy: call
+ DebugLoc: { File: basic2.c, Line: 20, Column: 10 }
+...
+--- !Analysis
+Pass: prologepilog
+Name: StackSize
+DebugLoc: { File: basic2.c, Line: 10, Column: 0 }
+Function: unused1
+Args:
+ - NumStackBytes: '0'
+ - String: ' stack bytes in function '''
+ - Function: unused1
+ - String: ''''
+...
+--- !Analysis
+Pass: prologepilog
+Name: StackSize
+DebugLoc: { File: basic2.c, Line: 19, Column: 0 }
+Function: foo
+Args:
+ - NumStackBytes: '16'
+ - String: ' stack bytes in function '''
+ - Function: foo
+ - String: ''''
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+DebugLoc: { File: basic2.c, Line: 11, Column: 7 }
+Function: unused1
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: entry
+ - String: "\n"
+ - String: ADRP
+ - String: ': '
+ - INST_ADRP: '1'
+ - String: "\n"
+ - String: LDRWui
+ - String: ': '
+ - INST_LDRWui: '1'
+ - String: "\n"
+ - String: TCRETURNdi
+ - String: ': '
+ - INST_TCRETURNdi: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionCount
+DebugLoc: { File: basic2.c, Line: 10, Column: 0 }
+Function: unused1
+Args:
+ - NumInstructions: '3'
+ - String: ' instructions in function'
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+Function: foo
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: entry
+ - String: "\n"
+ - String: ADDWrs
+ - String: ': '
+ - INST_ADDWrs: '3'
+ - String: "\n"
+ - String: ADRP
+ - String: ': '
+ - INST_ADRP: '3'
+ - String: "\n"
+ - String: LDRWui
+ - String: ': '
+ - INST_LDRWui: '3'
+ - String: "\n"
+ - String: ADDWri
+ - String: ': '
+ - INST_ADDWri: '2'
+ - String: "\n"
+ - String: STRWui
+ - String: ': '
+ - INST_STRWui: '2'
+ - String: "\n"
+ - String: ADDXri
+ - String: ': '
+ - INST_ADDXri: '1'
+ - String: "\n"
+ - String: BL
+ - String: ': '
+ - INST_BL: '1'
+ - String: "\n"
+ - String: LDPXpost
+ - String: ': '
+ - INST_LDPXpost: '1'
+ - String: "\n"
+ - String: LDRXui
+ - String: ': '
+ - INST_LDRXui: '1'
+ - String: "\n"
+ - String: RET
+ - String: ': '
+ - INST_RET: '1'
+ - String: "\n"
+ - String: STPXpre
+ - String: ': '
+ - INST_STPXpre: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionCount
+DebugLoc: { File: basic2.c, Line: 19, Column: 0 }
+Function: foo
+Args:
+ - NumInstructions: '19'
+ - String: ' instructions in function'
+...
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.empty.arm64.opt.bitstream b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.empty.arm64.opt.bitstream
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.bitstream b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.bitstream
deleted file mode 100644
index 02a29c9921b9e7b29f0a4048530c3b3195b13140..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1500
zcmZuwU1%d!6h7J7q}xBEE+vdfxshFxN_R=KDW+`-NhYf)c1t(uvifAFlj+W|)0r?c
z+5Y&FHf`r+5s^Oln1Em&3a%okP$bzREM*_!B1J@`5g!&2eD%?DXD0nYFU;KU-1B|s
zeCINgyPbR2)dO$~06ea*l3%AMT5LR#Xoe3eQ;0sROzl+?<<#W2m5GDHR5|YMx$?&F
zaBAqN7I=~xK6ds0RrCMB4L@%Oeofs;R at cPc_p6@utY<auiB!#^*Yhy!`N1{a^GP?`
z(X^W*g_{4DAnF1Q2pk3dPq9XuWJmi79|zeN&FERW>_1BR|7`mk<-l*8|H-D^=z000
zWN<!_Fh}>;sqIQ)zspxWoNA%h!^E at 7@2;9Tc)5E$Zf=OCR`hH@<- at FJBk73{Q}db|
z=xotk^_j)0X{>oxTbU|rTJ^5Zgr6Qx{KVqOSd70En1o<IKo{N(ZcxXEu4`U^Ufiz|
zZ{2kXpo~xBm0n7-R?I&b^!c5j8g!lU=j+Xv{+D0#B`@+{#c=Q1e0>x7mI221j at Uos
zkXk44?Im#8QQ7TghQ;z?W^4Cy?oIJ=wY}x;W+I>dSanriA7myizi#Bl{(i0AbVRU~
z7QO8(YVCRKe7^3Y{phmuo1Ods9>t>Ju1$s at isMslZilWgIdQ(m?d%UBC?fcRf--_H
z5g^Ix-Hm%}f@(XLa`I?*m$7m$(;U{_VJMrf|I~eq<-WPlpn)gf*$wF3cD(H{5!8pB
z8Ub|jGZGJ|^aX<NDfkCLBiT1Ff-I`-!`<#bizsVrKVO7_kyuZc_+C5GO0&HKk=TCZ
z7{R%_!g+R>B=YGxdE`s7)Q0uF)Nnrz0nDixVOdfnLsAux6j at RPC@CdfC`4h2(<T1q
z4IWrdmIVQpRTc7vCMoxUtV*&>6xAS00<mQU+zpl3WDPLEb6AH+hE58nJ&2@}lEOXY
zB$->11?-{0jMcUPAvC~4=wiJP?PZ7r!n~>*)4<{zu8)mJ#>Qck7@{WVqAC}rVW9)z
zt#KFu!Wo1|- at 0T71SVmYP8LPETv}0JEDBRN3&%gmOB(_dHC0yc3q=XvFjrc!GU;_g
z&>;dur#!MmL-a<LOA1e~i-h292jU32p_Q!T+tM0v`pWepUX&qdkfyhomR0`2Bsmv=
zpcvXZ{-dc(ZXPf-GnZfZzzW7-Hj}$olI$Y~FR-~=3wLvK1?TvDeAb**ONv1!IA=(Q
zn}EJg4PF=m(mZeXp&)-Zoxi6!9Xf%ue8Uh01&wA-a}GvJwwQwa!kK9Yqf}4|wo>m*
Nh*fl$pdTWxe*yBar_cZZ
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.yaml b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.yaml
new file mode 100644
index 0000000000000..8570049fab6b0
--- /dev/null
+++ b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.arm64.opt.yaml
@@ -0,0 +1,181 @@
+--- !Missed
+Pass: inline
+Name: NoDefinition
+DebugLoc: { File: basic3.c, Line: 8, Column: 10 }
+Function: unused2
+Args:
+ - Callee: foo
+ DebugLoc: { File: basic3.c, Line: 0, Column: 0 }
+ - String: ' will not be inlined into '
+ - Caller: unused2
+ DebugLoc: { File: basic3.c, Line: 7, Column: 0 }
+ - String: ' because its definition is unavailable'
+...
+--- !Missed
+Pass: inline
+Name: NoDefinition
+DebugLoc: { File: basic3.c, Line: 19, Column: 10 }
+Function: bar
+Args:
+ - Callee: foo
+ DebugLoc: { File: basic3.c, Line: 0, Column: 0 }
+ - String: ' will not be inlined into '
+ - Caller: bar
+ DebugLoc: { File: basic3.c, Line: 16, Column: 0 }
+ - String: ' because its definition is unavailable'
+...
+--- !Passed
+Pass: inline
+Name: Inlined
+DebugLoc: { File: basic3.c, Line: 18, Column: 12 }
+Function: bar
+Args:
+ - String: ''''
+ - Callee: inc
+ DebugLoc: { File: basic3.c, Line: 11, Column: 0 }
+ - String: ''' inlined into '''
+ - Caller: bar
+ DebugLoc: { File: basic3.c, Line: 16, Column: 0 }
+ - String: ''''
+ - String: ' with '
+ - String: '(cost='
+ - Cost: '-15015'
+ - String: ', threshold='
+ - Threshold: '75'
+ - String: ')'
+ - String: ' at callsite '
+ - String: bar
+ - String: ':'
+ - Line: '2'
+ - String: ':'
+ - Column: '12'
+ - String: ';'
+...
+--- !Analysis
+Pass: prologepilog
+Name: StackSize
+DebugLoc: { File: basic3.c, Line: 7, Column: 0 }
+Function: unused2
+Args:
+ - NumStackBytes: '0'
+ - String: ' stack bytes in function '''
+ - Function: unused2
+ - String: ''''
+...
+--- !Analysis
+Pass: prologepilog
+Name: StackSize
+DebugLoc: { File: basic3.c, Line: 16, Column: 0 }
+Function: bar
+Args:
+ - NumStackBytes: '0'
+ - String: ' stack bytes in function '''
+ - Function: bar
+ - String: ''''
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+DebugLoc: { File: basic3.c, Line: 8, Column: 14 }
+Function: unused2
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: entry
+ - String: "\n"
+ - String: ADRP
+ - String: ': '
+ - INST_ADRP: '1'
+ - String: "\n"
+ - String: LDRWui
+ - String: ': '
+ - INST_LDRWui: '1'
+ - String: "\n"
+ - String: TCRETURNdi
+ - String: ': '
+ - INST_TCRETURNdi: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionCount
+DebugLoc: { File: basic3.c, Line: 7, Column: 0 }
+Function: unused2
+Args:
+ - NumInstructions: '3'
+ - String: ' instructions in function'
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+DebugLoc: { File: basic3.c, Line: 0, Column: 0 }
+Function: bar
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: entry
+ - String: "\n"
+ - String: ADRP
+ - String: ': '
+ - INST_ADRP: '1'
+ - String: "\n"
+ - String: Bcc
+ - String: ': '
+ - INST_Bcc: '1'
+ - String: "\n"
+ - String: LDRWui
+ - String: ': '
+ - INST_LDRWui: '1'
+ - String: "\n"
+ - String: SUBSWri
+ - String: ': '
+ - INST_SUBSWri: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+DebugLoc: { File: basic3.c, Line: 12, Column: 10 }
+Function: bar
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: if.then
+ - String: "\n"
+ - String: ADDWri
+ - String: ': '
+ - INST_ADDWri: '1'
+ - String: "\n"
+ - String: RET
+ - String: ': '
+ - INST_RET: '1'
+ - String: "\n"
+ - String: STRWui
+ - String: ': '
+ - INST_STRWui: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+DebugLoc: { File: basic3.c, Line: 19, Column: 18 }
+Function: bar
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: if.end
+ - String: "\n"
+ - String: ADDWrs
+ - String: ': '
+ - INST_ADDWrs: '1'
+ - String: "\n"
+ - String: TCRETURNdi
+ - String: ': '
+ - INST_TCRETURNdi: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionCount
+DebugLoc: { File: basic3.c, Line: 16, Column: 0 }
+Function: bar
+Args:
+ - NumInstructions: '9'
+ - String: ' instructions in function'
+...
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.empty.arm64.opt.bitstream b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.empty.arm64.opt.bitstream
deleted file mode 100644
index e69de29bb2d1d..0000000000000
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.bitstream b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.bitstream
deleted file mode 100644
index c2f33a8a6e3ab112b2d7cbe7911f821f623f8ac8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 820
zcmY+BQESss6vt2Pw$wRBr=kPXl8R#!XPsNA*%~2foOH;x+D=grT+FgHY)wj%y0(I3
zM3y%Z*#}6$hduZtKKQVQZABQvhcd(m5uxIPh#$gp+ileg$^D)4&-veTZZgxEJH7zG
zBmhvpcl`V0cwJ;UZf9uANg%y(5*rR at 3lkrl@vWL*vt5C+7sFxU+<rB*D}=xJdj3 at D
zpHlds5&9<F<-JmF{h>#dQ`9O;jd*S$NIe~*KKgD3UU!N|HI1Fi3sw4S1nWZE5ZaH>
zd+5<%Qp2YfUPZ)TJELvcruPN<cZ1%xL*FHOcdd2Mf&G$?q&dzV-VhTn9PX{Z->W6+
z*lUgZ<oxhe-QJU(W!A0aT%$l$z<HLUDm*p9xJJ;eU}y90YQJ0XT&qN_)^B;D+w{9M
zHMCb7|19FjXeOTsO+cgvz>jx>8*Ji3)<6)T3-=fk+*~6fS*N>mER(d?J6d`lreaDT
z at AqHmjd67l#EyY82t2|S0`myh2-pZ?1U!Tr1hx?p2*j40)k(bczV=zq`CPyU&E6iN
z7C#S=wIq2tt5y^!82XC7q!d(qLtaufSd^@2UXpWq)KK!0v1~?5Y&<H%OflaqOO`Fg
z1QtCERa*kaBwoxDl4VqlSuAR at rRo|p2)7Rr24PAwEu+{JrqvQiX8vjc%Pqx#q-3gc
zaz&SyCzyW%P&CUZLpMy%-X9yytAOg%Om^<^QGA^!@t9#8r<*}~HjR5LcgX2`*;G4s
u7-S~r;<46eEqpMW85=!vI}X}?i+WMB$SwRciwSYSp^s<#?*_;Z!Sxs2<NKKa
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.yaml b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.yaml
new file mode 100644
index 0000000000000..e6aa3454d4007
--- /dev/null
+++ b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.yaml
@@ -0,0 +1,53 @@
+--- !Analysis
+Pass: prologepilog
+Name: StackSize
+DebugLoc: { File: fat.macho.remarks.x86.c, Line: 14, Column: 0 }
+Function: main
+Args:
+ - NumStackBytes: '8'
+ - String: ' stack bytes in function '''
+ - Function: main
+ - String: ''''
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+Function: main
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: entry
+ - String: "\n"
+ - String: MOV32mi
+ - String: ': '
+ - INST_MOV32mi: '1'
+ - String: "\n"
+ - String: MOV64rr
+ - String: ': '
+ - INST_MOV64rr: '1'
+ - String: "\n"
+ - String: POP64r
+ - String: ': '
+ - INST_POP64r: '1'
+ - String: "\n"
+ - String: PUSH64r
+ - String: ': '
+ - INST_PUSH64r: '1'
+ - String: "\n"
+ - String: RET64
+ - String: ': '
+ - INST_RET64: '1'
+ - String: "\n"
+ - String: XOR32rr
+ - String: ': '
+ - INST_XOR32rr: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionCount
+DebugLoc: { File: fat.macho.remarks.x86.c, Line: 14, Column: 0 }
+Function: main
+Args:
+ - NumInstructions: '6'
+ - String: ' instructions in function'
+...
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.bitstream b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.bitstream
deleted file mode 100644
index c2f33a8a6e3ab112b2d7cbe7911f821f623f8ac8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 820
zcmY+BQESss6vt2Pw$wRBr=kPXl8R#!XPsNA*%~2foOH;x+D=grT+FgHY)wj%y0(I3
zM3y%Z*#}6$hduZtKKQVQZABQvhcd(m5uxIPh#$gp+ileg$^D)4&-veTZZgxEJH7zG
zBmhvpcl`V0cwJ;UZf9uANg%y(5*rR at 3lkrl@vWL*vt5C+7sFxU+<rB*D}=xJdj3 at D
zpHlds5&9<F<-JmF{h>#dQ`9O;jd*S$NIe~*KKgD3UU!N|HI1Fi3sw4S1nWZE5ZaH>
zd+5<%Qp2YfUPZ)TJELvcruPN<cZ1%xL*FHOcdd2Mf&G$?q&dzV-VhTn9PX{Z->W6+
z*lUgZ<oxhe-QJU(W!A0aT%$l$z<HLUDm*p9xJJ;eU}y90YQJ0XT&qN_)^B;D+w{9M
zHMCb7|19FjXeOTsO+cgvz>jx>8*Ji3)<6)T3-=fk+*~6fS*N>mER(d?J6d`lreaDT
z at AqHmjd67l#EyY82t2|S0`myh2-pZ?1U!Tr1hx?p2*j40)k(bczV=zq`CPyU&E6iN
z7C#S=wIq2tt5y^!82XC7q!d(qLtaufSd^@2UXpWq)KK!0v1~?5Y&<H%OflaqOO`Fg
z1QtCERa*kaBwoxDl4VqlSuAR at rRo|p2)7Rr24PAwEu+{JrqvQiX8vjc%Pqx#q-3gc
zaz&SyCzyW%P&CUZLpMy%-X9yytAOg%Om^<^QGA^!@t9#8r<*}~HjR5LcgX2`*;G4s
u7-S~r;<46eEqpMW85=!vI}X}?i+WMB$SwRciwSYSp^s<#?*_;Z!Sxs2<NKKa
diff --git a/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.yaml b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.yaml
new file mode 100644
index 0000000000000..e6aa3454d4007
--- /dev/null
+++ b/llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.yaml
@@ -0,0 +1,53 @@
+--- !Analysis
+Pass: prologepilog
+Name: StackSize
+DebugLoc: { File: fat.macho.remarks.x86.c, Line: 14, Column: 0 }
+Function: main
+Args:
+ - NumStackBytes: '8'
+ - String: ' stack bytes in function '''
+ - Function: main
+ - String: ''''
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionMix
+Function: main
+Args:
+ - String: 'BasicBlock: '
+ - BasicBlock: entry
+ - String: "\n"
+ - String: MOV32mi
+ - String: ': '
+ - INST_MOV32mi: '1'
+ - String: "\n"
+ - String: MOV64rr
+ - String: ': '
+ - INST_MOV64rr: '1'
+ - String: "\n"
+ - String: POP64r
+ - String: ': '
+ - INST_POP64r: '1'
+ - String: "\n"
+ - String: PUSH64r
+ - String: ': '
+ - INST_PUSH64r: '1'
+ - String: "\n"
+ - String: RET64
+ - String: ': '
+ - INST_RET64: '1'
+ - String: "\n"
+ - String: XOR32rr
+ - String: ': '
+ - INST_XOR32rr: '1'
+ - String: "\n"
+...
+--- !Analysis
+Pass: asm-printer
+Name: InstructionCount
+DebugLoc: { File: fat.macho.remarks.x86.c, Line: 14, Column: 0 }
+Function: main
+Args:
+ - NumInstructions: '6'
+ - String: ' instructions in function'
+...
diff --git a/llvm/test/tools/dsymutil/X86/remarks-linking-fat-bundle.test b/llvm/test/tools/dsymutil/X86/remarks-linking-fat-bundle.test
index 13a7f87c79b66..b2605a73ac39b 100644
--- a/llvm/test/tools/dsymutil/X86/remarks-linking-fat-bundle.test
+++ b/llvm/test/tools/dsymutil/X86/remarks-linking-fat-bundle.test
@@ -1,16 +1,18 @@
REQUIRES: system-darwin
RUN: rm -rf %t
-RUN: mkdir -p %t
+RUN: mkdir -p %t/private/tmp/remarks
RUN: cat %p/../Inputs/remarks/fat.macho.remarks.x86 > %t/fat.macho.remarks.x86
+RUN: llvm-remarkutil yaml2bitstream %p/../Inputs/private/tmp/remarks/fat.macho.remarks.x86_64.opt.yaml -o %t/private/tmp/remarks/fat.macho.remarks.x86_64.opt.bitstream
+RUN: llvm-remarkutil yaml2bitstream %p/../Inputs/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.yaml -o %t/private/tmp/remarks/fat.macho.remarks.x86_64h.opt.bitstream
-RUN: dsymutil -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%p/../Inputs %t/fat.macho.remarks.x86
+RUN: dsymutil -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%t %t/fat.macho.remarks.x86
Check that the remark files in the bundle exist and are all sane:
RUN: llvm-bcanalyzer -dump %t/fat.macho.remarks.x86.dSYM/Contents/Resources/Remarks/fat.macho.remarks.x86-x86_64h | FileCheck %s
RUN: llvm-bcanalyzer -dump %t/fat.macho.remarks.x86.dSYM/Contents/Resources/Remarks/fat.macho.remarks.x86-x86_64 | FileCheck %s
-RUN: dsymutil --linker parallel -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%p/../Inputs %t/fat.macho.remarks.x86
+RUN: dsymutil --linker parallel -oso-prepend-path=%p/../Inputs -remarks-prepend-path=%t %t/fat.macho.remarks.x86
Check that the remark files in the bundle exist and are all sane:
RUN: llvm-bcanalyzer -dump %t/fat.macho.remarks.x86.dSYM/Contents/Resources/Remarks/fat.macho.remarks.x86-x86_64h | FileCheck %s
More information about the llvm-branch-commits
mailing list