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 <m...@stadler-tobias.de> Date: Thu, 18 Sep 2025 12:34:55 +0100 Subject: [PATCH 1/2] 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@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@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@a)Kbee$z_M@BKJEj$HWFF-rq4JO#a&yOo1fNspgB($~O1z@)U?Dlv2v}R1Oeca&Y zY2k4JpC80>Lhj#6BEK2qLk0bZU<dK;eH;^Prw7jTVCZW4jaPfR(K8f%^~tN@h$gSY z=gkeA>lhP-W8Cw7KExcn1d!3D<wdGei)t!RRiUa3D<V}PCz@0myD5PnDvB(_qNc&T zWl(hqNQo*6Q8kO?WOCAz$82fjglqr;l2|kmwM>#f8$hT@imJFOQbo)uGU|!a@;t4` zpc|T^Ey+5?KV*t4O(a#eWD}x5OrJ+`eu;C)Vo{ZRzvLR+K3&2!m{m>7C^msPx(1@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@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@CZSGf?Whb1W2-bQ+ZpH zw6-~$d}lgdvvUM<v~R0_+xrGr?dW{lf6(oEUg66Qmc1eVg`j+%z44h1QqVcp<0v!! zXSHyLRVhE+_7=;%>|Mrx@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@Nq|p(ujS8}~Bq_Xs)DzyQpG>m{Nf*$6Gl~{~3cy#!XKv0(YXamnRaO^;oP<x9 z$uHTNXu%M4@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@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@7@2;9Tc)5E$Zf=OCR`hH@<-@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@Uos zkXk44?Im#8QQ7TghQ;z?W^4Cy?oIJ=wY}x;W+I>dSanriA7myizi#Bl{(i0AbVRU~ z7QO8(YVCRKe7^3Y{phmuo1Ods9>t>Ju1$s@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@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|-@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@3lkrl@vWL*vt5C+7sFxU+<rB*D}=xJdj3@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@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@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@3lkrl@vWL*vt5C+7sFxU+<rB*D}=xJdj3@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@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@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 >From 271edb99edd35357c18ceda276464c419af27e17 Mon Sep 17 00:00:00 2001 From: Tobias Stadler <m...@stadler-tobias.de> Date: Thu, 18 Sep 2025 14:58:33 +0100 Subject: [PATCH 2/2] Readd empty bitstream files Created using spr 1.3.7-wip --- .../tmp/remarks/basic1.macho.remarks.empty.arm64.opt.bitstream | 0 .../tmp/remarks/basic2.macho.remarks.empty.arm64.opt.bitstream | 0 .../tmp/remarks/basic3.macho.remarks.empty.arm64.opt.bitstream | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic1.macho.remarks.empty.arm64.opt.bitstream create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic2.macho.remarks.empty.arm64.opt.bitstream create mode 100644 llvm/test/tools/dsymutil/Inputs/private/tmp/remarks/basic3.macho.remarks.empty.arm64.opt.bitstream 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 new file mode 100644 index 0000000000000..e69de29bb2d1d 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 new file mode 100644 index 0000000000000..e69de29bb2d1d 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 new file mode 100644 index 0000000000000..e69de29bb2d1d _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits