From 66da072fd71edae181c601ce44a04a089e5f09fd Mon Sep 17 00:00:00 2001 From: visualfc Date: Fri, 17 May 2024 19:30:56 +0800 Subject: [PATCH] ssa: fix global array --- cl/_testdata/importpkg/out.ll | 2 +- cl/_testdata/method/out.ll | 2 +- cl/_testdata/printf/out.ll | 2 +- cl/_testdata/printval/out.ll | 2 +- cl/_testdata/ptrmthd/out.ll | 2 +- cl/_testrt/gblarray/out.ll | 4 ++-- cl/_testrt/hello/out.ll | 2 +- cl/_testrt/strlen/out.ll | 2 +- cl/_testrt/struct/out.ll | 2 +- cl/_testrt/typalias/out.ll | 2 +- internal/runtime/llgo_autogen.lla | Bin 6611 -> 6629 bytes ssa/decl.go | 17 +++++++++++++++-- 12 files changed, 26 insertions(+), 13 deletions(-) diff --git a/cl/_testdata/importpkg/out.ll b/cl/_testdata/importpkg/out.ll index dc48a001..7097b520 100644 --- a/cl/_testdata/importpkg/out.ll +++ b/cl/_testdata/importpkg/out.ll @@ -1,7 +1,7 @@ ; ModuleID = 'main' source_filename = "main" -@main.hello = global ptr null +@main.hello = global [7 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/cl/_testdata/method/out.ll b/cl/_testdata/method/out.ll index cbec5de4..c8a40fd1 100644 --- a/cl/_testdata/method/out.ll +++ b/cl/_testdata/method/out.ll @@ -1,7 +1,7 @@ ; ModuleID = 'main' source_filename = "main" -@main.format = global ptr null +@main.format = global [10 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/cl/_testdata/printf/out.ll b/cl/_testdata/printf/out.ll index 02d042b6..fd92dcbe 100644 --- a/cl/_testdata/printf/out.ll +++ b/cl/_testdata/printf/out.ll @@ -1,7 +1,7 @@ ; ModuleID = 'main' source_filename = "main" -@main.hello = global ptr null +@main.hello = global [7 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/cl/_testdata/printval/out.ll b/cl/_testdata/printval/out.ll index 6b97f9ef..28677659 100644 --- a/cl/_testdata/printval/out.ll +++ b/cl/_testdata/printval/out.ll @@ -1,7 +1,7 @@ ; ModuleID = 'main' source_filename = "main" -@main.format = global ptr null +@main.format = global [10 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/cl/_testdata/ptrmthd/out.ll b/cl/_testdata/ptrmthd/out.ll index 79d70308..ff58cec0 100644 --- a/cl/_testdata/ptrmthd/out.ll +++ b/cl/_testdata/ptrmthd/out.ll @@ -1,7 +1,7 @@ ; ModuleID = 'main' source_filename = "main" -@main.format = global ptr null +@main.format = global [10 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/cl/_testrt/gblarray/out.ll b/cl/_testrt/gblarray/out.ll index d0f42446..c722d6d0 100644 --- a/cl/_testrt/gblarray/out.ll +++ b/cl/_testrt/gblarray/out.ll @@ -3,9 +3,9 @@ source_filename = "main" %"github.com/goplus/llgo/internal/abi.Type" = type { i64, i64, i32, i8, i8, i8, i8, { ptr, ptr }, ptr, i32, i32 } -@main.basicTypes = global ptr null +@main.basicTypes = global [25 x ptr] undef @"main.init$guard" = global ptr null -@main.sizeBasicTypes = global ptr null +@main.sizeBasicTypes = global [25 x i64] undef @__llgo_argc = global ptr null @__llgo_argv = global ptr null @0 = private unnamed_addr constant [20 x i8] c"Kind: %d, Size: %d\0A\00", align 1 diff --git a/cl/_testrt/hello/out.ll b/cl/_testrt/hello/out.ll index f71fe323..f8cd7298 100644 --- a/cl/_testrt/hello/out.ll +++ b/cl/_testrt/hello/out.ll @@ -1,7 +1,7 @@ ; ModuleID = 'main' source_filename = "main" -@main.format = global ptr null +@main.format = global [10 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/cl/_testrt/strlen/out.ll b/cl/_testrt/strlen/out.ll index f71fe323..f8cd7298 100644 --- a/cl/_testrt/strlen/out.ll +++ b/cl/_testrt/strlen/out.ll @@ -1,7 +1,7 @@ ; ModuleID = 'main' source_filename = "main" -@main.format = global ptr null +@main.format = global [10 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/cl/_testrt/struct/out.ll b/cl/_testrt/struct/out.ll index 04ab01fc..2888d80f 100644 --- a/cl/_testrt/struct/out.ll +++ b/cl/_testrt/struct/out.ll @@ -3,7 +3,7 @@ source_filename = "main" %main.Foo = type { i32, i1 } -@main.format = global ptr null +@main.format = global [10 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/cl/_testrt/typalias/out.ll b/cl/_testrt/typalias/out.ll index b77f76a7..bb9068ea 100644 --- a/cl/_testrt/typalias/out.ll +++ b/cl/_testrt/typalias/out.ll @@ -1,7 +1,7 @@ ; ModuleID = 'main' source_filename = "main" -@main.format = global ptr null +@main.format = global [10 x i8] undef @"main.init$guard" = global ptr null @__llgo_argc = global ptr null @__llgo_argv = global ptr null diff --git a/internal/runtime/llgo_autogen.lla b/internal/runtime/llgo_autogen.lla index ebb1ce756eaf7011cf8bfa45ad59a2250c7707e4..4f9b44615f8d17ef8d6221bf6adcb63592047ad1 100644 GIT binary patch delta 6314 zcmV;b7**%fGvzZmP)h>@6aWAK2mo}Nu~-T`iXkx>004LX000jF8~|)=XK!C&b#!lM zWo|BPY*kbV00T=sM`pP_N3l6J0e^&f-ov;)uzI!+v*YHryc;mzaWq+fu)X_b#l#l*K9o+*B`RMoR=pIPON54=<_rO3t`hzn1 z_B{|JcUqks#o!NubB6twqc zRj$f)xv9{^%MD@hTtl+bGU!XtS6*$4TRtUvSAqnYpO<`7%hfmA-NPl>%6bonYua<5 z?hXPRA7C+jI`IYPp?`Gfy{GzTqsKIF1<9s@1YyRZ+U`rMw``6elpu`S5y9fs=>im= z>mLBE5>rfIits$5U_|JFWNa`nLZ&)GCem(XDv>UB4-B*L&$L1C7!!5g4mL6c=twex z9o{mV(dlx|6a{(+oao`ZgA1%eovgcmY^UdRA=Ap^SeP=6y-&-e#*GKh3C2qiK= zbW%%Ef-vBxKgFO^~SXI)WUbFW$z#W1W9T5)@v<2zGll)5kgy_Yxw@#dM?|*-*wehlk&A-!Gf)4rQjE1 zkzCplVwYC?szyeth6l51i?9)WzutdFd$u{0`|5MCI?6=6+b$2=O(R7?y<0&u2Amj# zzQ?~Jr^7W9uj(U!?lpAXYjt+T7bP($3-)Wr&YIy*9DnVJqdjpn?;OoZl>&h@p@{|B zvI)vCZH&Z|?9~>aR%Yxnp+D9=2h2bjzGeMc*N^4DDL=+MuQ3dXd#HXP_*EbPtC=d!#_49UlJ5)gagZ%M5a&gv%67c0fYS>~h9b0rl;Aee@U|%p9clEs4 zHLLBC6n}uh0=xey|4{r|zTP|xSA!U=5W$MU9Ef1=_BE_OA$Pou`W2#OkDGm2EIt)C ztJ15Qirz$^oH2Rc_v>B7wqI2x17H3n;6;}VL|qb7lxL3+(DlC&{7yjAXNX=*qx2?M zPUDwE(#YtSik!6_)$eaXijjb`2-N-u{p8nqvVVe}tf0yLI*862r_E#6)tlG@B+5E? z9J&iQlkx&I?PVHe}OI`H43_@n)aAnQ+#6Shd9~ zU^at%TlHTAz%#r=%Xi=Q4ABa>@pc9p=aUd5Hmi9aC?hB#D4=7 zzY$eFRq^%s81>kkb!6^6j!|LYtPVy+(7{Ipsv8VwtNHU$tv0KT~`>7$Z$QWNO#pc*E#y9{N+0B<_^9Xi2QxQ-9HdBBli~ z@L~p@pLQ1Q;6VjErp3waEO0|219%A|{d<}k8B4T}ddEq`uKu0TBMx1Tm;jk-&>%>m z08QFA(J69bMHm{LEh1(8`KlyqCzfPm;+jbsI?yLo z*pjKyxA6_w#Tdu%Bp5K?t1H1%WL3@%k2R?bB=sroE0di}r&fb0Ie&-2)Y!mHC?I_l z_EK^ldnp~wT=EjHmD!xZo0ZSB{$ZIOBh?6Go(pQLT9mGmOybeN@Z!4f+!X-zZQ)*Z zZZ68E4n$hCXzPTN*g63-Q{`iVa)k-9CnvCVATw6|)L~n;s#7EDu^a*NkTab(b zva6#lw(kJ-Q%!Q!x7+Qi>HK8Z!zuJv>dPo*O6##vwIW-C4DX^#Y3Y^0xd{CjX3RLJ z-Nta^BOm6Cd(SP~^J+rL@wv_mn$OFP3je3(A~naq-5zVByd}~94w*~adI9#-HMwSh zT1?Xs>RArHNq-j%&wB7G5joLkDtX(d+{^6DOfNL;r8`4HO2r*&AFq-KmehoR%HP~Y=CcLLzN$CSKbbqNKPDG}IXCF?uP+?nwmQ(PT zP>OA_id5tlbylcw_YzRk(wEsR(u+WNiKK>M#uGKWST&)|q;&3{P!ciVRzuK@V>}4@ z1EImdktb$O))st=8+-#iu#`&(r?O_%In0uRzyRe&&!b>2+`HT5XS!oR*e%Lfut!$g zTI7anIe&O9k4STG^Oi{ibPC=3#&;088->*v#xYMXI*bPN_k?NEN1EdZ6JfIEGvTqQ z`6%KG!3ZB4aq;5At|{sL%rrOD<~B_Y)TuSin=wZ)Kz}eFJ@z{HBN%k3P&19S=qm?q zfX<*Z!cI?j2lt9K$1^a|Jx9R-LRp74Wd8EIO@DdM_mTO!9bY0m`4W7~2gqyvB~tFj zrq>Z6hbdq_X^}->U#q|;Ish9W#&y6rO#+_5-0XRBimItlhr+OgekSmWn2<1bT^mW5 zO%!Pp1^P5x2fHsj_6rl0mgA_Z;gE}`0qTX$DG5I2Vps<;C49mm<^(9=kU|`S&Jz{@ z8-F0Y&46ihGra)1$Yj7%1qp_SKtmZQU|34IwQ#T*IoJ?N_<^ZI9R_oKSZLz0%I*qG zHq=xm4MB3YH7>#*ViF1?m9)c5JNS7hT~ik3*G5((oSBnICx9iYm4o)Ih7Nz3nusiH zC9+UeM_{`;0$s!^{vhd4qS0SSdD@?0Fq{kv!#z99$!qT*0H~8OQRBCt~&5jJY@?2v`DcB2PI4?||785X)E> z>(v`5QAKnws)9>Xbs(2yE-Ip^;C~TB$W^907Zm|&+Qpoe!bW>bf;L{u1_6B#(6$0m zh`?(TjkT(l6J%L<&`HU|1rdpuyMx|=$f9J3EdtEONOIB`5f0QzBjktGyig?TULY49 zXbvV34D3etN^nsY5-#LW(EX|baYrjmIuV$3l2Trmp$92nPfqoC&~{H|9)C$nw=a{3 zD9H@~Vi#|qz?XCQQiN{DeYwU{rvV!S1-Mf{;Z6sgy2PRCDQW$PbnNpKoyP%#puio= zaMurVxDye+n87!QH-$2Ml!c};b4uAowG);uGZ>p6O$JsV{|T(45%>SzFRNh{1x?OG znn{5Ox6tkXmS0ZYG4JZR4u1kuyxC7IH>9!LBST$uEFd{sTvBN%g~+P>QtgXHa{-%8 zsPVe9Hi(fGt)_=GM5ky^GEw!RQ<|z8%luC*v;#C+g~jHPX%O@@T4Gh2Tii=nnyU{i zXvI7v$mhg6=J$PlSu5k2vVj~-kt(k9YazM4_dZKQJ7V=OdzmcOfeM|bsSzPI2623lqdRaEo zRx3JOY68`3Yvg`d{(t)+_G-|rT%O~nJ6<~!KoZFu3MuE@ruff;(n1fHHMf}_1So=V zmbNt@6hJsfc2VlI@K0O(c|)#eOOeVvzJzs+sq0JR9?h$_=&FNu^GbFz1+tufB)1P+ zQ(SarisSb~h|V=*_|l7E0%VP{Q=t^{-?46Jy+^++85Tw!aerGTS0jG!q`M`Bt0k@9 zh5IXj$5$EN-Jvl&#&DXDVyVHM7brxg;+)YduK*<_rH)(f`ZYz>6t8OHP{?IZXGvaW zHPN1PlnO4*&sN6arY7U=ym_d~gMTHs)B6cM9+aR}{WpY8G8*&?rKC}o2O~!ULmmk1l`&!Rq_YdS@?yE_~QBPky6dbcY#w|`a!lfn^LM{t#e+O=TO`&jsC zz!HglEL=@9+3CypUHKd94|{^!jpznq_o`c}U@i?*C|B`!Ke(T6P|Ew+b#xmY41T@4 z&_XSc0fC}i$Gj7=X!4iOYBrdnHM;SgWnJUg>nQGSA{WD$QdRWsDNtq zkR=?E_gT@B)VL4vG> zduu%G)$Qf@s>VBSJ>4JKaofq<*K7ah`I(l0rh)3&ZZ-PEEKrc7F28J-YR(B3s zThjZ*^ME;fR7ZnsgL?A3bWt2MWg{uRm#F>lbD`%DaZQ9*%uV8_HN2n87NC6D!YD1< z4VNvz5%?z5FD?*oPG@)0wcStvnC2$)Rx5Xs2AO+r_}o6@!0q0gr|OdbhU${4xPLiu zi%zfN5^Ereo8|L&4?DICGNmR|k&+8e<@!)WgujL zvTF7UN31LilE~!32G$NW^Q9MNLw{D%Hx6aRhcw3{<+hWvvj*&@I4l>KZpTYhixc;| zJyiBG>{<_|;0-{kOb>YBJ9ZZwNHLaL`9Pm*5o;iVA8ljl>G3V-KPqB`8~ zg1Mn3r;g>cG8EEGx^vC&X7ToKSXi9Z_CGpO$H?#t*6kk@TV&lHh zy%%=K@(=Q%Kb$cXbXcMOUw>S1pQ!OBY<9Ar0<%zm45SS_Bb(jv$k;Z;DTzkznJC0l zos)fah;fT;d!g~TJfK7%xr^jG&}*ltIc%rE!jOV)Ek5* z{L}rh*xz1?8{Tq-=s4bIp+PS|KA6(eOAK+jA`elsxt?4bS;k!()WRD!+q;L?n}1E1F_nM#<5Ou zXYRZhzM^iDW%AnL_-n(qwLA0@A8UtgYscfS9ks39A&q^k9k;EWj=y%&wswae=40)& zZS8#gwX?Rhsei|C%*FH8#XD?IFWe<)U407P*2>(#1l$d@vNtdRe*>)y4otw|Kr4&u zvN*h~-pb^_1Y8cZvNBtQ0qY1sqXH_70G*S;&Qlx z7s!c@!}e}n{93My-N(ba*4)ft5J#tdl*#UY6hnHoFMl?-&)hS8>3W~)R}iA-LbjEX zPRgo&)H-M~)Vd1Z&>iVy-ZpQYg?ds^3tsM56*Nt?=sm@gMxvVxW^b|RNQ=tW@WWWR z&r1!%j@OKfy`P_Ei%J+oQojLV z5cIO5jDO!gfOa?Uds~`QL{_Q5IjlG^rO3g(?tZVZ;U}b*KDyW8s+iT8t)~N zuUG0fto#X|8QyBcGfhc$1Caa-R!juw1gQB#7P$}d0*&VL|4>T-0v-bt000080CbwM gSPDFfAu$;M0C$st87TuxJx7zR86XCF82|tP0HOXP=l}o! delta 6296 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