Merge commit 'abdb98ad4b' into sync_cg_clif-2026-02-18
This commit is contained in:
commit
87ba622af7
14 changed files with 472 additions and 107 deletions
259
compiler/rustc_codegen_cranelift/.github/scripts/free-disk-space.sh
vendored
Executable file
259
compiler/rustc_codegen_cranelift/.github/scripts/free-disk-space.sh
vendored
Executable file
|
|
@ -0,0 +1,259 @@
|
|||
#!/bin/bash
|
||||
# Ported from rust-lang/rust commit d29e4783dff30f9526eeba3929ebfe86c00c9dad in src/ci/scripts/free-disk-space-linux.sh
|
||||
set -euo pipefail
|
||||
|
||||
# Script inspired by https://github.com/jlumbroso/free-disk-space
|
||||
isX86() {
|
||||
local arch
|
||||
arch=$(uname -m)
|
||||
if [ "$arch" = "x86_64" ]; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# In aws codebuild, the variable RUNNER_ENVIRONMENT is "self-hosted".
|
||||
isGitHubRunner() {
|
||||
# `:-` means "use the value of RUNNER_ENVIRONMENT if it exists, otherwise use an empty string".
|
||||
if [[ "${RUNNER_ENVIRONMENT:-}" == "github-hosted" ]]; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# print a line of the specified character
|
||||
printSeparationLine() {
|
||||
for ((i = 0; i < 80; i++)); do
|
||||
printf "%s" "$1"
|
||||
done
|
||||
printf "\n"
|
||||
}
|
||||
|
||||
# REF: https://stackoverflow.com/a/450821/408734
|
||||
getAvailableSpace() {
|
||||
df -a | awk 'NR > 1 {avail+=$4} END {print avail}'
|
||||
}
|
||||
|
||||
# REF: https://unix.stackexchange.com/a/44087/60849
|
||||
formatByteCount() {
|
||||
numfmt --to=iec-i --suffix=B --padding=7 "${1}000"
|
||||
}
|
||||
|
||||
# macro to output saved space
|
||||
printSavedSpace() {
|
||||
# Disk space before the operation
|
||||
local before=${1}
|
||||
local title=${2:-}
|
||||
|
||||
local after
|
||||
after=$(getAvailableSpace)
|
||||
local saved=$((after - before))
|
||||
|
||||
if [ "$saved" -lt 0 ]; then
|
||||
echo "::warning::Saved space is negative: $saved. Using '0' as saved space."
|
||||
saved=0
|
||||
fi
|
||||
|
||||
echo ""
|
||||
printSeparationLine "*"
|
||||
if [ -n "${title}" ]; then
|
||||
echo "=> ${title}: Saved $(formatByteCount "$saved")"
|
||||
else
|
||||
echo "=> Saved $(formatByteCount "$saved")"
|
||||
fi
|
||||
printSeparationLine "*"
|
||||
echo ""
|
||||
}
|
||||
|
||||
# macro to print output of df with caption
|
||||
printDF() {
|
||||
local caption=${1}
|
||||
|
||||
printSeparationLine "="
|
||||
echo "${caption}"
|
||||
echo ""
|
||||
echo "$ df -h"
|
||||
echo ""
|
||||
df -h
|
||||
printSeparationLine "="
|
||||
}
|
||||
|
||||
removeUnusedFilesAndDirs() {
|
||||
local to_remove=(
|
||||
"/usr/share/java"
|
||||
)
|
||||
|
||||
if isGitHubRunner; then
|
||||
to_remove+=(
|
||||
"/usr/local/aws-sam-cli"
|
||||
"/usr/local/doc/cmake"
|
||||
"/usr/local/julia"*
|
||||
"/usr/local/lib/android"
|
||||
"/usr/local/share/chromedriver-"*
|
||||
"/usr/local/share/chromium"
|
||||
"/usr/local/share/cmake-"*
|
||||
"/usr/local/share/edge_driver"
|
||||
"/usr/local/share/emacs"
|
||||
"/usr/local/share/gecko_driver"
|
||||
"/usr/local/share/icons"
|
||||
"/usr/local/share/powershell"
|
||||
"/usr/local/share/vcpkg"
|
||||
"/usr/local/share/vim"
|
||||
"/usr/share/apache-maven-"*
|
||||
"/usr/share/gradle-"*
|
||||
"/usr/share/kotlinc"
|
||||
"/usr/share/miniconda"
|
||||
"/usr/share/php"
|
||||
"/usr/share/ri"
|
||||
"/usr/share/swift"
|
||||
|
||||
# binaries
|
||||
"/usr/local/bin/azcopy"
|
||||
"/usr/local/bin/bicep"
|
||||
"/usr/local/bin/ccmake"
|
||||
"/usr/local/bin/cmake-"*
|
||||
"/usr/local/bin/cmake"
|
||||
"/usr/local/bin/cpack"
|
||||
"/usr/local/bin/ctest"
|
||||
"/usr/local/bin/helm"
|
||||
"/usr/local/bin/kind"
|
||||
"/usr/local/bin/kustomize"
|
||||
"/usr/local/bin/minikube"
|
||||
"/usr/local/bin/packer"
|
||||
"/usr/local/bin/phpunit"
|
||||
"/usr/local/bin/pulumi-"*
|
||||
"/usr/local/bin/pulumi"
|
||||
"/usr/local/bin/stack"
|
||||
|
||||
# Haskell runtime
|
||||
"/usr/local/.ghcup"
|
||||
|
||||
# Azure
|
||||
"/opt/az"
|
||||
"/usr/share/az_"*
|
||||
)
|
||||
|
||||
if [ -n "${AGENT_TOOLSDIRECTORY:-}" ]; then
|
||||
# Environment variable set by GitHub Actions
|
||||
to_remove+=(
|
||||
"${AGENT_TOOLSDIRECTORY}"
|
||||
)
|
||||
else
|
||||
echo "::warning::AGENT_TOOLSDIRECTORY is not set. Skipping removal."
|
||||
fi
|
||||
else
|
||||
# Remove folders and files present in AWS CodeBuild
|
||||
to_remove+=(
|
||||
# binaries
|
||||
"/usr/local/bin/ecs-cli"
|
||||
"/usr/local/bin/eksctl"
|
||||
"/usr/local/bin/kubectl"
|
||||
|
||||
"${HOME}/.gradle"
|
||||
"${HOME}/.dotnet"
|
||||
"${HOME}/.goenv"
|
||||
"${HOME}/.phpenv"
|
||||
|
||||
)
|
||||
fi
|
||||
|
||||
for element in "${to_remove[@]}"; do
|
||||
if [ ! -e "$element" ]; then
|
||||
# The file or directory doesn't exist.
|
||||
# Maybe it was removed in a newer version of the runner or it's not present in a
|
||||
# specific architecture (e.g. ARM).
|
||||
echo "::warning::Directory or file $element does not exist, skipping."
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove all files and directories at once to save time.
|
||||
sudo rm -rf "${to_remove[@]}"
|
||||
}
|
||||
|
||||
execAndMeasureSpaceChange() {
|
||||
local operation=${1} # Function to execute
|
||||
local title=${2}
|
||||
|
||||
local before
|
||||
before=$(getAvailableSpace)
|
||||
$operation
|
||||
|
||||
printSavedSpace "$before" "$title"
|
||||
}
|
||||
|
||||
# REF: https://github.com/apache/flink/blob/master/tools/azure-pipelines/free_disk_space.sh
|
||||
cleanPackages() {
|
||||
local packages=(
|
||||
'^aspnetcore-.*'
|
||||
'^dotnet-.*'
|
||||
'^llvm-.*'
|
||||
'^mongodb-.*'
|
||||
'firefox'
|
||||
'libgl1-mesa-dri'
|
||||
'mono-devel'
|
||||
'php.*'
|
||||
)
|
||||
|
||||
if isGitHubRunner; then
|
||||
packages+=(
|
||||
azure-cli
|
||||
)
|
||||
|
||||
if isX86; then
|
||||
packages+=(
|
||||
'google-chrome-stable'
|
||||
'google-cloud-cli'
|
||||
'google-cloud-sdk'
|
||||
'powershell'
|
||||
)
|
||||
fi
|
||||
else
|
||||
packages+=(
|
||||
'google-chrome-stable'
|
||||
)
|
||||
fi
|
||||
|
||||
WAIT_DPKG_LOCK="-o DPkg::Lock::Timeout=60"
|
||||
sudo apt-get ${WAIT_DPKG_LOCK} -qq remove -y --fix-missing "${packages[@]}"
|
||||
|
||||
sudo apt-get ${WAIT_DPKG_LOCK} autoremove -y \
|
||||
|| echo "::warning::The command [sudo apt-get autoremove -y] failed"
|
||||
sudo apt-get ${WAIT_DPKG_LOCK} clean \
|
||||
|| echo "::warning::The command [sudo apt-get clean] failed"
|
||||
}
|
||||
|
||||
# They aren't present in ubuntu 24 runners.
|
||||
cleanDocker() {
|
||||
echo "=> Removing the following docker images:"
|
||||
sudo docker image ls
|
||||
echo "=> Removing docker images..."
|
||||
sudo docker image prune --all --force || true
|
||||
}
|
||||
|
||||
# Remove Swap storage
|
||||
cleanSwap() {
|
||||
sudo swapoff -a || true
|
||||
sudo rm -rf /mnt/swapfile || true
|
||||
free -h
|
||||
}
|
||||
|
||||
# Display initial disk space stats
|
||||
AVAILABLE_INITIAL=$(getAvailableSpace)
|
||||
|
||||
printDF "BEFORE CLEAN-UP:"
|
||||
echo ""
|
||||
execAndMeasureSpaceChange cleanPackages "Unused packages"
|
||||
execAndMeasureSpaceChange cleanDocker "Docker images"
|
||||
execAndMeasureSpaceChange cleanSwap "Swap storage"
|
||||
execAndMeasureSpaceChange removeUnusedFilesAndDirs "Unused files and directories"
|
||||
|
||||
# Output saved space statistic
|
||||
echo ""
|
||||
printDF "AFTER CLEAN-UP:"
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
printSavedSpace "$AVAILABLE_INITIAL" "Total saved"
|
||||
|
|
@ -49,6 +49,12 @@ jobs:
|
|||
if: matrix.os == 'ubuntu-latest'
|
||||
run: cat /proc/cpuinfo
|
||||
|
||||
- name: Free disk space
|
||||
if: runner.os == 'Linux'
|
||||
env:
|
||||
RUNNER_ENVIRONMENT: github-hosted
|
||||
run: .github/scripts/free-disk-space.sh
|
||||
|
||||
- name: Cache cargo target dir
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
|
|
|
|||
|
|
@ -13,6 +13,6 @@ jobs:
|
|||
- uses: actions/checkout@v4
|
||||
- run: |
|
||||
sed -i 's/components.*/components = []/' rust-toolchain.toml
|
||||
- uses: rustsec/audit-check@v1.4.1
|
||||
- uses: rustsec/audit-check@v2.0.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
|||
|
||||
[[package]]
|
||||
name = "bumpalo"
|
||||
version = "3.19.0"
|
||||
version = "3.19.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
|
||||
checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510"
|
||||
dependencies = [
|
||||
"allocator-api2",
|
||||
]
|
||||
|
|
@ -43,42 +43,42 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-assembler-x64"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8bd963a645179fa33834ba61fa63353998543b07f877e208da9eb47d4a70d1e7"
|
||||
checksum = "0377b13bf002a0774fcccac4f1102a10f04893d24060cf4b7350c87e4cbb647c"
|
||||
dependencies = [
|
||||
"cranelift-assembler-x64-meta",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-assembler-x64-meta"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3f6d5739c9dc6b5553ca758d78d87d127dd19f397f776efecf817b8ba8d0bb01"
|
||||
checksum = "cfa027979140d023b25bf7509fb7ede3a54c3d3871fb5ead4673c4b633f671a2"
|
||||
dependencies = [
|
||||
"cranelift-srcgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-bforest"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ff402c11bb1c9652b67a3e885e84b1b8d00c13472c8fd85211e06a41a63c3e03"
|
||||
checksum = "618e4da87d9179a70b3c2f664451ca8898987aa6eb9f487d16988588b5d8cc40"
|
||||
dependencies = [
|
||||
"cranelift-entity",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-bitset"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "769a0d88c2f5539e9c5536a93a7bf164b0dc68d91e3d00723e5b4ffc1440afdc"
|
||||
checksum = "db53764b5dad233b37b8f5dc54d3caa9900c54579195e00f17ea21f03f71aaa7"
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-codegen"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d4351f721fb3b26add1c180f0a75c7474bab2f903c8b777c6ca65238ded59a78"
|
||||
checksum = "4ae927f1d8c0abddaa863acd201471d56e7fc6c3925104f4861ed4dc3e28b421"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"cranelift-assembler-x64",
|
||||
|
|
@ -102,9 +102,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-codegen-meta"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "61f86c0ba5b96713643f4dd0de0df12844de9c7bb137d6829b174b706939aa74"
|
||||
checksum = "d3fcf1e3e6757834bd2584f4cbff023fcc198e9279dcb5d684b4bb27a9b19f54"
|
||||
dependencies = [
|
||||
"cranelift-assembler-x64-meta",
|
||||
"cranelift-codegen-shared",
|
||||
|
|
@ -114,33 +114,33 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-codegen-shared"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f08605eee8d51fd976a970bd5b16c9529b51b624f8af68f80649ffb172eb85a4"
|
||||
checksum = "205dcb9e6ccf9d368b7466be675ff6ee54a63e36da6fe20e72d45169cf6fd254"
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-control"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "623aab0a09e40f0cf0b5d35eb7832bae4c4f13e3768228e051a6c1a60e88ef5f"
|
||||
checksum = "108eca9fcfe86026054f931eceaf57b722c1b97464bf8265323a9b5877238817"
|
||||
dependencies = [
|
||||
"arbitrary",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-entity"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ea0f066e07e3bcbe38884cc5c94c32c7a90267d69df80f187d9dfe421adaa7c4"
|
||||
checksum = "a0d96496910065d3165f84ff8e1e393916f4c086f88ac8e1b407678bc78735aa"
|
||||
dependencies = [
|
||||
"cranelift-bitset",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-frontend"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "40865b02a0e52ca8e580ad64feef530cb1d05f6bb4972b4eef05e3eaeae81701"
|
||||
checksum = "e303983ad7e23c850f24d9c41fc3cb346e1b930f066d3966545e4c98dac5c9fb"
|
||||
dependencies = [
|
||||
"cranelift-codegen",
|
||||
"log",
|
||||
|
|
@ -150,15 +150,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-isle"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "104b3c117ae513e9af1d90679842101193a5ccb96ac9f997966d85ea25be2852"
|
||||
checksum = "24b0cf8d867d891245836cac7abafb0a5b0ea040a019d720702b3b8bcba40bfa"
|
||||
|
||||
[[package]]
|
||||
name = "cranelift-jit"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3aa5f855cfb8e4253ed2d0dfc1a0b6ebe4912e67aa8b7ee14026ff55ca17f1fe"
|
||||
checksum = "dcf1e35da6eca2448395f483eb172ce71dd7842f7dc96f44bb8923beafe43c6d"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"cranelift-codegen",
|
||||
|
|
@ -176,9 +176,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-module"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b1d01806b191b59f4fc4680293dd5f554caf2de5b62f95eff5beef7acb46c29c"
|
||||
checksum = "792ba2a54100e34f8a36e3e329a5207cafd1f0918a031d34695db73c163fdcc7"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"cranelift-codegen",
|
||||
|
|
@ -187,9 +187,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-native"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e5c54e0a358bc05b48f2032e1c320e7f468da068604f2869b77052eab68eb0fe"
|
||||
checksum = "e24b641e315443e27807b69c440fe766737d7e718c68beb665a2d69259c77bf3"
|
||||
dependencies = [
|
||||
"cranelift-codegen",
|
||||
"libc",
|
||||
|
|
@ -198,9 +198,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-object"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3d17e0216be5daabab616647c1918e06dae0708474ba5f7b7762ac24ea5eb126"
|
||||
checksum = "ecba1f219a201cf946150538e631defd620c5051b62c52ecb89a0004bab263d4"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"cranelift-codegen",
|
||||
|
|
@ -213,9 +213,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cranelift-srcgen"
|
||||
version = "0.127.0"
|
||||
version = "0.128.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cc6f4b039f453b66c75e9f7886e5a2af96276e151f44dc19b24b58f9a0c98009"
|
||||
checksum = "a4e378a54e7168a689486d67ee1f818b7e5356e54ae51a1d7a53f4f13f7f8b7a"
|
||||
|
||||
[[package]]
|
||||
name = "crc32fast"
|
||||
|
|
@ -257,9 +257,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.15.4"
|
||||
version = "0.15.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5"
|
||||
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
|
||||
dependencies = [
|
||||
"foldhash",
|
||||
]
|
||||
|
|
@ -282,9 +282,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.178"
|
||||
version = "0.2.180"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "37c93d8daa9d8a012fd8ab92f088405fb202ea0b6ab73ee2482ae66af4f42091"
|
||||
checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc"
|
||||
|
||||
[[package]]
|
||||
name = "libloading"
|
||||
|
|
@ -298,9 +298,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "libm"
|
||||
version = "0.2.15"
|
||||
version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de"
|
||||
checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
|
|
@ -337,27 +337,27 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.103"
|
||||
version = "1.0.106"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8"
|
||||
checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.42"
|
||||
version = "1.0.44"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f"
|
||||
checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regalloc2"
|
||||
version = "0.13.3"
|
||||
version = "0.13.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4e249c660440317032a71ddac302f25f1d5dff387667bcc3978d1f77aa31ac34"
|
||||
checksum = "08effbc1fa53aaebff69521a5c05640523fab037b34a4a2c109506bc938246fa"
|
||||
dependencies = [
|
||||
"allocator-api2",
|
||||
"bumpalo",
|
||||
|
|
@ -446,9 +446,9 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
|
|||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.111"
|
||||
version = "2.0.114"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87"
|
||||
checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -457,9 +457,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "target-lexicon"
|
||||
version = "0.13.3"
|
||||
version = "0.13.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c"
|
||||
checksum = "b1dd07eb858a2067e2f3c7155d54e929265c264e6f37efe3ee7a8d1b5a1dd0ba"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
|
|
@ -469,9 +469,9 @@ checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
|
|||
|
||||
[[package]]
|
||||
name = "wasmtime-internal-jit-icache-coherence"
|
||||
version = "40.0.0"
|
||||
version = "41.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0858b470463f3e7c73acd6049046049e64be17b98901c2db5047450cf83df1fe"
|
||||
checksum = "bada5ca1cc47df7d14100e2254e187c2486b426df813cea2dd2553a7469f7674"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"cfg-if",
|
||||
|
|
@ -481,9 +481,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "wasmtime-internal-math"
|
||||
version = "40.0.0"
|
||||
version = "41.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "222e1a590ece4e898f20af1e541b61d2cb803f2557e7eaff23e6c1db5434454a"
|
||||
checksum = "cf6f615d528eda9adc6eefb062135f831b5215c348f4c3ec3e143690c730605b"
|
||||
dependencies = [
|
||||
"libm",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ crate-type = ["dylib"]
|
|||
|
||||
[dependencies]
|
||||
# These have to be in sync with each other
|
||||
cranelift-codegen = { version = "0.127.0", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
|
||||
cranelift-frontend = { version = "0.127.0" }
|
||||
cranelift-module = { version = "0.127.0" }
|
||||
cranelift-native = { version = "0.127.0" }
|
||||
cranelift-jit = { version = "0.127.0", optional = true }
|
||||
cranelift-object = { version = "0.127.0" }
|
||||
cranelift-codegen = { version = "0.128.3", default-features = false, features = ["std", "timing", "unwind", "all-native-arch"] }
|
||||
cranelift-frontend = { version = "0.128.3" }
|
||||
cranelift-module = { version = "0.128.3" }
|
||||
cranelift-native = { version = "0.128.3" }
|
||||
cranelift-jit = { version = "0.128.3", optional = true }
|
||||
cranelift-object = { version = "0.128.3" }
|
||||
target-lexicon = "0.13"
|
||||
gimli = { version = "0.32", default-features = false, features = ["write"] }
|
||||
object = { version = "0.37.3", default-features = false, features = ["std", "read_core", "write", "archive", "coff", "elf", "macho", "pe"] }
|
||||
|
|
@ -24,12 +24,12 @@ smallvec = "1.8.1"
|
|||
|
||||
[patch.crates-io]
|
||||
# Uncomment to use an unreleased version of cranelift
|
||||
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-40.0.0" }
|
||||
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-40.0.0" }
|
||||
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-40.0.0" }
|
||||
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-40.0.0" }
|
||||
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-40.0.0" }
|
||||
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-40.0.0" }
|
||||
#cranelift-codegen = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-41.0.0" }
|
||||
#cranelift-frontend = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-41.0.0" }
|
||||
#cranelift-module = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-41.0.0" }
|
||||
#cranelift-native = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-41.0.0" }
|
||||
#cranelift-jit = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-41.0.0" }
|
||||
#cranelift-object = { git = "https://github.com/bytecodealliance/wasmtime.git", branch = "release-41.0.0" }
|
||||
|
||||
# Uncomment to use local checkout of cranelift
|
||||
#cranelift-codegen = { path = "../wasmtime/cranelift/codegen" }
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ pub(crate) fn build_backend(
|
|||
|
||||
cmd.arg("--release");
|
||||
|
||||
cmd.arg("-Zno-embed-metadata");
|
||||
|
||||
eprintln!("[BUILD] rustc_codegen_cranelift");
|
||||
crate::utils::spawn_and_wait(cmd);
|
||||
|
||||
|
|
|
|||
|
|
@ -235,17 +235,14 @@ fn build_clif_sysroot_for_triple(
|
|||
|
||||
if let Some(prefix) = env::var_os("CG_CLIF_STDLIB_REMAP_PATH_PREFIX") {
|
||||
rustflags.push("--remap-path-prefix".to_owned());
|
||||
rustflags.push(format!(
|
||||
"{}={}",
|
||||
STDLIB_SRC.to_path(dirs).to_str().unwrap(),
|
||||
prefix.to_str().unwrap()
|
||||
));
|
||||
rustflags.push(format!("library/={}/library", prefix.to_str().unwrap()));
|
||||
}
|
||||
compiler.rustflags.extend(rustflags);
|
||||
let mut build_cmd = STANDARD_LIBRARY.build(&compiler, dirs);
|
||||
build_cmd.arg("--release");
|
||||
build_cmd.arg("--features").arg("backtrace panic-unwind");
|
||||
build_cmd.arg(format!("-Zroot-dir={}", STDLIB_SRC.to_path(dirs).display()));
|
||||
build_cmd.arg("-Zno-embed-metadata");
|
||||
build_cmd.env("CARGO_PROFILE_RELEASE_DEBUG", "true");
|
||||
build_cmd.env("__CARGO_DEFAULT_LIB_METADATA", "cg_clif");
|
||||
if compiler.triple.contains("apple") {
|
||||
|
|
@ -260,7 +257,7 @@ fn build_clif_sysroot_for_triple(
|
|||
for entry in fs::read_dir(build_dir.join("deps")).unwrap() {
|
||||
let entry = entry.unwrap();
|
||||
if let Some(ext) = entry.path().extension() {
|
||||
if ext == "rmeta" || ext == "d" || ext == "dSYM" || ext == "clif" {
|
||||
if ext == "d" || ext == "dSYM" || ext == "clif" {
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ aot.mini_core_hello_world
|
|||
|
||||
testsuite.base_sysroot
|
||||
aot.arbitrary_self_types_pointers_and_wrappers
|
||||
jit.std_example
|
||||
#jit.std_example # FIXME(#1619) broken for some reason
|
||||
aot.std_example
|
||||
aot.dst_field_align
|
||||
aot.subslice-patterns-const-eval
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
From 116abc64add4d617104993a7a3011f20bcf31ef2 Mon Sep 17 00:00:00 2001
|
||||
From: bjorn3 <17426603+bjorn3@users.noreply.github.com>
|
||||
Date: Mon, 26 Jan 2026 16:20:58 +0000
|
||||
Subject: [PATCH] Ensure va_end doesn't get emitted unless VaList is actually
|
||||
used
|
||||
|
||||
---
|
||||
library/core/src/ffi/va_list.rs | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/library/core/src/ffi/va_list.rs b/library/core/src/ffi/va_list.rs
|
||||
index d0f1553..75129af 100644
|
||||
--- a/library/core/src/ffi/va_list.rs
|
||||
+++ b/library/core/src/ffi/va_list.rs
|
||||
@@ -217,6 +217,7 @@ impl Clone for VaList<'_> {
|
||||
|
||||
#[rustc_const_unstable(feature = "const_c_variadic", issue = "151787")]
|
||||
impl<'f> const Drop for VaList<'f> {
|
||||
+ #[inline]
|
||||
fn drop(&mut self) {
|
||||
// SAFETY: this variable argument list is being dropped, so won't be read from again.
|
||||
unsafe { va_end(self) }
|
||||
--
|
||||
2.43.0
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[toolchain]
|
||||
channel = "nightly-2025-12-23"
|
||||
channel = "nightly-2026-02-18"
|
||||
components = ["rust-src", "rustc-dev", "llvm-tools", "rustfmt"]
|
||||
profile = "minimal"
|
||||
|
|
|
|||
52
compiler/rustc_codegen_cranelift/scripts/jit-helpers.py
Normal file
52
compiler/rustc_codegen_cranelift/scripts/jit-helpers.py
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
import gdb
|
||||
|
||||
def jitmap_raw():
|
||||
pid = gdb.selected_inferior().pid
|
||||
jitmap_file = open("/tmp/perf-%d.map" % (pid,), "r")
|
||||
jitmap = jitmap_file.read()
|
||||
jitmap_file.close()
|
||||
return jitmap
|
||||
|
||||
def jit_functions():
|
||||
jitmap = jitmap_raw()
|
||||
|
||||
functions = []
|
||||
for line in jitmap.strip().split("\n"):
|
||||
[addr, size, name] = line.split(" ")
|
||||
functions.append((int(addr, 16), int(size, 16), name))
|
||||
|
||||
return functions
|
||||
|
||||
class JitDecorator(gdb.FrameDecorator.FrameDecorator):
|
||||
def __init__(self, fobj, name):
|
||||
super(JitDecorator, self).__init__(fobj)
|
||||
self.name = name
|
||||
|
||||
def function(self):
|
||||
return self.name
|
||||
|
||||
class JitFilter:
|
||||
"""
|
||||
A backtrace filter which reads perf map files produced by cranelift-jit.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
self.name = 'JitFilter'
|
||||
self.enabled = True
|
||||
self.priority = 0
|
||||
|
||||
gdb.current_progspace().frame_filters[self.name] = self
|
||||
|
||||
# FIXME add an actual unwinder or somehow register JITed .eh_frame with gdb to avoid relying on
|
||||
# gdb unwinder heuristics.
|
||||
def filter(self, frame_iter):
|
||||
for frame in frame_iter:
|
||||
frame_addr = frame.inferior_frame().pc()
|
||||
for (addr, size, name) in jit_functions():
|
||||
if frame_addr >= addr and frame_addr < addr + size:
|
||||
yield JitDecorator(frame, name)
|
||||
break
|
||||
else:
|
||||
yield frame
|
||||
|
||||
JitFilter()
|
||||
|
|
@ -49,25 +49,45 @@ std-features = ["panic-unwind"]
|
|||
EOF
|
||||
|
||||
cat <<EOF | git apply -
|
||||
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py
|
||||
index 2e16f2cf27..3ac3df99a8 100644
|
||||
--- a/src/bootstrap/bootstrap.py
|
||||
+++ b/src/bootstrap/bootstrap.py
|
||||
@@ -1147,6 +1147,8 @@ class RustBuild(object):
|
||||
args += ["-Zwarnings"]
|
||||
env["CARGO_BUILD_WARNINGS"] = "deny"
|
||||
|
||||
+ env["RUSTFLAGS"] += " -Zbinary-dep-depinfo"
|
||||
+
|
||||
# Add RUSTFLAGS_BOOTSTRAP to RUSTFLAGS for bootstrap compilation.
|
||||
# Note that RUSTFLAGS_BOOTSTRAP should always be added to the end of
|
||||
# RUSTFLAGS, since that causes RUSTFLAGS_BOOTSTRAP to override RUSTFLAGS.
|
||||
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs
|
||||
index a656927b1f6..44fc5546fac 100644
|
||||
--- a/src/bootstrap/src/core/config/config.rs
|
||||
+++ b/src/bootstrap/src/core/config/config.rs
|
||||
@@ -2249,14 +2249,6 @@ pub fn parse_download_ci_llvm<'a>(
|
||||
);
|
||||
@@ -2249,7 +2249,7 @@ pub fn parse_download_ci_llvm<'a>(
|
||||
}
|
||||
|
||||
- #[cfg(not(test))]
|
||||
#[cfg(not(test))]
|
||||
- if b && dwn_ctx.is_running_on_ci && CiEnv::is_rust_lang_managed_ci_job() {
|
||||
- // On rust-lang CI, we must always rebuild LLVM if there were any modifications to it
|
||||
- panic!(
|
||||
- "\`llvm.download-ci-llvm\` cannot be set to \`true\` on CI. Use \`if-unchanged\` instead."
|
||||
- );
|
||||
- }
|
||||
-
|
||||
// If download-ci-llvm=true we also want to check that CI llvm is available
|
||||
b && llvm::is_ci_llvm_available_for_target(&dwn_ctx.host_target, asserts)
|
||||
}
|
||||
+ if false && dwn_ctx.is_running_on_ci && CiEnv::is_rust_lang_managed_ci_job() {
|
||||
// On rust-lang CI, we must always rebuild LLVM if there were any modifications to it
|
||||
panic!(
|
||||
"\`llvm.download-ci-llvm\` cannot be set to \`true\` on CI. Use \`if-unchanged\` instead."
|
||||
diff --git a/src/build_helper/src/git.rs b/src/build_helper/src/git.rs
|
||||
index 330fb465de..a4593ed96f 100644
|
||||
--- a/src/build_helper/src/git.rs
|
||||
+++ b/src/build_helper/src/git.rs
|
||||
@@ -218,7 +218,7 @@ pub fn get_closest_upstream_commit(
|
||||
config: &GitConfig<'_>,
|
||||
env: CiEnv,
|
||||
) -> Result<Option<String>, String> {
|
||||
- let base = match env {
|
||||
+ let base = match CiEnv::None {
|
||||
CiEnv::None => "HEAD",
|
||||
CiEnv::GitHubActions => {
|
||||
// On CI, we should always have a non-upstream merge commit at the tip,
|
||||
EOF
|
||||
|
||||
popd
|
||||
|
|
|
|||
|
|
@ -10,11 +10,6 @@ pushd rust
|
|||
|
||||
command -v rg >/dev/null 2>&1 || cargo install ripgrep
|
||||
|
||||
rm -r tests/ui/{lto/,linkage*} || true
|
||||
for test in $(rg --files-with-matches "lto" tests/{codegen-units,ui,incremental}); do
|
||||
rm $test
|
||||
done
|
||||
|
||||
# should-fail tests don't work when compiletest is compiled with panic=abort
|
||||
for test in $(rg --files-with-matches "//@ should-fail" tests/{codegen-units,ui,incremental}); do
|
||||
rm $test
|
||||
|
|
@ -38,6 +33,7 @@ rm tests/ui/simd/intrinsic/generic-arithmetic-pass.rs # unimplemented simd_funne
|
|||
rm -r tests/ui/scalable-vectors # scalable vectors are unsupported
|
||||
|
||||
# exotic linkages
|
||||
rm -r tests/ui/linkage*
|
||||
rm tests/incremental/hashes/function_interfaces.rs
|
||||
rm tests/incremental/hashes/statics.rs
|
||||
rm -r tests/run-make/naked-symbol-visibility
|
||||
|
|
@ -45,11 +41,13 @@ rm -r tests/run-make/naked-symbol-visibility
|
|||
# variadic arguments
|
||||
rm tests/ui/abi/mir/mir_codegen_calls_variadic.rs # requires float varargs
|
||||
rm tests/ui/c-variadic/naked.rs # same
|
||||
rm tests/ui/consts/const-eval/c-variadic.rs # same
|
||||
rm tests/ui/abi/variadic-ffi.rs # requires callee side vararg support
|
||||
rm -r tests/run-make/c-link-to-rust-va-list-fn # requires callee side vararg support
|
||||
rm tests/ui/c-variadic/valid.rs # same
|
||||
rm tests/ui/c-variadic/trait-method.rs # same
|
||||
rm tests/ui/c-variadic/inherent-method.rs # same
|
||||
rm tests/ui/c-variadic/copy.rs # same
|
||||
rm tests/ui/sanitizer/kcfi-c-variadic.rs # same
|
||||
rm tests/ui/c-variadic/same-program-multiple-abis-x86_64.rs # variadics for calling conventions other than C unsupported
|
||||
rm tests/ui/delegation/fn-header.rs
|
||||
|
|
@ -79,6 +77,10 @@ rm -r tests/ui/eii # EII not yet implemented
|
|||
rm -r tests/run-make/forced-unwind-terminate-pof # forced unwinding doesn't take precedence
|
||||
|
||||
# requires LTO
|
||||
rm -r tests/ui/lto
|
||||
for test in $(rg --files-with-matches "lto" tests/{codegen-units,ui,incremental}); do
|
||||
rm $test
|
||||
done
|
||||
rm -r tests/run-make/cdylib
|
||||
rm -r tests/run-make/codegen-options-parsing
|
||||
rm -r tests/run-make/lto-*
|
||||
|
|
@ -126,6 +128,14 @@ rm -r tests/run-make/notify-all-emit-artifacts
|
|||
rm -r tests/run-make/reset-codegen-1
|
||||
rm -r tests/run-make/inline-always-many-cgu
|
||||
rm -r tests/run-make/intrinsic-unreachable
|
||||
rm -r tests/run-make/artifact-incr-cache
|
||||
rm -r tests/run-make/artifact-incr-cache-no-obj
|
||||
rm -r tests/run-make/emit
|
||||
rm -r tests/run-make/llvm-outputs
|
||||
rm -r tests/run-make/panic-impl-transitive
|
||||
rm -r tests/ui/debuginfo/debuginfo-emit-llvm-ir-and-split-debuginfo.rs
|
||||
rm -r tests/ui/statics/issue-91050-1.rs
|
||||
rm -r tests/ui/statics/issue-91050-2.rs
|
||||
|
||||
# giving different but possibly correct results
|
||||
# =============================================
|
||||
|
|
@ -134,6 +144,7 @@ rm tests/ui/mir/mir_raw_fat_ptr.rs # same
|
|||
rm tests/ui/consts/issue-33537.rs # same
|
||||
rm tests/ui/consts/const-mut-refs-crate.rs # same
|
||||
rm tests/ui/abi/large-byval-align.rs # exceeds implementation limit of Cranelift
|
||||
rm -r tests/run-make/short-ice # ICE backtrace begin/end marker mismatch
|
||||
|
||||
# doesn't work due to the way the rustc test suite is invoked.
|
||||
# should work when using ./x.py test the way it is intended
|
||||
|
|
@ -147,20 +158,15 @@ rm -r tests/run-make-cargo/panic-immediate-abort-codegen # same
|
|||
rm -r tests/run-make/missing-unstable-trait-bound # This disables support for unstable features, but running cg_clif needs some unstable features
|
||||
rm -r tests/run-make/const-trait-stable-toolchain # same
|
||||
rm -r tests/run-make/print-request-help-stable-unstable # same
|
||||
rm -r tests/run-make/issue-149402-suggest-unresolve # same
|
||||
rm -r tests/run-make/incr-add-rust-src-component
|
||||
rm tests/ui/errors/remap-path-prefix-sysroot.rs # different sysroot source path
|
||||
rm -r tests/run-make/export/extern-opt # something about rustc version mismatches
|
||||
rm -r tests/run-make/export # same
|
||||
rm -r tests/ui/compiletest-self-test/compile-flags-incremental.rs # needs compiletest compiled with panic=unwind
|
||||
rm tests/ui/async-await/in-trait/dont-project-to-specializable-projection.rs # something going wrong with stdlib source remapping
|
||||
rm tests/ui/consts/miri_unleashed/drop.rs # same
|
||||
rm tests/ui/error-emitter/multiline-removal-suggestion.rs # same
|
||||
rm tests/ui/lint/lint-const-item-mutation.rs # same
|
||||
rm tests/ui/lint/use-redundant/use-redundant-issue-71450.rs # same
|
||||
rm tests/ui/lint/use-redundant/use-redundant-prelude-rust-2021.rs # same
|
||||
rm tests/ui/specialization/const_trait_impl.rs # same
|
||||
rm tests/ui/thir-print/offset_of.rs # same
|
||||
rm tests/ui/traits/const-traits/const_closure-const_trait_impl-ice-113381.rs # same
|
||||
rm -r tests/ui/extern/extern-types-field-offset.rs # expects /rustc/<hash> rather than /rustc/FAKE_PREFIX
|
||||
rm -r tests/ui/process/println-with-broken-pipe.rs # same
|
||||
rm tests/codegen-units/item-collection/opaque-return-impls.rs # extra mono item. possibly due to other configuration
|
||||
|
||||
# genuine bugs
|
||||
# ============
|
||||
|
|
@ -170,11 +176,7 @@ rm -r tests/run-make/panic-abort-eh_frame # .eh_frame emitted with panic=abort
|
|||
# bugs in the test suite
|
||||
# ======================
|
||||
rm tests/ui/process/nofile-limit.rs # TODO some AArch64 linking issue
|
||||
rm tests/ui/backtrace/synchronized-panic-handler.rs # missing needs-unwind annotation
|
||||
rm tests/ui/lint/non-snake-case/lint-non-snake-case-crate.rs # same
|
||||
rm tests/ui/async-await/async-drop/async-drop-initial.rs # same (rust-lang/rust#140493)
|
||||
rm -r tests/ui/codegen/equal-pointers-unequal # make incorrect assumptions about the location of stack variables
|
||||
rm -r tests/run-make-cargo/rustdoc-scrape-examples-paths # FIXME(rust-lang/rust#145580) incr comp bug
|
||||
rm -r tests/incremental/extern_static/issue-49153.rs # assumes reference to undefined static gets optimized away
|
||||
|
||||
rm tests/ui/intrinsics/panic-uninitialized-zeroed.rs # really slow with unoptimized libstd
|
||||
|
|
|
|||
|
|
@ -53,8 +53,10 @@ pub(crate) fn conv_to_call_conv(
|
|||
default_call_conv: CallConv,
|
||||
) -> CallConv {
|
||||
match c {
|
||||
CanonAbi::Rust | CanonAbi::C => default_call_conv,
|
||||
CanonAbi::RustCold => CallConv::Cold,
|
||||
CanonAbi::Rust | CanonAbi::RustCold | CanonAbi::C => default_call_conv,
|
||||
|
||||
// Cranelift doesn't currently have anything for this.
|
||||
CanonAbi::RustPreserveNone => default_call_conv,
|
||||
|
||||
// Cranelift doesn't currently have anything for this.
|
||||
CanonAbi::RustPreserveNone => default_call_conv,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue