Accepting request 891155 from home:firstyear:branches:devel:languages:rust
- Update to version 1.52: + Language - [Added the `unsafe_op_in_unsafe_fn` lint, which checks whether the unsafe code in an `unsafe fn` is wrapped in a `unsafe` block.][79208] This lint is allowed by default, and may become a warning or hard error in a future edition. - [You can now cast mutable references to arrays to a pointer of the same type as the element.][81479] + Compiler - [Upgraded the default LLVM to LLVM 12.][81451] - Added tier 3\* support for the following targets. - [`s390x-unknown-linux-musl`][82166] - [`riscv32gc-unknown-linux-musl` & `riscv64gc-unknown-linux-musl`][82202] - [`powerpc-unknown-openbsd`][82733] + Libraries - [`OsString` now implements `Extend` and `FromIterator`.][82121] - [`cmp::Reverse` now has `#[repr(transparent)]` representation.][81879] - [`Arc<impl Error>` now implements `error::Error`.][80553] - [All integer division and remainder operations are now `const`.][80962] + Stabilised APIs - [`Arguments::as_str`] - [`char::MAX`] - [`char::REPLACEMENT_CHARACTER`] - [`char::UNICODE_VERSION`] - [`char::decode_utf16`] - [`char::from_digit`] - [`char::from_u32_unchecked`] - [`char::from_u32`] - [`slice::partition_point`] - [`str::rsplit_once`] OBS-URL: https://build.opensuse.org/request/show/891155 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=288
This commit is contained in:
parent
97ea94c873
commit
3daf5fc387
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4f38e4a5e9075d8938877ceed7687c99395a12aec2906b9e118bedb3014ad0ec
|
||||
size 203382140
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT1JCRCFq5bm+hvl/gAAYTkP/jK52uVz3L+Kcw24MGNOnyIC
|
||||
z8gUNL6cvY/wwvgCbwHXcTGyLmZHDh79pdLryh7g4VtFyMHcZjyRTpbBk20lRz9m
|
||||
1yImWQkh5FNQVNLW/nA+pNjaD5ns6n6D1eMrm0V8u5YnelUW9tWg3BQL8KjbyYS1
|
||||
S6MjEFJb5x96hRUAhP9TifxMyI0U5ltxQzqFk2hE/LqySeArVfMix33px3Cdqg5W
|
||||
X55DXhBmOzZeBlOJRMkZEA9ACW8GIdj2yNIX7bo2o3MZs0Txh7zDMKS4LhyaV99j
|
||||
zuUfYjkq7oWYHXcbTkGFLgfX5msyi+qTxFZBlJG/jVn56X3Tq6inxmC5JjbucEci
|
||||
TU8q7sl7jC0mifvYyMRg7iy+Aq5ubZ1mCClWeUmvWnllWQ0fxicFR69acYvBLwQN
|
||||
jYME9EcQUh2FTlLosu2fvKbTJ1MenND+bcHsFY0P/ohTf/ufZEXWjZLZG10fdjwp
|
||||
N6ET+Hw8xn6TYH1sDA6+nzxHgCxjXAB8F8cVmVd7ZmYoVeD8mDmXPY3zDxGXP1lx
|
||||
pcIpWN/yM89JZd0PeoVohsZYxaOcZImOL9R6nVfuSTtOGWTRsW3Xg8X6vl6WgVA0
|
||||
XE5WFaSyPxhuKg3y0lA29V0EEmbhnKfg03wyWWvjdbuyC/GWZOsLK4J788dZIBE6
|
||||
lXigNIG+qazr28AsI3iE
|
||||
=SF05
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8c192ddae41e8dc7ecce173a451877f76523e5b40dc3b38a7a5abd9056b3df2f
|
||||
size 191287452
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT1zCRCFq5bm+hvl/gAAXjMP+wRU2noyrM5C9bDAIPs0u1aK
|
||||
wJJoNM70IGiMhJZbG59WBxNQVs+WqhUrfRxhqOfMe7mfLinDaxnXydX4DJ6N0TfH
|
||||
os8eYOLPI7EWxNOsJFMGdAOzfxwQ0qspwXU0+tKs+zWXjNgSyXDEm5kUGxrXNkfz
|
||||
BRgHGVD8d289aEEQRWoqI7i52dLM/BXRlR3QNw+U1O/E0+bgLsBuIEtWZvsHjBzS
|
||||
eNWqgvxLsaqKBLFv1z+GQ+hTqxAcDSToUgONap3Df+Zdvm/6b98F5bwrb2ROT0BN
|
||||
IY/V6LQoKtsMykpPCm4BZglarFLkWtiTWzVY19KivBZJeySUaraZgN1cK0cNvnOc
|
||||
uaT1GbBKruYRqeJdxgAGhEn74PkvC03eH9EKOPzN+58JBxLi9bV1V9TdHGYxNxKB
|
||||
HCbbLyDcY5cl34l8p1dvNcJ87j5J4dskxL+EbSLRmRFxfILHeSwPop90iEwtpEJp
|
||||
iV1vq7eXdyTFVUzTHHs3ymAJRczO0goPUJdZWJVAr0tXEHJiDbonw5BHfdf3zEUo
|
||||
qGnAFK7PSXi+3fThChlsMXx+SRJSO70QFYSs+R8g+B7CEbK08j6t1jHzBjsu2Sdz
|
||||
l/Qd/KbdOz+AxKR5ySPjViqHOrKt5rxdKX6jLYrc1Qbfqo++n/7ZFymEshUzpAWY
|
||||
HzROrxZjceCtjqSReU/s
|
||||
=zQyV
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c1e347ddd0efb729a2ed6deb5d45027287cbb4624897ddc11cd08ae7e399d124
|
||||
size 194656336
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT1uCRCFq5bm+hvl/gAAj+cQALjhi73LtMT3vDWMVL0XFUVG
|
||||
gDqgTCGiMZBvYqePpwHNkaBLLcRqX4vRyeyNlBY+bR9zN3A7IKDDDU4/QfVXwf1U
|
||||
ShzfTKWfrpfOA2KtXMXx7B5xHD7lVI/79TYDvhtG/MOf1IDkF5daretNAqi+i71a
|
||||
6K9RSG+DhFNP9L1qPozLNf3Y26aiJkzk4TGvJCTdUTYfR6FCo+3OVV06MlNzNu8E
|
||||
YC1BATiipNIhcXbcifE7OeDlTe4bcHEbaBcc/qauSGRAE6cSmBJx5XOl7wvgaDZt
|
||||
U3Oi9XSQnQWmCGxzfoyl7Xw2dGabihlbOSF/obcME+2O5zWZU5UNoSRvM/H7iKQ4
|
||||
QOaIVujADkrXKe2zUYKBEBH8WN4IqyT2mYTaYF538PSbbdEocGU/i1b4m6expm/P
|
||||
wLpE7aU2K1cpJ1Aa9xJ6u/mZDL03dsIrsrlHkqkFRYy+1Jo1hYRe+0Wy8fl3rLxM
|
||||
Qq3AB618uLQwKrx8/pqvjsmJzGbfbRogybAeDpT5TEa0C6TlR3DZFFDT6pNzQgSD
|
||||
J6ndjY7hBbvmQG3gc3FOg3jYlnSIdhIVc9iHasZmKzYFCETUPYWI1CDz9DTqH47I
|
||||
luWJZ+R8T6rBZHtJrxFZi/IGhaFv2Rd0qGRHX0+s9n33IQR9JONWZks4IOkBaVl6
|
||||
pMKzkLhtVkIPlCBQtJpM
|
||||
=IGyn
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:69b68144726b78301688b5b52057440c63c420950e39eb48294567f50bc07e13
|
||||
size 222946404
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJTzBCRCFq5bm+hvl/gAARkkP/R5tFzJXPZADC7LCg5QoRq7l
|
||||
zLWIARhAwp5H77Dkm3mPT3OIF5laHfhdnAJ9/AEcwOnrg4AX7uP+otiOGsFDqvS6
|
||||
rFYUw+j0Mw0TDrfcDN0TexJ8gfitnYXORfxJqp5YMrgAGuDXbOsZ3gp6IFMI+Pq8
|
||||
bY2JYQyn0SxSyzeDzombniEpbWq9i3Hb/mM7FRf3iBmGoiWFVp6G4V7vDQvgzgeh
|
||||
5GqJ0wkT8tBu+4iuTrNoffMjPYdkykSYROqkdcTePRBvvyrkF/TDP17Rp+595qN2
|
||||
T5qezMzDV0vLEh8LEDosc54g2fr1/e71RkuyYbguR5zA1Suu1f1e7qp3dZNMOmjg
|
||||
u8VzNAeMcPZceeTeIv0SkaBCb4HKRiyY2l6L1a25szWoGR4Uj3fvX/DrepVfZqk/
|
||||
FzK2MPE9lXq+rgfqKXhymq5RIqw9QH7YTIUHLpu0dpwUWssqGHJJYBYHZCZg/5N4
|
||||
Hqgxs/d71Wq9vVHh8opaJCFRA++Vej2xiArIzFToMB1yCHgq0fi+/36XM1+3QyvF
|
||||
6ThM6r6xEbZ4na4nIuJ4hbRMNvgKCtkI2/ent5p6hMvrwiCsyRgsLUJBt6stQXBN
|
||||
d7z6MOuHkzgwr6o0KSDtV+Cpi0++i21uiPaP4YxYdHUSzPShgAW2vXiBgMEOY8Lg
|
||||
IAOtzLOSz//7lyEJUI+h
|
||||
=1Kca
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d816bb3e7b362c94b8ee54479230829a6c9c5d6897ede3b7660b1c657e1303a9
|
||||
size 168133824
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT2KCRCFq5bm+hvl/gAA9rYP/2N/fYXlGHCglUSQSgm8JMXR
|
||||
Eawm4SSHM8n1uRf0H/6YfX+YLB4pMI9Ngdd8hz6t57iIzaR29XWDicGULFTdo3H+
|
||||
cNDTBxiNLG9Z4h/IICxISj7nyv/gCT6kwc1Exei8qZ/ePFsvPqbLDc2rj3zlFe4M
|
||||
DetGZ5O2jH+x1Q2hKi5YyG6J0tkKNXUu01BIOskd+rzHlCT2XCXYO4pmu2MPdJLF
|
||||
21VH61ZUEsNddEjLPgFd0hbEoHSHuX3Q0d1HQ8DgRMGOfJ2V4hxl3swUF5i6s+/B
|
||||
6O5uEhz2jDi8Mg0S872VjIh9n1lTj59MHSHqRFYyLNDWchUk6DQvqu34J8OOgsuM
|
||||
9egJVLX4Z2RRfkWYO5bydATOMZj1vqASR3g1LXN6hh93U+hJY2Qo1dMR26fyMzt3
|
||||
5RZ1ErRwVDKCfFXYHgPZv/krKlULVnQ14HOuT+LahCJdPlbDqDWLfqB6S+yetwu4
|
||||
xmeCux5tXXC5YWfMfcl72RVky9RhFdABYUeOaZhYepFQbOoejk0J2sJS+cBluFzg
|
||||
k230nYFKo8k1zh6L9SNOiRAM8BAYO+P4wd6XFlLz3fbJg0AX9/nTJtKe6dooEJZn
|
||||
KqTCV8NkJueWnItAF2AMlcMvdKy5mA7oZ7jodAppPJZXvDTiYQLeBUeFi7hhQd+S
|
||||
8XEFGjg2zHHk/uvlCf0n
|
||||
=8adt
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3c2f0eaf32ba6a1a864086cda5455f350bd32e4d9d51d43687030ee5c085f254
|
||||
size 180157804
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT2rCRCFq5bm+hvl/gAAWQwP/0m9vXXhXNlCy5xzTTZ1moOl
|
||||
gdOnWVnrXFFp1skNw9O/VTHuGsaA2pwtylQItKxqV/o2O3gJPwVwMOLNi1fPVRHB
|
||||
yalks47foid+T81IMRN/BwmATEnrmz2cCpcmhJDNM5WtV/XqnaRBwFTY+fGdv4a8
|
||||
wdxrvw4gaIKCCrQyyHQzstV+GhsAzRm5xVlxY/Z3vCE1zkmGyPKAorJlWFIiO20O
|
||||
KsOLDPVsOIvmPGLoitZuISm0C0hRjDMQQ0P3FfCzKXghLpuuoPyNbdQwtQYW2Lae
|
||||
Vh7PCH+7wafqVcjJawRlD5nuhpfIVTG94QkfsyqPnYCNPdUgTfPXZhC+ldgtipKU
|
||||
VItg7ezTuyH/dj8okfcUKFOoW9OzMNHzFcoQrBrNFdBALK2oTKUHfCCs6EaajFWz
|
||||
CTnbJ+F3T+i5Je22FwgnUo4IWoJgc/jHPoYNxZkhwAl81XA2OpevOpoBSckg2pyz
|
||||
tpAdmXOJQ+WfEo9L69SuyiwCYo9agn6ViGBj/uoTAOo6xBKG2+nw6ZweEdeRICAx
|
||||
SUjv8Fn3xav97Exac3gkfgI0aXSw2J6HCfPt1tFqjW1OuSmT9Kl9jYUSFDEgRBEY
|
||||
8oir68O5GGkaYWcD2GpF8c3UdCPyBzZ7nl3lt8ZDeYMgUd3fl5RfcqNeD3IeBgd0
|
||||
k4PMV3k2IKhbtvpFlyN9
|
||||
=bpK+
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:abe91e3106dc0f97f863391188461533f16476271fb843c8c1ea3b80621571e5
|
||||
size 189754060
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT0MCRCFq5bm+hvl/gAAz+UP/1QrW3DfWlE23IkoCzafA8IN
|
||||
7a1HxFJpXRsuP6diWZTlDUcCK2hUfRGoQWWPtnma86UjNmwyosKRgYG4seK8AF5I
|
||||
KG2Xd2z34G1aH+ye0ORHBTI+PnTej+k7G0n22mnunRVq7MZmxU1wMWzQPQlc1N+S
|
||||
rOhDI513pjY18znNfQa20cGnSLEHdstSjEYZw42xHfwXzYkH+VAQU8Tu3SElZHCz
|
||||
1olW58djtvh6zshpNZ9oukCu6MC4nGm1msS7H239VTz8LPQFn+w+aIjMRvMbkNx+
|
||||
y1Lc3S0jrbpKjUbwApsSj9mopfuV1oVgjCIVcX2xZjAP+EVVsQh0HrGHbPfvS0++
|
||||
AIaiWKwqzv7wRf+U5ltTytMS4WfKBDP8BOy5MMt5gLlUfLNEozlOl6fPv63FcXQ+
|
||||
5K0S4UriXe8b6qTdXx3QX7tS6T1Z277W7DmfqSV/23IPk7jwfEC3jjtc+paXOotS
|
||||
QSCERgn0OcUrm7b0pH1SKVqBKL6NVLepN+J3HjkOr6vJj03SVxkqz2tQ3GoAzX1I
|
||||
+OYFzdGC4VYcPFFFxKwVyi9WNAzbmJP4zriKseYI+pYlmbWc+F5tlIMntf41hTfo
|
||||
E9vGYp2unBXmfH6frB3zbhwjkNvsxU7UNZizb8bxnQkmOfN6UHnUam9BKS+2cX3P
|
||||
K8dWBHTYYUAIPtU0+tG3
|
||||
=Ww1g
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f7013dbdd978929b24211288c145f09d5134f6a890ab1cb9846bd5d4865c78b4
|
||||
size 177780892
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT2ZCRCFq5bm+hvl/gAAUVoQANp8U28GrYmpZdZi1dkVauF/
|
||||
qepKIBxB6VsSbeiJOvBHojrB4WRFIMBUkTcFL1f7+WQYEsuP3TiKcNIaKeAnHzip
|
||||
X+otIgwD8XfdauEWPeMVEr+hpwX699vz8g+EuvNz9KcHflqQei31flCaWEUDd4Jn
|
||||
icJO9ttqrPIGbeVstxqz2DMqKKrf2U56ZkdqNcalwHya6Wu9DOpl9CB4L0uJSNqg
|
||||
w2bLLNibIfkbyF/H0xN/KvAtuuWjnQlvwL0y8jrQhz+84qCcbbsm0oqRaV/citRS
|
||||
KFQwqgqPtfeofDBXpW8IU2wC3Q6lmJPUZTcpKL6A4TtVpGdE47PzkUO3U9CaiYiU
|
||||
6LS2FH4sBlxgwhrJdHmqkeFBikdjliROov/eiZ7nr85ix6zxyPAjf3lT9XYYiLxs
|
||||
tnv8XYsYKv4AUMZ9QwFXL4jSiZeXjnJM1NVQjihsTMaRMNwPX7gjJO7c6HFECnS+
|
||||
nWdIvfg1YpxIxMnvIEzLEEK/oUZzuR10URCXNKLCU747A5h/ZLyDV9FZFiPdcqdT
|
||||
5rlZz3oEPwF/mWd5kyOMyhJdBSOSqwKZK9QmPeZfj3uAdNBP0f1zgS0G5MsJEgt3
|
||||
00mba0jT+ycMXfxmSWGXhcEG6FO2ZvEJkMxNR6jSdVoQ+ZILr5u5vzg6PHn82+5Q
|
||||
DjcUXuIUrYM8Wq99yX/p
|
||||
=zeNG
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:132a5ede91a10da14f27a722265952d15a677be45b34a0743c0b8e04602cf2ca
|
||||
size 190157972
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT0yCRCFq5bm+hvl/gAAfm8P/Rle8vvLXdIP6K9MjzWeCvbe
|
||||
XWA41/8dUaEC/20xhVK6+wAvVWYN04KO7uHCdBytIWMoMZMHhQhKGEqzUU/Er/jm
|
||||
PvO9K3+lgYF5Iab3y16A0U9K3FBvc+9Ul5q5vYYnmSpe5euKWNKbNDqYNOYt9yGk
|
||||
Mu4TUA7plHkZZs6clWx6df0B9YVWvAqrxxAleS1FrtP97xy4Fb4lb+O85uVxBPpd
|
||||
UZBgqFGwNc+82dYNgULb46FZDqnVY3pZwzW3bz1NZGAvU+Xj4xZfSbu93Mggfs6a
|
||||
2l/xiW8e0jMcBmceCZyvcFThCYKMuso8DPCORw/QutA/jsQD2LzxV/L46NAewAuG
|
||||
jpakPOVLIqEaXrOmYiM/Lm4Gfa6s7DXipvZYtI4I9IremGNvlr+avMbQji9EAXPV
|
||||
L6Yx68rW0i/DukgXunvvvQtjnEAIdiTeQOwKRbbTEoTwKlbLLyF5B/NGj/EAoNNK
|
||||
0VILafa4L2O44jpXCZOS1y7qPKWPr7K3bXQVydK+2BsTl/tmVqEHxgXVBgdRdN4x
|
||||
Rh+rq0LFnJyLRKrIH1CcYUHGlgBdVvyME5Ey/9wvqT0ydcn0E+pCZqF3TnUPIxxV
|
||||
Zo4PtjFzkb/BHO5YeMyfZq71koF6e0XjvoLxdNRjv13/f8HHoUwQX4M9INlJg0gl
|
||||
uFZ3sbxizB25HvfMr2nI
|
||||
=Gz5w
|
||||
-----END PGP SIGNATURE-----
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ebca47de5cbc225ec40573e67ceb1ad1ae9c97e6e7eca135d8fb535a5ee99168
|
||||
size 152873328
|
@ -1,16 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgJT1XCRCFq5bm+hvl/gAAjEsP/iweIqvS9D5ja7VRzujyTDSg
|
||||
MIfeSX7zVl3UQqhWDDGSr3y1b3/lgkk9V8rEovWspNr09Xr9D8kVORRHUGD1hioR
|
||||
sQ3e4Xh+EKuNvYNdrGXgtIiwdRoBN2xyx7FYpKJtKs1lQiKmAxdrC2r9E6BD92QL
|
||||
m8yODF+KCi1ZQ2SpKkVmLYOo7gcFNLs9Y22OJiahAGsYznR1NH0l+WRJLR1mhuEr
|
||||
FBXP8KyGD/OSsEn1Z7yW79Nri8ZpTPvUyNDFrtUXvymQdiUyO9Sle/jKrKg/5xMj
|
||||
s7DG2xRmWcrYL0zhHaNPacZn93/Vctyr2QQD0X/y65NDC38WmmVLQtv6YMQ41bnL
|
||||
1vqtzzRnkYH8CQE0Guf1Q3cUAXWvJs432eX2eXvjmEXpMf+Y2FptqEg+fYMA43UQ
|
||||
T7oFLOGQUJ3T8JeXJZmTV9YhPqkSkO9+K/Gp1+Ubksb8U1Yo4hYukGu0VXtwFLpK
|
||||
ANqlrGghPk92jUJmmzmItNcGPT4GtP5bOc5w7z44JozSDKK4HbvqjuRB4XKFWfNz
|
||||
4XCNTZF55nQJ+trGrnQYUGfqgwKm3ckrE9XJa6+ZRKOxfJEUDA5Hk4e8kh9xVCvd
|
||||
0MC/sjUlzTNlFvAPIfDtfDHmqk7LS+SVX1OZYLFlgEoIPXRyEAfLfTuLNRbykNyy
|
||||
7Ds8uOD4K7FP28hrz8Oc
|
||||
=kOwJ
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f0359cc4e83253eaa86e74724b457509932bbc4f3bb2311021fa43e5965d38eb
|
||||
size 208849064
|
16
rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.51.0-aarch64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJd2CRCFq5bm+hvl/gAAiqIP/0qj9FaKS7UCOr9p/XWov9ts
|
||||
yB0uq5eJHkKwsgWTrUygEPgeVi070lb7o4oRDbrEBNp5mBh/pM7y/I17pVMfoSiP
|
||||
kA/VqyNSFi/RXnMdPYLyG19FU6fo1jl/7T1TZXouUY/Dv9lX4d9gngg186qPBXi6
|
||||
miG7dKK08mpaEN+9FiVMuVzx+/5nZv4FfZZ073Yox19gRr/YsDnLtgPsZIzDQkyf
|
||||
EXP7d0O9qU9X0JRMs+PaQ51+rX3Uiaoq1/3DNnitHQben93RXbOIjrWNqvYvjpNW
|
||||
WbIow/b2YcBe+rorBzV5EvQPCmB47yAoaCxgjNRyemesYNNMLK0XKlF8ao0vWFzW
|
||||
d+eLFoZGY4ZksFgDeMcECvnzJgxtu1D6js5darmj0q5NQOKQZ7g/CWEz3aH5CsU3
|
||||
iORZ2dxy6zP52JZVjJhxqbEjLkK7XwPCR8uAA/CUhxVdzms0eWwoatBYQCH4gbfk
|
||||
U+T7z4ZALOlg0Zh4z5aNGiORxMfxdUdSKMhPFeUvuIg7DAa7XTPckQLl5pp+p2SF
|
||||
pPf5W4jCIgLrgOLjDYRxjwIGTGQevlXLAVH2zX3ZhidDauaUZvrLTryAWJI8mAfs
|
||||
0ZuJH7ax+RCUBXf8oSH6xx4VhRohsvNlOJz8by6/qfApcA4GpCnlXvuAV7UC+qGi
|
||||
3JMZC+FBXKqWhMmleBA0
|
||||
=FgPP
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-arm-unknown-linux-gnueabihf.tar.xz
Normal file
3
rust-1.51.0-arm-unknown-linux-gnueabihf.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c0773bccb772901d908b6e425201ddb3bad02cacfabfd54fd87fc4dfbc98c1ea
|
||||
size 193918308
|
16
rust-1.51.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.51.0-arm-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJdqCRCFq5bm+hvl/gAADogP/1GSgKC5H16+MllTkzdQ4kPK
|
||||
qwGdhNfawSyF5A5W3oQFv2UlQDtR18nGe3TTB2q1r0lmZc9pXlA5xMLrSttGoX1H
|
||||
dweojhz7H2v8Nmz0HI4tRUIT1kT/pYg2+tKJOyEZgKgWIObT0Ao0ZS1Pfna9MW8A
|
||||
NcZtFT131vaiGrlaFPajYyjQZNE0zVWpZf7i7TO2k9/ImesuPiJayJ3yMxdrrFua
|
||||
1wajD59RrRfGZSlB8mM5lwu870Z9HHlzEpv83xLhE+OjKiwYx/epVG00WLwNbf+y
|
||||
cYfB7Fj4GOJWno/H1ZbxZOcgin9fEnCCLd7xlFZdVaAOMAd/7rkUOt5plc2cycIX
|
||||
fQRq+z3akttehICe6ckWALhoT8MV80AWjMVL73+L0yUw8FiB3CAhXW/LaswY8Cnv
|
||||
YLg64+42fbV0RBtQZco7/VNIBE+GhLXzwxHU/5n/ASheTKtqcNJrLd9ID5pPcp0e
|
||||
yOOqIaCWHMOmZ+fESjhv5VxfHarnVDyr6pJLKOhASMKn5fglmGGad0cw1rOJ76OB
|
||||
OHtAyNVrCuezpfRN2p8cCF586+2gEyOhpLCzZXajz5D4W/8xOiaifMwA2+I4UaUF
|
||||
X6ZQRCO7daLDwZZelWc9Tibr7DZWbCiL+uvboKHkXRXtNg2MXHAhLqxnb2eLdYDr
|
||||
cGbnVI1sv+1H3iGSAAT6
|
||||
=HDYi
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz
Normal file
3
rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8fc307490f2aafcde6ce3c2b9985b8fd76829947b8bf2c3d77bb7e25d817360b
|
||||
size 197028040
|
16
rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
16
rust-1.51.0-armv7-unknown-linux-gnueabihf.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJc4CRCFq5bm+hvl/gAAiZwQALAmQB9kj+kHbrMvCGAAgOcn
|
||||
+o8lLZrjbHeGMw05JKCQVfHyORCS2fRCsu1WhmL+7mLaIzSYZhkE+6ahaThnLpoP
|
||||
YdZSo231nlf1MH4d4sMbL/4cgH/5nZzswIahcXEAxaB+AbJSo0YQGHkQfad6wiwt
|
||||
RBfboGO0dMf5aVGbGVfDU6ptcWG2s5id6k+Fsb13L1oqXSeGp8PSHthiFCtxLceu
|
||||
ekqTGR07QqxC2xXrzqa3oEyA2pquXambBZYAS7JBERAsi3A0Oc6MwnSlChB2Rpjt
|
||||
bt0Y8qOU982jJI5CPfS0p4eX5wughRKz2JeY7yZXmuZaxcx5J2V7OzDVZId96oHD
|
||||
JpBFDCvmH7Xo/GL9P8slcHp51J19U3q6Ges8PsaL0/h1tWK/Vpa3S7cFjN0czmQS
|
||||
/RpUCOkFCy7NTgAs++rhGFKHvaxwIGkX9iOdktEB7yz8SFccrRfNnM/+F599S73t
|
||||
onPwXq9d942VLXeYPDPyD8rj7xgPtR7OqIHGfS+6nN3dCGHk4+2HyhHPBi3QGPq2
|
||||
rsnxJ+QO7UKDfDVKIhgr3T6neMzMetU3536jTM7ixkDsQca9bVr482JvMnJx4f/l
|
||||
bBWzrrBxAhF2L0ElYdP4ARqy//BQwJCpUsxWkfGjk0wne7sk150elk2FJ8j3vG4T
|
||||
Mt68UUOh7uAzyGbat0Qc
|
||||
=3UKV
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-i686-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.51.0-i686-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:98b8d3a889cc9542563dc842ea440530cc15a908f875ef62c6939a57bf13510d
|
||||
size 213348860
|
16
rust-1.51.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.51.0-i686-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJe1CRCFq5bm+hvl/gAAXtAP/RQ7+uDpwPfBH12kLYHGP9Vj
|
||||
lPnH9g0+bGNNrIgz1rVq04CmTzai7MOnLsIxWoAX9uqTjnbvpsiuFQ5p/pL0bmXu
|
||||
oEsQ8mWFaZ3mw0F3Kl0DI2nDKmXMkcGObz5Uo8YuTotFVXGyNfaaIZU2kIZhgNgX
|
||||
HTpLSqtpTs+bEZhDskEpYjFESJapFQW9ZUteVo1g8PIj8Azz7LW+tWjDMSrNrU0i
|
||||
dknJswhymYQ9823MjGkgb6pygTwtB26Om6vMODhUzGMa5qWHCDHCu2zAztGGbMTU
|
||||
ZtqpLhr7Wb9WKYNILXFyyPyphoftQRz7qMZYjcRZJBrKpbPI/zcgYGiesOUUBmQu
|
||||
0qUckR/tMVILIELSo6XIlQ5KUEy9RBnZucXKsl7H1h8KkOK930UAxCFyaYlERFWO
|
||||
VBm9BQZbFPUjqcgsa6iJ3lSsShOkCn3k9IwCHkqYQ/JeGJ6k5VFf2RydqC7St6vQ
|
||||
jqlFSsa1GALcyNttDUV1aaXxjEjy/3m0+LArPUS+7Y2Csif6aLawnBouZxf1aBUI
|
||||
0dLoQsf0VmUq08aPXCLsMgboNPNBt/E9YBhgRN4VgWmhq0YLZltyPPu5TC43M/CH
|
||||
OYBArt8TjZdCRFU+D4ctrCplOljAVdWRLVCE+bUPkd51jWZXj98D9Uq5vslYi33c
|
||||
ZJuPEUqGyCpOvYFFujy0
|
||||
=oApk
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-powerpc-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.51.0-powerpc-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:843a69555848e0ca71fed7e1f3a5f1b71058b1d6d31585ba857fd6d06c7f43fe
|
||||
size 167534676
|
16
rust-1.51.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.51.0-powerpc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJc6CRCFq5bm+hvl/gAAhS0QAMEhtL2apgiPgOMpx07S76WN
|
||||
yeBOCkcpX7hjHzYPTDYt9cGcpmFzwuKd4w67q8ICImEMOi7giTu608rlNmyLLj+x
|
||||
nL+4sCX6IzTxZ9EcPB8RjFqlZAnX3vXJU095PZGl3dE1UTqjBN0qj4W+zkuuuyoP
|
||||
z7CnHIUPaxhhYrpzYsT4VEjmbZvgzLpBsctXo1mwhnWS++gorTa4HE4okZmDMglu
|
||||
OBUffJp6CTAoi4+x9ih+fJeobh9ak0w8+7lg35r4hI/7jgJzX97FQ77yKibEeEef
|
||||
h+6qQCwaI8mBSJBvu+cYyzvYCtLQdIGKqnGNUl05gASVl5o+vwu6T869kQ2dlKVc
|
||||
m5EL7Ru47ilAYLrZKUhxbqChyB2HzAMRGJVM63Bj6jIQdYR5tViyNaGCyNLRXBQW
|
||||
9oIDaAhp2bDwnCXMzePxZNDf+BSFOH5ji1fJ3vBeA4r2VO6emElvPOKXujrBV6OR
|
||||
X2G5i9d/xkKkkRZ4S/GqmIHyDZe2cxZhL6RfPKtaMut4Qz7rZ9X+pr0TzdqkoIj2
|
||||
cCrH8fpURj4BrURwHetLXFT3V2+XMaRuVg8Jd+2Q/Dsjuno4kV60t2cmGC+rBUhC
|
||||
xc50LxlDeL/VgmRF/4bSxDqkwgrfVsgz/JZbEb3WBLXLOHFqcCo+7X1ojftOTdcD
|
||||
dy+teFqNbKOCVGmqoh9P
|
||||
=b0mh
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-powerpc64-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.51.0-powerpc64-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bb073a9f89b39829161aec8b2459b436ba4b01a92320c68593eafb4e25258b80
|
||||
size 182726600
|
16
rust-1.51.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.51.0-powerpc64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJdBCRCFq5bm+hvl/gAAlFwQAKr3gRFQRyiXMQ4RRuZQOsGu
|
||||
vVFtQEoE0VNgbFNlkQCuMf+U85y0LuSiY3YKQikmKbM8B5VkznMGoqfBGB9R8ZqR
|
||||
g78plBU0LHft+TzjMvvEdiBFuuDScUqXUIM/zd73D32Rskk8//9Y/nKRpqu8SMZs
|
||||
Tr+YU0sxQ5916ATk+LUe9wvyIMpViOJZd33POQjViZP+acbUhLOmREwCUFRMRP0P
|
||||
T1z7JCl3Nat3IzlwCeIgezMmuEU10RSNn+YpTlJifASA+kD1Vf/t3BtczobGScsC
|
||||
dwxkO5sBhlFfEah7kmzrEh0PXCojrVcdUCVPOR4eq3sb8DKfI7kRjY7rS4iv697U
|
||||
jirFc2FQj47u9vXTnLpW8MRpOLgmOO7rW+Y/L3DGGQWNKRFqxaiVI4Fk3qtmPEvA
|
||||
kUp3EWtuNtIueZHJcVtTVnhwO8gtqnOpaeMFwe+aNo5RvHxaBzYMQpxvQ0o57zsE
|
||||
A5A2GDeWyll+ivOgx+dJEhZiY3hfa3Ap2tcvUdYYJLWfqV2cH8kh/2HsrJeI5TVM
|
||||
xznCA3a3UgyS1pZ88HKKlsbY8IwsDDTVC6/TYI/alKiHiIGcck9gLEHp8mXLkVhz
|
||||
3DineLmrXUtGZT6VCeilMTu7MC2hFHINmygQuIR032s7cUfI4CWCCV3FOpnwcsBa
|
||||
6pk0ZknpHCw7xtX6Vkxk
|
||||
=gdj9
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d21c95264e59828410afbeecf10b35ee8912fb21025c683a9abe7ff5603f9e90
|
||||
size 192084372
|
16
rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.51.0-powerpc64le-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJefCRCFq5bm+hvl/gAA1/QP/2BwsB6cxAHQDWKjsayZsVbR
|
||||
DaUcb4jQo7D1NRy69LV0u0gbAw/6rwbwWx/e7K4b4NQ2JoNBUQVNRZKa7C9TxSFK
|
||||
/Xe4ET8GLmkWybmynyr/Ibhf5sGgttM/y+CNdBP0Dn7uCz0adr1Ylj/AALdjqabO
|
||||
CS4pJmVQy7vEm6KcilOKz1oRteiU7Hs6iH+ASVocwKJggIvDRdHLK6smmU8EGVq9
|
||||
OZ2MEoOb1XIyNwI6fbfyS+lgWv4ehzvbAxssJW8ktWzUCJTKuCxOetHehghT+jYx
|
||||
E86qBeywCTnGnXh4GRvg/0xcW0B3laINNjWtx4epPH8TIpz67qBZt5bjTnadpYhz
|
||||
g8rtmsfqsBicI6SDfOjdDcV7FTAaIQW0fxMJYlIBlnOjvrIDdHhEVKoShONKpyoD
|
||||
76O+N6OgiIZUKl4pmQcPtwyD4I9DbZYbUgeKY0JWmXF4lLee8q+x6XSeQpbOKVsu
|
||||
OzsNp8kEu4Bv3BK0E1p1K3+vqfMAdM1Z8ylhpIsy+5kn2DMhj2VBan4gUbxcjDi5
|
||||
kJqCyQMhEnQGjrTSkyQ2IALwK69k/X7byV6lc6B2p0TCMNQkdB59RZPMRKV1e3Tq
|
||||
hfazYTdB49L3HgT9H6WnZXTVnO0+4KVxd64MrNwOi8zSqqaEubf2H8HX+3EQlgSW
|
||||
7/zfTL5O+OqWAZ6mzhlR
|
||||
=77VL
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-riscv64gc-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.51.0-riscv64gc-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:79c43b1796d2449a5c9ebf87b237236b6b7c37db3d8c6b62658f7ff12212e3e3
|
||||
size 179131092
|
16
rust-1.51.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.51.0-riscv64gc-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJc/CRCFq5bm+hvl/gAAdLgQAORSqtoTGBREfOgk5OG8DTjM
|
||||
aRMYWgAtjDVqqmunKszbgfzf9N/gNZF79zfQUnJ/v6HwXoPDxqB0QYI/XU2fdo3Z
|
||||
5Q5ru+hLcYvnojkqBN3XfQDCHO4UXCrlXVZQCi+GPTR6KG+MrsDjNoPj1jmvbi2Z
|
||||
Gy/AZOrVj/sL3ZvDkXymJd1q6x9Fj9kz8Dz1XaAncK8DHFtmCYOco2vNh1ZCOYF8
|
||||
C5dgJ3ieonj/jfdkOyH/HMfm3og1jWVK/so0zOyFSCuQQ6RrdIKmuJS7Ba5j2+Gq
|
||||
U3ybipwct42KJ3KYHUIQV7RKzj5wYV378i1K+Fg5PU5XQFGMZOqguxZL0mD+cXnZ
|
||||
7oLrPVjMQauYCctAYTL4w1HdYZCDBocPe/O8xOBbG23MQl6JYjl0/Xuc13Z8I5TG
|
||||
fHWE8Luzg8KqyrGBbQBHt9B4Tm+Ty9YV9HBVW/XvXKEA8GsitSj+qdsV7FDXc5dP
|
||||
8iczu/lgZZ2MFuewz8+IHkMBIkiOBmTkUDecZY+7FflJvqqKFfp0t6kWgKvpZfeM
|
||||
L3iOjTLVqTZLLxpoHzRRzibGvFchgvzuJuLOqHyI7Wi52nYAqLicfPKwVbHC7GBY
|
||||
5SeMjUqQgfWomw+Elv3lgZXmEu5dh4Aa7pcRYqFp3YBpbgqs7TYJNVfApCTsLUxf
|
||||
jKMvv23EDdO5zurjtF5a
|
||||
=O7YO
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-s390x-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.51.0-s390x-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2a43ff5eb85d4e3acfdd565a4239af3bea39526209a816052043142f89560cbb
|
||||
size 191632144
|
16
rust-1.51.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.51.0-s390x-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJddCRCFq5bm+hvl/gAAwMkP/AtK//TU9QeulDKyWmYcqolU
|
||||
x/7MuY1D2gKT4NEJbr43bkdxDXaH3lwhD1hRolvd1vV35Mv3MWBWPT5NpD0ON9uk
|
||||
n4BY17iXtuED7pwhIsSePP0Gy5LhgpXFklpFmoaboYoGif+Kl7Wl+FOZO+QgswyE
|
||||
LBf+MzdDuUuiGrqR1DOyR89khye2bdWqlseRuc9RnPvcfZonaLHG8NCO2pe6cBYP
|
||||
MVKZT/TlDB3KD1DJAYCvi7DHyxFuaGkPiglD2BiNfhc9ZiNgpSSNShCR9UwiBOFm
|
||||
CxbGG+2AuqNXj1HWHHVhSxbWnEeEqlxRIa3a/U9huTrI+EIFxNBUlhgZToog6ixH
|
||||
xgP+pMOsWl6ddIZT3M/hy4UxMpfF0M66kuEoXPAtQpbvJbKyqR8ossl8ZoFrXkRC
|
||||
gla+8HuE2HH6SeOfv6Q7rJzl5sMIbECsn60x4fI/rdGsRd+OSOMhPIaJ15UIr9eV
|
||||
3DIzR1cRhCep4gXm5IOSiFtN/eCh0suR60tDjjTXoaR291iG99j7G3TX+U3Gvt//
|
||||
wn0GT8oY3A+e1c+Qjc3TmLccL0IImV5Ldlz89N25axUMIAHL0XjshBuTXb9Tco7o
|
||||
9+0xuD3X1pZIs58m13S48ZXN5jxtwedf0iIHUrWG25mwyeWZUOfF+jcqi2fn7Zjt
|
||||
k0DeLLAcKriHV87h0eME
|
||||
=MLc+
|
||||
-----END PGP SIGNATURE-----
|
3
rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz
Normal file
3
rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0f3bf3792f9d79d4dd12a7af2d7d1c43c23914690ab12f000030ac94c3e0d20f
|
||||
size 147543532
|
16
rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
16
rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
wsFcBAABCgAQBQJgXJfGCRCFq5bm+hvl/gAA5TAQAN9SdWKhmOba4/x+koEEz57S
|
||||
8QrNnuCMcBQ0OjwjKKCiIetWmPQLdUV7miAZhg8aDMEaqP++i62E7daFpWzHrsZl
|
||||
649to8NaNWK6tK5QpWtW9WvwecMSZtPiGYU13BwGnzADoJ1BH3JzXuvnE4DDHB9z
|
||||
IVIygaKDVEokSY9Om4tn/9J+PFjoAnqBP2BoOylutXnRcF9RbgObmhXNAB4OrVWw
|
||||
lxwIwHiGUnKEzwjjK6vAK/qmiPV6qWvm/vnodTuoDnKH8uwgIKV6+448FoW22jSt
|
||||
3l5XyBlCmerGzm8vETDPijKuuIHambC08YhEAdx3sgbp4gMX4/T7Z1RGUUpX9VQY
|
||||
+oMB94hHNE8KimQKx08/73LMd9mPxupKcURTzLdYWKEYDzL8tRZlxesRBkAvL7vl
|
||||
HlwPlRemyoJv7xlViHtIOeh3sQN5AO/fy/zaIkNw8vJfxLsUlJnTHAig9cM+2ZL2
|
||||
ix/hW2iD+gk1sgUkIM7lrBM2dDTiF1wZmTdmxesyOpwcP+p8qPSls8X53VeKOyqc
|
||||
+WFUh0xQXoW/DnW+43S0HFQrkfl1nckh9DKIInblqwDxkopMuE6LlAtbFRMXCJGq
|
||||
it3Uqi2T3pPugOA9S/Z+OXRAYF9qhuYu5NQK/zjk+1mRpHSmcX72zChLbR+cXEm/
|
||||
jXrtx6hD0ytjW9G/EsEz
|
||||
=QCBh
|
||||
-----END PGP SIGNATURE-----
|
81
rust.changes
81
rust.changes
@ -1,3 +1,84 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri May 7 00:29:37 UTC 2021 - William Brown <william.brown@suse.com>
|
||||
|
||||
- Update to version 1.52:
|
||||
+ Language
|
||||
- [Added the `unsafe_op_in_unsafe_fn` lint, which checks whether the unsafe code
|
||||
in an `unsafe fn` is wrapped in a `unsafe` block.][79208] This lint
|
||||
is allowed by default, and may become a warning or hard error in a
|
||||
future edition.
|
||||
- [You can now cast mutable references to arrays to a pointer of the same type as
|
||||
the element.][81479]
|
||||
+ Compiler
|
||||
- [Upgraded the default LLVM to LLVM 12.][81451]
|
||||
- Added tier 3\* support for the following targets.
|
||||
- [`s390x-unknown-linux-musl`][82166]
|
||||
- [`riscv32gc-unknown-linux-musl` & `riscv64gc-unknown-linux-musl`][82202]
|
||||
- [`powerpc-unknown-openbsd`][82733]
|
||||
+ Libraries
|
||||
- [`OsString` now implements `Extend` and `FromIterator`.][82121]
|
||||
- [`cmp::Reverse` now has `#[repr(transparent)]` representation.][81879]
|
||||
- [`Arc<impl Error>` now implements `error::Error`.][80553]
|
||||
- [All integer division and remainder operations are now `const`.][80962]
|
||||
+ Stabilised APIs
|
||||
- [`Arguments::as_str`]
|
||||
- [`char::MAX`]
|
||||
- [`char::REPLACEMENT_CHARACTER`]
|
||||
- [`char::UNICODE_VERSION`]
|
||||
- [`char::decode_utf16`]
|
||||
- [`char::from_digit`]
|
||||
- [`char::from_u32_unchecked`]
|
||||
- [`char::from_u32`]
|
||||
- [`slice::partition_point`]
|
||||
- [`str::rsplit_once`]
|
||||
- [`str::split_once`]
|
||||
The following previously stable APIs are now `const`.
|
||||
- [`char::len_utf8`]
|
||||
- [`char::len_utf16`]
|
||||
- [`char::to_ascii_uppercase`]
|
||||
- [`char::to_ascii_lowercase`]
|
||||
- [`char::eq_ignore_ascii_case`]
|
||||
- [`u8::to_ascii_uppercase`]
|
||||
- [`u8::to_ascii_lowercase`]
|
||||
- [`u8::eq_ignore_ascii_case`]
|
||||
+ Rustdoc
|
||||
- [Rustdoc lints are now treated as a tool lint, meaning that
|
||||
lints are now prefixed with `rustdoc::` (e.g. `#[warn(rustdoc::non_autolinks)]`).][80527]
|
||||
Using the old style is still allowed, and will become a warning in
|
||||
a future release.
|
||||
- [Rustdoc now supports argument files.][82261]
|
||||
- [Rustdoc now generates smart punctuation for documentation.][79423]
|
||||
- [You can now use "task lists" in Rustdoc Markdown.][81766] E.g.
|
||||
```markdown
|
||||
- [x] Complete
|
||||
- [ ] Todo
|
||||
```
|
||||
+ Misc
|
||||
- [You can now pass multiple filters to tests.][81356] E.g.
|
||||
`cargo test -- foo bar` will run all tests that match `foo` and `bar`.
|
||||
- [Rustup now distributes PDB symbols for the `std` library on Windows,
|
||||
allowing you to see `std` symbols when debugging.][82218]
|
||||
+ Internal Only
|
||||
These changes provide no direct user facing benefits, but represent significant
|
||||
improvements to the internals and overall performance of rustc and
|
||||
related tools.
|
||||
- [Check the result cache before the DepGraph when ensuring queries][81855]
|
||||
- [Try fast_reject::simplify_type in coherence before doing full check][81744]
|
||||
- [Only store a LocalDefId in some HIR nodes][81611]
|
||||
- [Store HIR attributes in a side table][79519]
|
||||
+ Compatibility Notes
|
||||
-------------------
|
||||
- [Cargo build scripts are now forbidden from setting `RUSTC_BOOTSTRAP`.][cargo/9181]
|
||||
- [Removed support for the `x86_64-rumprun-netbsd` target.][82594]
|
||||
- [Deprecated the `x86_64-sun-solaris` target in favor of `x86_64-pc-solaris`.][82216]
|
||||
- [Rustdoc now only accepts `,`, ` `, and `\t` as delimiters for specifying
|
||||
languages in code blocks.][78429]
|
||||
- [Rustc now catches more cases of `pub_use_of_private_extern_crate`][80763]
|
||||
- [Changes in how proc macros handle whitespace may lead to panics when used
|
||||
with older `proc-macro-hack` versions. A `cargo update` should be sufficient to fix
|
||||
this in all cases.][84136]
|
||||
- Remove support-llvm12.patch - feature of 1.52
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Apr 17 20:10:00 UTC 2021 - Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
|
||||
|
10
rust.spec
10
rust.spec
@ -17,9 +17,9 @@
|
||||
#
|
||||
|
||||
|
||||
%global version_current 1.51.0
|
||||
%global version_previous 1.50.0
|
||||
%global version_bootstrap 1.50.0
|
||||
%global version_current 1.52.0
|
||||
%global version_previous 1.51.0
|
||||
%global version_bootstrap 1.51.0
|
||||
|
||||
# some sub-packages are versioned independently
|
||||
%global rustfmt_version 1.4.25
|
||||
@ -156,9 +156,6 @@ Source209: %{dl_url}/rust-%{version_bootstrap}-riscv64gc-unknown-linux-gnu.
|
||||
Source1000: README.suse-maint
|
||||
# PATCH-FIX-OPENSUSE: edit src/librustc_llvm/build.rs to ignore GCC incompatible flag
|
||||
Patch0: ignore-Wstring-conversion.patch
|
||||
# PATCH-FIX-UPSTREAM: https://github.com/rust-lang/rust/pull/81451, trivially rebased before
|
||||
# https://github.com/rust-lang/rust/pull/82045 and https://github.com/rust-lang/rust/pull/82102.
|
||||
Patch1: support-llvm12.patch
|
||||
BuildRequires: ccache
|
||||
BuildRequires: curl
|
||||
BuildRequires: fdupes
|
||||
@ -416,7 +413,6 @@ This package includes HTML documentation for Cargo.
|
||||
%setup -q -n rustc-%{version}-src
|
||||
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
# use python3
|
||||
sed -i -e "1s|#!.*|#!%{_bindir}/python3|" x.py
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:92c68a91fca33cbafb83442cde722d010cc387dc1ee8a2680e2fb33a575821a1
|
||||
size 109596164
|
3
rustc-1.52.0-src.tar.xz
Normal file
3
rustc-1.52.0-src.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2393e923087f3f8f98190eb0743f1b4a8956a35274ae5d3c0fae6e43238c6af8
|
||||
size 115114564
|
@ -1,911 +0,0 @@
|
||||
From 55f345f32505c2095966a5dc46c4ae3290dbf7a1 Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Popov <nikita.ppv@gmail.com>
|
||||
Date: Tue, 3 Nov 2020 22:47:16 +0100
|
||||
Subject: [PATCH] Support LLVM 12 in rustc
|
||||
|
||||
---
|
||||
compiler/rustc_codegen_llvm/src/abi.rs | 17 ++-
|
||||
compiler/rustc_codegen_llvm/src/context.rs | 7 ++
|
||||
compiler/rustc_codegen_llvm/src/llvm/ffi.rs | 4 +
|
||||
compiler/rustc_codegen_ssa/src/common.rs | 1 +
|
||||
.../rustc_llvm/llvm-wrapper/PassWrapper.cpp | 119 ++++++++++++++----
|
||||
.../rustc_llvm/llvm-wrapper/RustWrapper.cpp | 53 +++++++-
|
||||
.../src/spec/powerpc64_unknown_linux_gnu.rs | 2 +-
|
||||
.../src/spec/powerpc64_unknown_linux_musl.rs | 2 +-
|
||||
.../src/spec/powerpc64_wrs_vxworks.rs | 2 +-
|
||||
.../src/spec/powerpc64le_unknown_linux_gnu.rs | 2 +-
|
||||
.../spec/powerpc64le_unknown_linux_musl.rs | 2 +-
|
||||
src/test/assembly/asm/riscv-types.rs | 29 ++---
|
||||
src/test/codegen/function-arguments.rs | 3 +-
|
||||
src/test/codegen/packed.rs | 4 +-
|
||||
.../codegen/repr-transparent-aggregates-1.rs | 18 +--
|
||||
.../codegen/repr-transparent-aggregates-2.rs | 18 +--
|
||||
.../codegen/repr-transparent-aggregates-3.rs | 18 +--
|
||||
.../run-make-fulldeps/split-dwarf/Makefile | 2 +-
|
||||
18 files changed, 226 insertions(+), 77 deletions(-)
|
||||
|
||||
diff --git a/compiler/rustc_codegen_llvm/src/abi.rs b/compiler/rustc_codegen_llvm/src/abi.rs
|
||||
index d714ff1fe9b4a..d9393ffe534ac 100644
|
||||
--- a/compiler/rustc_codegen_llvm/src/abi.rs
|
||||
+++ b/compiler/rustc_codegen_llvm/src/abi.rs
|
||||
@@ -430,7 +430,13 @@ impl<'tcx> FnAbiLlvmExt<'tcx> for FnAbi<'tcx, Ty<'tcx>> {
|
||||
PassMode::Indirect { ref attrs, extra_attrs: _, on_stack } => {
|
||||
assert!(!on_stack);
|
||||
let i = apply(attrs);
|
||||
- llvm::Attribute::StructRet.apply_llfn(llvm::AttributePlace::Argument(i), llfn);
|
||||
+ unsafe {
|
||||
+ llvm::LLVMRustAddStructRetAttr(
|
||||
+ llfn,
|
||||
+ llvm::AttributePlace::Argument(i).as_uint(),
|
||||
+ self.ret.layout.llvm_type(cx),
|
||||
+ );
|
||||
+ }
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
@@ -486,8 +492,13 @@ impl<'tcx> FnAbiLlvmExt<'tcx> for FnAbi<'tcx, Ty<'tcx>> {
|
||||
PassMode::Indirect { ref attrs, extra_attrs: _, on_stack } => {
|
||||
assert!(!on_stack);
|
||||
let i = apply(attrs);
|
||||
- llvm::Attribute::StructRet
|
||||
- .apply_callsite(llvm::AttributePlace::Argument(i), callsite);
|
||||
+ unsafe {
|
||||
+ llvm::LLVMRustAddStructRetCallSiteAttr(
|
||||
+ callsite,
|
||||
+ llvm::AttributePlace::Argument(i).as_uint(),
|
||||
+ self.ret.layout.llvm_type(bx),
|
||||
+ );
|
||||
+ }
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs
|
||||
index 3ddc742420202..9f6a2ae3ca1b7 100644
|
||||
--- a/compiler/rustc_codegen_llvm/src/context.rs
|
||||
+++ b/compiler/rustc_codegen_llvm/src/context.rs
|
||||
@@ -104,6 +104,10 @@ fn strip_x86_address_spaces(data_layout: String) -> String {
|
||||
data_layout.replace("-p270:32:32-p271:32:32-p272:64:64-", "-")
|
||||
}
|
||||
|
||||
+fn strip_powerpc64_vectors(data_layout: String) -> String {
|
||||
+ data_layout.replace("-v256:256:256-v512:512:512", "")
|
||||
+}
|
||||
+
|
||||
pub unsafe fn create_module(
|
||||
tcx: TyCtxt<'_>,
|
||||
llcx: &'ll llvm::Context,
|
||||
@@ -119,6 +123,9 @@ pub unsafe fn create_module(
|
||||
{
|
||||
target_data_layout = strip_x86_address_spaces(target_data_layout);
|
||||
}
|
||||
+ if llvm_util::get_version() < (12, 0, 0) && sess.target.arch == "powerpc64" {
|
||||
+ target_data_layout = strip_powerpc64_vectors(target_data_layout);
|
||||
+ }
|
||||
|
||||
// Ensure the data-layout values hardcoded remain the defaults.
|
||||
if sess.target.is_builtin {
|
||||
diff --git a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
|
||||
index 8c1740d8f25f0..9eac7ad17b046 100644
|
||||
--- a/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
|
||||
+++ b/compiler/rustc_codegen_llvm/src/llvm/ffi.rs
|
||||
@@ -239,6 +239,7 @@ pub enum TypeKind {
|
||||
Token = 16,
|
||||
ScalableVector = 17,
|
||||
BFloat = 18,
|
||||
+ X86_AMX = 19,
|
||||
}
|
||||
|
||||
impl TypeKind {
|
||||
@@ -263,6 +264,7 @@ impl TypeKind {
|
||||
TypeKind::Token => rustc_codegen_ssa::common::TypeKind::Token,
|
||||
TypeKind::ScalableVector => rustc_codegen_ssa::common::TypeKind::ScalableVector,
|
||||
TypeKind::BFloat => rustc_codegen_ssa::common::TypeKind::BFloat,
|
||||
+ TypeKind::X86_AMX => rustc_codegen_ssa::common::TypeKind::X86_AMX,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1073,6 +1075,7 @@ extern "C" {
|
||||
pub fn LLVMRustAddDereferenceableAttr(Fn: &Value, index: c_uint, bytes: u64);
|
||||
pub fn LLVMRustAddDereferenceableOrNullAttr(Fn: &Value, index: c_uint, bytes: u64);
|
||||
pub fn LLVMRustAddByValAttr(Fn: &Value, index: c_uint, ty: &Type);
|
||||
+ pub fn LLVMRustAddStructRetAttr(Fn: &Value, index: c_uint, ty: &Type);
|
||||
pub fn LLVMRustAddFunctionAttribute(Fn: &Value, index: c_uint, attr: Attribute);
|
||||
pub fn LLVMRustAddFunctionAttrStringValue(
|
||||
Fn: &Value,
|
||||
@@ -1108,6 +1111,7 @@ extern "C" {
|
||||
pub fn LLVMRustAddDereferenceableCallSiteAttr(Instr: &Value, index: c_uint, bytes: u64);
|
||||
pub fn LLVMRustAddDereferenceableOrNullCallSiteAttr(Instr: &Value, index: c_uint, bytes: u64);
|
||||
pub fn LLVMRustAddByValCallSiteAttr(Instr: &Value, index: c_uint, ty: &Type);
|
||||
+ pub fn LLVMRustAddStructRetCallSiteAttr(Instr: &Value, index: c_uint, ty: &Type);
|
||||
|
||||
// Operations on load/store instructions (only)
|
||||
pub fn LLVMSetVolatile(MemoryAccessInst: &Value, volatile: Bool);
|
||||
diff --git a/compiler/rustc_codegen_ssa/src/common.rs b/compiler/rustc_codegen_ssa/src/common.rs
|
||||
index 780b1d2cd9433..afd83bfcb5692 100644
|
||||
--- a/compiler/rustc_codegen_ssa/src/common.rs
|
||||
+++ b/compiler/rustc_codegen_ssa/src/common.rs
|
||||
@@ -95,6 +95,7 @@ pub enum TypeKind {
|
||||
Token,
|
||||
ScalableVector,
|
||||
BFloat,
|
||||
+ X86_AMX,
|
||||
}
|
||||
|
||||
// FIXME(mw): Anything that is produced via DepGraph::with_task() must implement
|
||||
diff --git a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
|
||||
index 5263d5dcf3e8f..79babd27a304f 100644
|
||||
--- a/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
|
||||
+++ b/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "LLVMWrapper.h"
|
||||
|
||||
+#include "llvm/Analysis/AliasAnalysis.h"
|
||||
#include "llvm/Analysis/TargetLibraryInfo.h"
|
||||
#include "llvm/Analysis/TargetTransformInfo.h"
|
||||
#include "llvm/CodeGen/TargetSubtargetInfo.h"
|
||||
@@ -683,6 +684,25 @@ void LLVMSelfProfileInitializeCallbacks(
|
||||
PassInstrumentationCallbacks& PIC, void* LlvmSelfProfiler,
|
||||
LLVMRustSelfProfileBeforePassCallback BeforePassCallback,
|
||||
LLVMRustSelfProfileAfterPassCallback AfterPassCallback) {
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ PIC.registerBeforeNonSkippedPassCallback([LlvmSelfProfiler, BeforePassCallback](
|
||||
+ StringRef Pass, llvm::Any Ir) {
|
||||
+ std::string PassName = Pass.str();
|
||||
+ std::string IrName = LLVMRustwrappedIrGetName(Ir);
|
||||
+ BeforePassCallback(LlvmSelfProfiler, PassName.c_str(), IrName.c_str());
|
||||
+ });
|
||||
+
|
||||
+ PIC.registerAfterPassCallback(
|
||||
+ [LlvmSelfProfiler, AfterPassCallback](StringRef Pass, llvm::Any IR,
|
||||
+ const PreservedAnalyses &Preserved) {
|
||||
+ AfterPassCallback(LlvmSelfProfiler);
|
||||
+ });
|
||||
+
|
||||
+ PIC.registerAfterPassInvalidatedCallback(
|
||||
+ [LlvmSelfProfiler, AfterPassCallback](StringRef Pass, const PreservedAnalyses &Preserved) {
|
||||
+ AfterPassCallback(LlvmSelfProfiler);
|
||||
+ });
|
||||
+#else
|
||||
PIC.registerBeforePassCallback([LlvmSelfProfiler, BeforePassCallback](
|
||||
StringRef Pass, llvm::Any Ir) {
|
||||
std::string PassName = Pass.str();
|
||||
@@ -700,6 +720,7 @@ void LLVMSelfProfileInitializeCallbacks(
|
||||
[LlvmSelfProfiler, AfterPassCallback](StringRef Pass) {
|
||||
AfterPassCallback(LlvmSelfProfiler);
|
||||
});
|
||||
+#endif
|
||||
|
||||
PIC.registerBeforeAnalysisCallback([LlvmSelfProfiler, BeforePassCallback](
|
||||
StringRef Pass, llvm::Any Ir) {
|
||||
@@ -760,8 +781,15 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
PTO.LoopVectorization = LoopVectorize;
|
||||
PTO.SLPVectorization = SLPVectorize;
|
||||
|
||||
+ // FIXME: We may want to expose this as an option.
|
||||
+ bool DebugPassManager = false;
|
||||
+
|
||||
PassInstrumentationCallbacks PIC;
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ StandardInstrumentations SI(DebugPassManager);
|
||||
+#else
|
||||
StandardInstrumentations SI;
|
||||
+#endif
|
||||
SI.registerCallbacks(PIC);
|
||||
|
||||
if (LlvmSelfProfiler){
|
||||
@@ -777,10 +805,12 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
PGOOpt = PGOOptions(PGOUsePath, "", "", PGOOptions::IRUse);
|
||||
}
|
||||
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ PassBuilder PB(DebugPassManager, TM, PTO, PGOOpt, &PIC);
|
||||
+#else
|
||||
PassBuilder PB(TM, PTO, PGOOpt, &PIC);
|
||||
+#endif
|
||||
|
||||
- // FIXME: We may want to expose this as an option.
|
||||
- bool DebugPassManager = false;
|
||||
LoopAnalysisManager LAM(DebugPassManager);
|
||||
FunctionAnalysisManager FAM(DebugPassManager);
|
||||
CGSCCAnalysisManager CGAM(DebugPassManager);
|
||||
@@ -802,7 +832,8 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
|
||||
// We manually collect pipeline callbacks so we can apply them at O0, where the
|
||||
// PassBuilder does not create a pipeline.
|
||||
- std::vector<std::function<void(ModulePassManager &)>> PipelineStartEPCallbacks;
|
||||
+ std::vector<std::function<void(ModulePassManager &, PassBuilder::OptimizationLevel)>>
|
||||
+ PipelineStartEPCallbacks;
|
||||
#if LLVM_VERSION_GE(11, 0)
|
||||
std::vector<std::function<void(ModulePassManager &, PassBuilder::OptimizationLevel)>>
|
||||
OptimizerLastEPCallbacks;
|
||||
@@ -812,9 +843,11 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
#endif
|
||||
|
||||
if (VerifyIR) {
|
||||
- PipelineStartEPCallbacks.push_back([VerifyIR](ModulePassManager &MPM) {
|
||||
+ PipelineStartEPCallbacks.push_back(
|
||||
+ [VerifyIR](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
|
||||
MPM.addPass(VerifierPass());
|
||||
- });
|
||||
+ }
|
||||
+ );
|
||||
}
|
||||
|
||||
if (SanitizerOptions) {
|
||||
@@ -832,9 +865,11 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
);
|
||||
#else
|
||||
#if LLVM_VERSION_GE(10, 0)
|
||||
- PipelineStartEPCallbacks.push_back([Options](ModulePassManager &MPM) {
|
||||
- MPM.addPass(MemorySanitizerPass(Options));
|
||||
- });
|
||||
+ PipelineStartEPCallbacks.push_back(
|
||||
+ [Options](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
|
||||
+ MPM.addPass(MemorySanitizerPass(Options));
|
||||
+ }
|
||||
+ );
|
||||
#endif
|
||||
OptimizerLastEPCallbacks.push_back(
|
||||
[Options](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
|
||||
@@ -854,9 +889,11 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
);
|
||||
#else
|
||||
#if LLVM_VERSION_GE(10, 0)
|
||||
- PipelineStartEPCallbacks.push_back([](ModulePassManager &MPM) {
|
||||
- MPM.addPass(ThreadSanitizerPass());
|
||||
- });
|
||||
+ PipelineStartEPCallbacks.push_back(
|
||||
+ [](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
|
||||
+ MPM.addPass(ThreadSanitizerPass());
|
||||
+ }
|
||||
+ );
|
||||
#endif
|
||||
OptimizerLastEPCallbacks.push_back(
|
||||
[](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
|
||||
@@ -879,9 +916,11 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
}
|
||||
);
|
||||
#else
|
||||
- PipelineStartEPCallbacks.push_back([&](ModulePassManager &MPM) {
|
||||
- MPM.addPass(RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
|
||||
- });
|
||||
+ PipelineStartEPCallbacks.push_back(
|
||||
+ [&](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
|
||||
+ MPM.addPass(RequireAnalysisPass<ASanGlobalsMetadataAnalysis, Module>());
|
||||
+ }
|
||||
+ );
|
||||
OptimizerLastEPCallbacks.push_back(
|
||||
[SanitizerOptions](FunctionPassManager &FPM, PassBuilder::OptimizationLevel Level) {
|
||||
FPM.addPass(AddressSanitizerPass(
|
||||
@@ -890,7 +929,7 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
}
|
||||
);
|
||||
PipelineStartEPCallbacks.push_back(
|
||||
- [SanitizerOptions](ModulePassManager &MPM) {
|
||||
+ [SanitizerOptions](ModulePassManager &MPM, PassBuilder::OptimizationLevel Level) {
|
||||
MPM.addPass(ModuleAddressSanitizerPass(
|
||||
/*CompileKernel=*/false, SanitizerOptions->SanitizeAddressRecover));
|
||||
}
|
||||
@@ -917,35 +956,53 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
}
|
||||
|
||||
ModulePassManager MPM(DebugPassManager);
|
||||
+ bool NeedThinLTOBufferPasses = UseThinLTOBuffers;
|
||||
if (!NoPrepopulatePasses) {
|
||||
if (OptLevel == PassBuilder::OptimizationLevel::O0) {
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
for (const auto &C : PipelineStartEPCallbacks)
|
||||
- C(MPM);
|
||||
+ PB.registerPipelineStartEPCallback(C);
|
||||
+ for (const auto &C : OptimizerLastEPCallbacks)
|
||||
+ PB.registerOptimizerLastEPCallback(C);
|
||||
|
||||
-#if LLVM_VERSION_GE(11, 0)
|
||||
+ // Pass false as we manually schedule ThinLTOBufferPasses below.
|
||||
+ MPM = PB.buildO0DefaultPipeline(OptLevel, /* PreLinkLTO */ false);
|
||||
+#else
|
||||
+ for (const auto &C : PipelineStartEPCallbacks)
|
||||
+ C(MPM, OptLevel);
|
||||
+
|
||||
+# if LLVM_VERSION_GE(11, 0)
|
||||
for (const auto &C : OptimizerLastEPCallbacks)
|
||||
C(MPM, OptLevel);
|
||||
-#else
|
||||
+# else
|
||||
if (!OptimizerLastEPCallbacks.empty()) {
|
||||
FunctionPassManager FPM(DebugPassManager);
|
||||
for (const auto &C : OptimizerLastEPCallbacks)
|
||||
C(FPM, OptLevel);
|
||||
MPM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
|
||||
}
|
||||
-#endif
|
||||
+# endif
|
||||
|
||||
MPM.addPass(AlwaysInlinerPass(EmitLifetimeMarkers));
|
||||
|
||||
-#if LLVM_VERSION_GE(10, 0)
|
||||
+# if LLVM_VERSION_GE(10, 0)
|
||||
if (PGOOpt) {
|
||||
PB.addPGOInstrPassesForO0(
|
||||
MPM, DebugPassManager, PGOOpt->Action == PGOOptions::IRInstr,
|
||||
/*IsCS=*/false, PGOOpt->ProfileFile, PGOOpt->ProfileRemappingFile);
|
||||
}
|
||||
+# endif
|
||||
#endif
|
||||
} else {
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
for (const auto &C : PipelineStartEPCallbacks)
|
||||
PB.registerPipelineStartEPCallback(C);
|
||||
+#else
|
||||
+ for (const auto &C : PipelineStartEPCallbacks)
|
||||
+ PB.registerPipelineStartEPCallback([C, OptLevel](ModulePassManager &MPM) {
|
||||
+ C(MPM, OptLevel);
|
||||
+ });
|
||||
+#endif
|
||||
if (OptStage != LLVMRustOptStage::PreLinkThinLTO) {
|
||||
for (const auto &C : OptimizerLastEPCallbacks)
|
||||
PB.registerOptimizerLastEPCallback(C);
|
||||
@@ -956,7 +1013,12 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
MPM = PB.buildPerModuleDefaultPipeline(OptLevel, DebugPassManager);
|
||||
break;
|
||||
case LLVMRustOptStage::PreLinkThinLTO:
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ MPM = PB.buildThinLTOPreLinkDefaultPipeline(OptLevel);
|
||||
+ NeedThinLTOBufferPasses = false;
|
||||
+#else
|
||||
MPM = PB.buildThinLTOPreLinkDefaultPipeline(OptLevel, DebugPassManager);
|
||||
+#endif
|
||||
#if LLVM_VERSION_GE(11, 0)
|
||||
for (const auto &C : OptimizerLastEPCallbacks)
|
||||
C(MPM, OptLevel);
|
||||
@@ -970,21 +1032,34 @@ LLVMRustOptimizeWithNewPassManager(
|
||||
#endif
|
||||
break;
|
||||
case LLVMRustOptStage::PreLinkFatLTO:
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ MPM = PB.buildLTOPreLinkDefaultPipeline(OptLevel);
|
||||
+ NeedThinLTOBufferPasses = false;
|
||||
+#else
|
||||
MPM = PB.buildLTOPreLinkDefaultPipeline(OptLevel, DebugPassManager);
|
||||
+#endif
|
||||
break;
|
||||
case LLVMRustOptStage::ThinLTO:
|
||||
// FIXME: Does it make sense to pass the ModuleSummaryIndex?
|
||||
// It only seems to be needed for C++ specific optimizations.
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ MPM = PB.buildThinLTODefaultPipeline(OptLevel, nullptr);
|
||||
+#else
|
||||
MPM = PB.buildThinLTODefaultPipeline(OptLevel, DebugPassManager, nullptr);
|
||||
+#endif
|
||||
break;
|
||||
case LLVMRustOptStage::FatLTO:
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ MPM = PB.buildLTODefaultPipeline(OptLevel, nullptr);
|
||||
+#else
|
||||
MPM = PB.buildLTODefaultPipeline(OptLevel, DebugPassManager, nullptr);
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- if (UseThinLTOBuffers) {
|
||||
+ if (NeedThinLTOBufferPasses) {
|
||||
MPM.addPass(CanonicalizeAliasesPass());
|
||||
MPM.addPass(NameAnonGlobalPass());
|
||||
}
|
||||
diff --git a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
|
||||
index 45835990cecbb..09dfba292e431 100644
|
||||
--- a/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
|
||||
+++ b/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
|
||||
@@ -263,6 +263,17 @@ extern "C" void LLVMRustAddByValCallSiteAttr(LLVMValueRef Instr, unsigned Index,
|
||||
Call->addAttribute(Index, Attr);
|
||||
}
|
||||
|
||||
+extern "C" void LLVMRustAddStructRetCallSiteAttr(LLVMValueRef Instr, unsigned Index,
|
||||
+ LLVMTypeRef Ty) {
|
||||
+ CallBase *Call = unwrap<CallBase>(Instr);
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ Attribute Attr = Attribute::getWithStructRetType(Call->getContext(), unwrap(Ty));
|
||||
+#else
|
||||
+ Attribute Attr = Attribute::get(Call->getContext(), Attribute::StructRet);
|
||||
+#endif
|
||||
+ Call->addAttribute(Index, Attr);
|
||||
+}
|
||||
+
|
||||
extern "C" void LLVMRustAddFunctionAttribute(LLVMValueRef Fn, unsigned Index,
|
||||
LLVMRustAttribute RustAttr) {
|
||||
Function *A = unwrap<Function>(Fn);
|
||||
@@ -304,6 +315,17 @@ extern "C" void LLVMRustAddByValAttr(LLVMValueRef Fn, unsigned Index,
|
||||
F->addAttribute(Index, Attr);
|
||||
}
|
||||
|
||||
+extern "C" void LLVMRustAddStructRetAttr(LLVMValueRef Fn, unsigned Index,
|
||||
+ LLVMTypeRef Ty) {
|
||||
+ Function *F = unwrap<Function>(Fn);
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ Attribute Attr = Attribute::getWithStructRetType(F->getContext(), unwrap(Ty));
|
||||
+#else
|
||||
+ Attribute Attr = Attribute::get(F->getContext(), Attribute::StructRet);
|
||||
+#endif
|
||||
+ F->addAttribute(Index, Attr);
|
||||
+}
|
||||
+
|
||||
extern "C" void LLVMRustAddFunctionAttrStringValue(LLVMValueRef Fn,
|
||||
unsigned Index,
|
||||
const char *Name,
|
||||
@@ -1007,12 +1029,19 @@ LLVMRustDICompositeTypeReplaceArrays(LLVMRustDIBuilderRef Builder,
|
||||
|
||||
extern "C" LLVMMetadataRef
|
||||
LLVMRustDIBuilderCreateDebugLocation(unsigned Line, unsigned Column,
|
||||
- LLVMMetadataRef Scope,
|
||||
+ LLVMMetadataRef ScopeRef,
|
||||
LLVMMetadataRef InlinedAt) {
|
||||
- DebugLoc debug_loc = DebugLoc::get(Line, Column, unwrapDIPtr<MDNode>(Scope),
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ MDNode *Scope = unwrapDIPtr<MDNode>(ScopeRef);
|
||||
+ DILocation *Loc = DILocation::get(
|
||||
+ Scope->getContext(), Line, Column, Scope,
|
||||
+ unwrapDIPtr<MDNode>(InlinedAt));
|
||||
+ return wrap(Loc);
|
||||
+#else
|
||||
+ DebugLoc debug_loc = DebugLoc::get(Line, Column, unwrapDIPtr<MDNode>(ScopeRef),
|
||||
unwrapDIPtr<MDNode>(InlinedAt));
|
||||
-
|
||||
return wrap(debug_loc.getAsMDNode());
|
||||
+#endif
|
||||
}
|
||||
|
||||
extern "C" int64_t LLVMRustDIBuilderCreateOpDeref() {
|
||||
@@ -1262,6 +1291,10 @@ extern "C" LLVMTypeKind LLVMRustGetTypeKind(LLVMTypeRef Ty) {
|
||||
return LLVMScalableVectorTypeKind;
|
||||
case Type::BFloatTyID:
|
||||
return LLVMBFloatTypeKind;
|
||||
+#endif
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ case Type::X86_AMXTyID:
|
||||
+ return LLVMX86_AMXTypeKind;
|
||||
#endif
|
||||
}
|
||||
report_fatal_error("Unhandled TypeID.");
|
||||
@@ -1708,11 +1741,23 @@ LLVMRustBuildVectorReduceMax(LLVMBuilderRef B, LLVMValueRef Src, bool IsSigned)
|
||||
}
|
||||
extern "C" LLVMValueRef
|
||||
LLVMRustBuildVectorReduceFMin(LLVMBuilderRef B, LLVMValueRef Src, bool NoNaN) {
|
||||
- return wrap(unwrap(B)->CreateFPMinReduce(unwrap(Src), NoNaN));
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ Instruction *I = unwrap(B)->CreateFPMinReduce(unwrap(Src));
|
||||
+ I->setHasNoNaNs(NoNaN);
|
||||
+ return wrap(I);
|
||||
+#else
|
||||
+ return wrap(unwrap(B)->CreateFPMinReduce(unwrap(Src), NoNaN));
|
||||
+#endif
|
||||
}
|
||||
extern "C" LLVMValueRef
|
||||
LLVMRustBuildVectorReduceFMax(LLVMBuilderRef B, LLVMValueRef Src, bool NoNaN) {
|
||||
+#if LLVM_VERSION_GE(12, 0)
|
||||
+ Instruction *I = unwrap(B)->CreateFPMaxReduce(unwrap(Src));
|
||||
+ I->setHasNoNaNs(NoNaN);
|
||||
+ return wrap(I);
|
||||
+#else
|
||||
return wrap(unwrap(B)->CreateFPMaxReduce(unwrap(Src), NoNaN));
|
||||
+#endif
|
||||
}
|
||||
|
||||
extern "C" LLVMValueRef
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
|
||||
index 751022c124baa..9db880b0e53ca 100644
|
||||
--- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
|
||||
+++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_gnu.rs
|
||||
@@ -14,7 +14,7 @@ pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "powerpc64-unknown-linux-gnu".to_string(),
|
||||
pointer_width: 64,
|
||||
- data_layout: "E-m:e-i64:64-n32:64".to_string(),
|
||||
+ data_layout: "E-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base },
|
||||
}
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs
|
||||
index 546dfbab6c701..8767f86b00bb4 100644
|
||||
--- a/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs
|
||||
+++ b/compiler/rustc_target/src/spec/powerpc64_unknown_linux_musl.rs
|
||||
@@ -10,7 +10,7 @@ pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "powerpc64-unknown-linux-musl".to_string(),
|
||||
pointer_width: 64,
|
||||
- data_layout: "E-m:e-i64:64-n32:64".to_string(),
|
||||
+ data_layout: "E-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
options: TargetOptions { endian: Endian::Big, mcount: "_mcount".to_string(), ..base },
|
||||
}
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs b/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs
|
||||
index bb55872109c33..2f28a8562472d 100644
|
||||
--- a/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs
|
||||
+++ b/compiler/rustc_target/src/spec/powerpc64_wrs_vxworks.rs
|
||||
@@ -10,7 +10,7 @@ pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "powerpc64-unknown-linux-gnu".to_string(),
|
||||
pointer_width: 64,
|
||||
- data_layout: "E-m:e-i64:64-n32:64".to_string(),
|
||||
+ data_layout: "E-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
options: TargetOptions { endian: Endian::Big, ..base },
|
||||
}
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs
|
||||
index 07e0bf81bc72f..4cbd99765088f 100644
|
||||
--- a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs
|
||||
+++ b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_gnu.rs
|
||||
@@ -9,7 +9,7 @@ pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "powerpc64le-unknown-linux-gnu".to_string(),
|
||||
pointer_width: 64,
|
||||
- data_layout: "e-m:e-i64:64-n32:64".to_string(),
|
||||
+ data_layout: "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
options: TargetOptions { mcount: "_mcount".to_string(), ..base },
|
||||
}
|
||||
diff --git a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs
|
||||
index 41c78a5f27633..efdc9ad7517d1 100644
|
||||
--- a/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs
|
||||
+++ b/compiler/rustc_target/src/spec/powerpc64le_unknown_linux_musl.rs
|
||||
@@ -9,7 +9,7 @@ pub fn target() -> Target {
|
||||
Target {
|
||||
llvm_target: "powerpc64le-unknown-linux-musl".to_string(),
|
||||
pointer_width: 64,
|
||||
- data_layout: "e-m:e-i64:64-n32:64".to_string(),
|
||||
+ data_layout: "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512".to_string(),
|
||||
arch: "powerpc64".to_string(),
|
||||
options: TargetOptions { mcount: "_mcount".to_string(), ..base },
|
||||
}
|
||||
diff --git a/src/test/assembly/asm/riscv-types.rs b/src/test/assembly/asm/riscv-types.rs
|
||||
index 67dda1024fc24..47518cdcf1671 100644
|
||||
--- a/src/test/assembly/asm/riscv-types.rs
|
||||
+++ b/src/test/assembly/asm/riscv-types.rs
|
||||
@@ -5,6 +5,7 @@
|
||||
//[riscv32] compile-flags: --target riscv32imac-unknown-none-elf
|
||||
// compile-flags: -C target-feature=+d
|
||||
// needs-llvm-components: riscv
|
||||
+// min-system-llvm-version: 12.0
|
||||
|
||||
#![feature(no_core, lang_items, rustc_attrs)]
|
||||
#![crate_type = "rlib"]
|
||||
@@ -99,45 +100,45 @@ macro_rules! check_reg {
|
||||
|
||||
// CHECK-LABEL: reg_i8:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
|
||||
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
|
||||
// CHECK: #NO_APP
|
||||
check!(reg_i8 i8 reg "mv");
|
||||
|
||||
// CHECK-LABEL: reg_i16:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
|
||||
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
|
||||
// CHECK: #NO_APP
|
||||
check!(reg_i16 i16 reg "mv");
|
||||
|
||||
// CHECK-LABEL: reg_i32:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
|
||||
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
|
||||
// CHECK: #NO_APP
|
||||
check!(reg_i32 i32 reg "mv");
|
||||
|
||||
// CHECK-LABEL: reg_f32:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
|
||||
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
|
||||
// CHECK: #NO_APP
|
||||
check!(reg_f32 f32 reg "mv");
|
||||
|
||||
// riscv64-LABEL: reg_i64:
|
||||
// riscv64: #APP
|
||||
-// riscv64: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
|
||||
+// riscv64: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
|
||||
// riscv64: #NO_APP
|
||||
#[cfg(riscv64)]
|
||||
check!(reg_i64 i64 reg "mv");
|
||||
|
||||
// riscv64-LABEL: reg_f64:
|
||||
// riscv64: #APP
|
||||
-// riscv64: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
|
||||
+// riscv64: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
|
||||
// riscv64: #NO_APP
|
||||
#[cfg(riscv64)]
|
||||
check!(reg_f64 f64 reg "mv");
|
||||
|
||||
// CHECK-LABEL: reg_ptr:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add {{[a-z0-9]+}}, zero, {{[a-z0-9]+}}
|
||||
+// CHECK: mv {{[a-z0-9]+}}, {{[a-z0-9]+}}
|
||||
// CHECK: #NO_APP
|
||||
check!(reg_ptr ptr reg "mv");
|
||||
|
||||
@@ -155,45 +156,45 @@ check!(freg_f64 f64 freg "fmv.d");
|
||||
|
||||
// CHECK-LABEL: a0_i8:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add a0, zero, a0
|
||||
+// CHECK: mv a0, a0
|
||||
// CHECK: #NO_APP
|
||||
check_reg!(a0_i8 i8 "a0" "mv");
|
||||
|
||||
// CHECK-LABEL: a0_i16:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add a0, zero, a0
|
||||
+// CHECK: mv a0, a0
|
||||
// CHECK: #NO_APP
|
||||
check_reg!(a0_i16 i16 "a0" "mv");
|
||||
|
||||
// CHECK-LABEL: a0_i32:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add a0, zero, a0
|
||||
+// CHECK: mv a0, a0
|
||||
// CHECK: #NO_APP
|
||||
check_reg!(a0_i32 i32 "a0" "mv");
|
||||
|
||||
// CHECK-LABEL: a0_f32:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add a0, zero, a0
|
||||
+// CHECK: mv a0, a0
|
||||
// CHECK: #NO_APP
|
||||
check_reg!(a0_f32 f32 "a0" "mv");
|
||||
|
||||
// riscv64-LABEL: a0_i64:
|
||||
// riscv64: #APP
|
||||
-// riscv64: add a0, zero, a0
|
||||
+// riscv64: mv a0, a0
|
||||
// riscv64: #NO_APP
|
||||
#[cfg(riscv64)]
|
||||
check_reg!(a0_i64 i64 "a0" "mv");
|
||||
|
||||
// riscv64-LABEL: a0_f64:
|
||||
// riscv64: #APP
|
||||
-// riscv64: add a0, zero, a0
|
||||
+// riscv64: mv a0, a0
|
||||
// riscv64: #NO_APP
|
||||
#[cfg(riscv64)]
|
||||
check_reg!(a0_f64 f64 "a0" "mv");
|
||||
|
||||
// CHECK-LABEL: a0_ptr:
|
||||
// CHECK: #APP
|
||||
-// CHECK: add a0, zero, a0
|
||||
+// CHECK: mv a0, a0
|
||||
// CHECK: #NO_APP
|
||||
check_reg!(a0_ptr ptr "a0" "mv");
|
||||
|
||||
diff --git a/src/test/codegen/function-arguments.rs b/src/test/codegen/function-arguments.rs
|
||||
index 3511c7c5185ee..a1da4faf5d85a 100644
|
||||
--- a/src/test/codegen/function-arguments.rs
|
||||
+++ b/src/test/codegen/function-arguments.rs
|
||||
@@ -1,5 +1,6 @@
|
||||
// compile-flags: -C no-prepopulate-passes
|
||||
// ignore-tidy-linelength
|
||||
+// min-system-llvm-version: 12.0
|
||||
|
||||
#![crate_type = "lib"]
|
||||
#![feature(rustc_attrs)]
|
||||
@@ -73,7 +74,7 @@ pub fn _box(x: Box<i32>) -> Box<i32> {
|
||||
x
|
||||
}
|
||||
|
||||
-// CHECK: @struct_return(%S* noalias nocapture sret dereferenceable(32){{( %0)?}})
|
||||
+// CHECK: @struct_return(%S* noalias nocapture sret(%S) dereferenceable(32){{( %0)?}})
|
||||
#[no_mangle]
|
||||
pub fn struct_return() -> S {
|
||||
S {
|
||||
diff --git a/src/test/codegen/packed.rs b/src/test/codegen/packed.rs
|
||||
index f3f5202206ced..c31e8457dcded 100644
|
||||
--- a/src/test/codegen/packed.rs
|
||||
+++ b/src/test/codegen/packed.rs
|
||||
@@ -52,7 +52,7 @@ pub struct BigPacked2 {
|
||||
#[no_mangle]
|
||||
pub fn call_pkd1(f: fn() -> Array) -> BigPacked1 {
|
||||
// CHECK: [[ALLOCA:%[_a-z0-9]+]] = alloca %Array
|
||||
-// CHECK: call void %{{.*}}(%Array* noalias nocapture sret dereferenceable(32) [[ALLOCA]])
|
||||
+// CHECK: call void %{{.*}}(%Array* noalias nocapture sret{{.*}} dereferenceable(32) [[ALLOCA]])
|
||||
// CHECK: call void @llvm.memcpy.{{.*}}(i8* align 1 %{{.*}}, i8* align 4 %{{.*}}, i{{[0-9]+}} 32, i1 false)
|
||||
// check that calls whose destination is a field of a packed struct
|
||||
// go through an alloca rather than calling the function with an
|
||||
@@ -64,7 +64,7 @@ pub fn call_pkd1(f: fn() -> Array) -> BigPacked1 {
|
||||
#[no_mangle]
|
||||
pub fn call_pkd2(f: fn() -> Array) -> BigPacked2 {
|
||||
// CHECK: [[ALLOCA:%[_a-z0-9]+]] = alloca %Array
|
||||
-// CHECK: call void %{{.*}}(%Array* noalias nocapture sret dereferenceable(32) [[ALLOCA]])
|
||||
+// CHECK: call void %{{.*}}(%Array* noalias nocapture sret{{.*}} dereferenceable(32) [[ALLOCA]])
|
||||
// CHECK: call void @llvm.memcpy.{{.*}}(i8* align 2 %{{.*}}, i8* align 4 %{{.*}}, i{{[0-9]+}} 32, i1 false)
|
||||
// check that calls whose destination is a field of a packed struct
|
||||
// go through an alloca rather than calling the function with an
|
||||
diff --git a/src/test/codegen/repr-transparent-aggregates-1.rs b/src/test/codegen/repr-transparent-aggregates-1.rs
|
||||
index 2b8d3c8bc1d22..847b94fac78ce 100644
|
||||
--- a/src/test/codegen/repr-transparent-aggregates-1.rs
|
||||
+++ b/src/test/codegen/repr-transparent-aggregates-1.rs
|
||||
@@ -1,7 +1,7 @@
|
||||
// compile-flags: -C no-prepopulate-passes
|
||||
// ignore-tidy-linelength
|
||||
|
||||
-// min-system-llvm-version: 9.0
|
||||
+// min-system-llvm-version: 12.0
|
||||
// ignore-arm
|
||||
// ignore-aarch64
|
||||
// ignore-mips
|
||||
@@ -34,19 +34,19 @@ pub enum TeBigS {
|
||||
Variant(BigS),
|
||||
}
|
||||
|
||||
-// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], %BigS* [[BIGS_ARG_ATTRS1:.*]] byval(%BigS) [[BIGS_ARG_ATTRS2:.*]])
|
||||
+// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS1:.*]] sret(%BigS) [[BIGS_RET_ATTRS2:.*]], %BigS* [[BIGS_ARG_ATTRS1:.*]] byval(%BigS) [[BIGS_ARG_ATTRS2:.*]])
|
||||
#[no_mangle]
|
||||
pub extern "C" fn test_BigS(_: BigS) -> BigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS]], %TsBigS* [[BIGS_ARG_ATTRS1]] byval(%TsBigS) [[BIGS_ARG_ATTRS2:.*]])
|
||||
+// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS1]] sret(%TsBigS) [[BIGS_RET_ATTRS2]], %TsBigS* [[BIGS_ARG_ATTRS1]] byval(%TsBigS) [[BIGS_ARG_ATTRS2:.*]])
|
||||
#[no_mangle]
|
||||
pub extern "C" fn test_TsBigS(_: TsBigS) -> TsBigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS]], %TuBigS* [[BIGS_ARG_ATTRS1]] byval(%TuBigS) [[BIGS_ARG_ATTRS2:.*]])
|
||||
+// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS1]] sret(%TuBigS) [[BIGS_RET_ATTRS2]], %TuBigS* [[BIGS_ARG_ATTRS1]] byval(%TuBigS) [[BIGS_ARG_ATTRS2:.*]])
|
||||
#[no_mangle]
|
||||
pub extern "C" fn test_TuBigS(_: TuBigS) -> TuBigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS]], %"TeBigS::Variant"* [[BIGS_ARG_ATTRS1]] byval(%"TeBigS::Variant") [[BIGS_ARG_ATTRS2]])
|
||||
+// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS1]] sret(%"TeBigS::Variant") [[BIGS_RET_ATTRS2]], %"TeBigS::Variant"* [[BIGS_ARG_ATTRS1]] byval(%"TeBigS::Variant") [[BIGS_ARG_ATTRS2]])
|
||||
#[no_mangle]
|
||||
pub extern "C" fn test_TeBigS(_: TeBigS) -> TeBigS { loop {} }
|
||||
|
||||
@@ -70,18 +70,18 @@ pub enum TeBigU {
|
||||
Variant(BigU),
|
||||
}
|
||||
|
||||
-// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS:.*]], %BigU* [[BIGU_ARG_ATTRS1:.*]] byval(%BigU) [[BIGU_ARG_ATTRS2:.*]])
|
||||
+// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS1:.*]] sret(%BigU) [[BIGU_RET_ATTRS2:.*]], %BigU* [[BIGU_ARG_ATTRS1:.*]] byval(%BigU) [[BIGU_ARG_ATTRS2:.*]])
|
||||
#[no_mangle]
|
||||
pub extern "C" fn test_BigU(_: BigU) -> BigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS:.*]], %TsBigU* [[BIGU_ARG_ATTRS1]] byval(%TsBigU) [[BIGU_ARG_ATTRS2]])
|
||||
+// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS1:.*]] sret(%TsBigU) [[BIGU_RET_ATTRS2:.*]], %TsBigU* [[BIGU_ARG_ATTRS1]] byval(%TsBigU) [[BIGU_ARG_ATTRS2]])
|
||||
#[no_mangle]
|
||||
pub extern "C" fn test_TsBigU(_: TsBigU) -> TsBigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS]], %TuBigU* [[BIGU_ARG_ATTRS1]] byval(%TuBigU) [[BIGU_ARG_ATTRS2]])
|
||||
+// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS1]] sret(%TuBigU) [[BIGU_RET_ATTRS2:.*]], %TuBigU* [[BIGU_ARG_ATTRS1]] byval(%TuBigU) [[BIGU_ARG_ATTRS2]])
|
||||
#[no_mangle]
|
||||
pub extern "C" fn test_TuBigU(_: TuBigU) -> TuBigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS]], %"TeBigU::Variant"* [[BIGU_ARG_ATTRS1]] byval(%"TeBigU::Variant") [[BIGU_ARG_ATTRS2]])
|
||||
+// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS1]] sret(%"TeBigU::Variant") [[BIGU_RET_ATTRS2:.*]], %"TeBigU::Variant"* [[BIGU_ARG_ATTRS1]] byval(%"TeBigU::Variant") [[BIGU_ARG_ATTRS2]])
|
||||
#[no_mangle]
|
||||
pub extern "C" fn test_TeBigU(_: TeBigU) -> TeBigU { loop {} }
|
||||
diff --git a/src/test/codegen/repr-transparent-aggregates-2.rs b/src/test/codegen/repr-transparent-aggregates-2.rs
|
||||
index 07e5af11f3577..1fb12d92bd135 100644
|
||||
--- a/src/test/codegen/repr-transparent-aggregates-2.rs
|
||||
+++ b/src/test/codegen/repr-transparent-aggregates-2.rs
|
||||
@@ -1,5 +1,7 @@
|
||||
// compile-flags: -C no-prepopulate-passes
|
||||
+// ignore-tidy-linelength
|
||||
|
||||
+// min-system-llvm-version: 12.0
|
||||
// ignore-aarch64
|
||||
// ignore-emscripten
|
||||
// ignore-mips64
|
||||
@@ -36,19 +38,19 @@ pub enum TeBigS {
|
||||
Variant(BigS),
|
||||
}
|
||||
|
||||
-// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], [16 x i32]
|
||||
+// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS1:.*]] sret(%BigS) [[BIGS_RET_ATTRS2:.*]], [16 x i32]
|
||||
#[no_mangle]
|
||||
pub extern fn test_BigS(_: BigS) -> BigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS]], [16 x i32]
|
||||
+// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS1]] sret(%TsBigS) [[BIGS_RET_ATTRS2]], [16 x i32]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TsBigS(_: TsBigS) -> TsBigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS]], [16 x i32]
|
||||
+// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS1]] sret(%TuBigS) [[BIGS_RET_ATTRS2]], [16 x i32]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TuBigS(_: TuBigS) -> TuBigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS]], [16 x i32]
|
||||
+// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS1]] sret(%"TeBigS::Variant") [[BIGS_RET_ATTRS2]], [16 x i32]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TeBigS(_: TeBigS) -> TeBigS { loop {} }
|
||||
|
||||
@@ -72,18 +74,18 @@ pub enum TeBigU {
|
||||
Variant(BigU),
|
||||
}
|
||||
|
||||
-// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS:.*]], [16 x i32]
|
||||
+// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS1:.*]] sret(%BigU) [[BIGU_RET_ATTRS2:.*]], [16 x i32]
|
||||
#[no_mangle]
|
||||
pub extern fn test_BigU(_: BigU) -> BigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS:.*]], [16 x i32]
|
||||
+// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS1]] sret(%TsBigU) [[BIGU_RET_ATTRS2]], [16 x i32]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TsBigU(_: TsBigU) -> TsBigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS]], [16 x i32]
|
||||
+// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS1]] sret(%TuBigU) [[BIGU_RET_ATTRS2]], [16 x i32]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TuBigU(_: TuBigU) -> TuBigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS]], [16 x i32]
|
||||
+// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS1]] sret(%"TeBigU::Variant") [[BIGU_RET_ATTRS2]], [16 x i32]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TeBigU(_: TeBigU) -> TeBigU { loop {} }
|
||||
diff --git a/src/test/codegen/repr-transparent-aggregates-3.rs b/src/test/codegen/repr-transparent-aggregates-3.rs
|
||||
index e538be687801e..3381764bfc818 100644
|
||||
--- a/src/test/codegen/repr-transparent-aggregates-3.rs
|
||||
+++ b/src/test/codegen/repr-transparent-aggregates-3.rs
|
||||
@@ -1,5 +1,7 @@
|
||||
// compile-flags: -C no-prepopulate-passes
|
||||
+// ignore-tidy-linelength
|
||||
|
||||
+// min-system-llvm-version: 12.0
|
||||
// only-mips64
|
||||
// See repr-transparent.rs
|
||||
|
||||
@@ -25,19 +27,19 @@ pub enum TeBigS {
|
||||
Variant(BigS),
|
||||
}
|
||||
|
||||
-// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS:.*]], [8 x i64]
|
||||
+// CHECK: define void @test_BigS(%BigS* [[BIGS_RET_ATTRS1:.*]] sret(%BigS) [[BIGS_RET_ATTRS2:.*]], [8 x i64]
|
||||
#[no_mangle]
|
||||
pub extern fn test_BigS(_: BigS) -> BigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS]], [8 x i64]
|
||||
+// CHECK: define void @test_TsBigS(%TsBigS* [[BIGS_RET_ATTRS1]] sret(%TsBigS) [[BIGS_RET_ATTRS2]], [8 x i64]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TsBigS(_: TsBigS) -> TsBigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS]], [8 x i64]
|
||||
+// CHECK: define void @test_TuBigS(%TuBigS* [[BIGS_RET_ATTRS1]] sret(%TuBigS) [[BIGS_RET_ATTRS2]], [8 x i64]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TuBigS(_: TuBigS) -> TuBigS { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS]], [8 x i64]
|
||||
+// CHECK: define void @test_TeBigS(%"TeBigS::Variant"* [[BIGS_RET_ATTRS1]] sret(%"TeBigS::Variant") [[BIGS_RET_ATTRS2]], [8 x i64]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TeBigS(_: TeBigS) -> TeBigS { loop {} }
|
||||
|
||||
@@ -61,18 +63,18 @@ pub enum TeBigU {
|
||||
Variant(BigU),
|
||||
}
|
||||
|
||||
-// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS:.*]], [8 x i64]
|
||||
+// CHECK: define void @test_BigU(%BigU* [[BIGU_RET_ATTRS1:.*]] sret(%BigU) [[BIGU_RET_ATTRS2:.*]], [8 x i64]
|
||||
#[no_mangle]
|
||||
pub extern fn test_BigU(_: BigU) -> BigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS:.*]], [8 x i64]
|
||||
+// CHECK: define void @test_TsBigU(%TsBigU* [[BIGU_RET_ATTRS1]] sret(%TsBigU) [[BIGU_RET_ATTRS2]], [8 x i64]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TsBigU(_: TsBigU) -> TsBigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS]], [8 x i64]
|
||||
+// CHECK: define void @test_TuBigU(%TuBigU* [[BIGU_RET_ATTRS1]] sret(%TuBigU) [[BIGU_RET_ATTRS2]], [8 x i64]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TuBigU(_: TuBigU) -> TuBigU { loop {} }
|
||||
|
||||
-// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS]], [8 x i64]
|
||||
+// CHECK: define void @test_TeBigU(%"TeBigU::Variant"* [[BIGU_RET_ATTRS1]] sret(%"TeBigU::Variant") [[BIGU_RET_ATTRS2]], [8 x i64]
|
||||
#[no_mangle]
|
||||
pub extern fn test_TeBigU(_: TeBigU) -> TeBigU { loop {} }
|
||||
diff --git a/src/test/run-make-fulldeps/split-dwarf/Makefile b/src/test/run-make-fulldeps/split-dwarf/Makefile
|
||||
index e89cc1b2ede9b..f56b4168b2d66 100644
|
||||
--- a/src/test/run-make-fulldeps/split-dwarf/Makefile
|
||||
+++ b/src/test/run-make-fulldeps/split-dwarf/Makefile
|
||||
@@ -3,6 +3,6 @@
|
||||
# only-linux
|
||||
|
||||
all:
|
||||
- $(RUSTC) -Z unstable-options -C split-debuginfo=packed foo.rs -g
|
||||
+ $(RUSTC) -Z unstable-options -C split-debuginfo=packed -C debuginfo=2 foo.rs -g
|
||||
rm $(TMPDIR)/foo.dwp
|
||||
rm $(TMPDIR)/$(call BIN,foo)
|
Loading…
Reference in New Issue
Block a user