From 920e3d99e60c0823334d0e4c820f182e073eb655 Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Wed, 19 Mar 2025 05:19:17 +0000 Subject: [PATCH] Switch repository layout to use a virtual manifest The current setup has the `Cargo.toml` for `compiler-builtins` at the repository root, which means all support crates and other files are located within the package root. This works for now but is not the cleanest setup since files that should or shouldn't be included in the package need to be configured in `Cargo.toml`. If we eventually merge `libm` development into this repository, it would be nice to make this separation more straightforward. Begin cleaning things up by moving the crate source to a new `compiler-builtins` directory and adding a virtual manifest. For now the `libm` submodule is also moved, but in the future it can likely move back to the top level (ideally `compiler-builtins/src` would contain a symlink to `libm/src/math`, but unfortunately it seems like Cargo does not like something about the submodule + symlink combination). --- .github/workflows/main.yml | 3 +- .github/workflows/publish.yml | 2 +- .gitmodules | 4 +- Cargo.toml | 80 +------------------ builtins-test-intrinsics/Cargo.toml | 2 +- builtins-test-intrinsics/build.rs | 2 +- ci/run-docker.sh | 2 +- ci/run.sh | 4 +- compiler-builtins/Cargo.toml | 72 +++++++++++++++++ build.rs => compiler-builtins/build.rs | 4 +- .../configure.rs | 0 libm => compiler-builtins/libm | 0 {src => compiler-builtins/src}/aarch64.rs | 0 .../src}/aarch64_linux.rs | 0 {src => compiler-builtins/src}/arm.rs | 0 {src => compiler-builtins/src}/arm_linux.rs | 0 {src => compiler-builtins/src}/float/add.rs | 0 {src => compiler-builtins/src}/float/cmp.rs | 0 {src => compiler-builtins/src}/float/conv.rs | 0 {src => compiler-builtins/src}/float/div.rs | 0 .../src}/float/extend.rs | 0 {src => compiler-builtins/src}/float/mod.rs | 0 {src => compiler-builtins/src}/float/mul.rs | 0 {src => compiler-builtins/src}/float/pow.rs | 0 {src => compiler-builtins/src}/float/sub.rs | 0 .../src}/float/traits.rs | 0 {src => compiler-builtins/src}/float/trunc.rs | 0 {src => compiler-builtins/src}/hexagon.rs | 0 .../src}/hexagon/dfaddsub.s | 0 .../src}/hexagon/dfdiv.s | 0 .../src}/hexagon/dffma.s | 0 .../src}/hexagon/dfminmax.s | 0 .../src}/hexagon/dfmul.s | 0 .../src}/hexagon/dfsqrt.s | 0 .../src}/hexagon/divdi3.s | 0 .../src}/hexagon/divsi3.s | 0 .../src}/hexagon/fastmath2_dlib_asm.s | 0 .../src}/hexagon/fastmath2_ldlib_asm.s | 0 .../src}/hexagon/func_macro.s | 0 .../src}/hexagon/memcpy_forward_vp4cp4n2.s | 0 .../src}/hexagon/memcpy_likely_aligned.s | 0 .../src}/hexagon/moddi3.s | 0 .../src}/hexagon/modsi3.s | 0 .../src}/hexagon/sfdiv_opt.s | 0 .../src}/hexagon/sfsqrt_opt.s | 0 .../src}/hexagon/udivdi3.s | 0 .../src}/hexagon/udivmoddi4.s | 0 .../src}/hexagon/udivmodsi4.s | 0 .../src}/hexagon/udivsi3.s | 0 .../src}/hexagon/umoddi3.s | 0 .../src}/hexagon/umodsi3.s | 0 {src => compiler-builtins/src}/int/addsub.rs | 0 {src => compiler-builtins/src}/int/big.rs | 0 {src => compiler-builtins/src}/int/bswap.rs | 0 .../src}/int/leading_zeros.rs | 0 {src => compiler-builtins/src}/int/mod.rs | 0 {src => compiler-builtins/src}/int/mul.rs | 0 {src => compiler-builtins/src}/int/sdiv.rs | 0 {src => compiler-builtins/src}/int/shift.rs | 0 .../int/specialized_div_rem/asymmetric.rs | 0 .../int/specialized_div_rem/binary_long.rs | 0 .../src}/int/specialized_div_rem/delegate.rs | 0 .../src}/int/specialized_div_rem/mod.rs | 0 .../int/specialized_div_rem/norm_shift.rs | 0 .../src}/int/specialized_div_rem/trifecta.rs | 0 .../src}/int/trailing_zeros.rs | 0 {src => compiler-builtins/src}/int/traits.rs | 0 {src => compiler-builtins/src}/int/udiv.rs | 0 {src => compiler-builtins/src}/lib.miri.rs | 0 {src => compiler-builtins/src}/lib.rs | 3 +- {src => compiler-builtins/src}/macros.rs | 0 {src => compiler-builtins/src}/math.rs | 0 {src => compiler-builtins/src}/mem/impls.rs | 0 {src => compiler-builtins/src}/mem/mod.rs | 0 {src => compiler-builtins/src}/mem/x86_64.rs | 0 {src => compiler-builtins/src}/probestack.rs | 0 {src => compiler-builtins/src}/riscv.rs | 0 {src => compiler-builtins/src}/x86.rs | 0 {src => compiler-builtins/src}/x86_64.rs | 0 crates/panic-handler/Cargo.toml | 4 + testcrate/Cargo.toml | 2 +- testcrate/build.rs | 2 +- 82 files changed, 95 insertions(+), 91 deletions(-) create mode 100644 compiler-builtins/Cargo.toml rename build.rs => compiler-builtins/build.rs (100%) rename configure.rs => compiler-builtins/configure.rs (100%) rename libm => compiler-builtins/libm (100%) rename {src => compiler-builtins/src}/aarch64.rs (100%) rename {src => compiler-builtins/src}/aarch64_linux.rs (100%) rename {src => compiler-builtins/src}/arm.rs (100%) rename {src => compiler-builtins/src}/arm_linux.rs (100%) rename {src => compiler-builtins/src}/float/add.rs (100%) rename {src => compiler-builtins/src}/float/cmp.rs (100%) rename {src => compiler-builtins/src}/float/conv.rs (100%) rename {src => compiler-builtins/src}/float/div.rs (100%) rename {src => compiler-builtins/src}/float/extend.rs (100%) rename {src => compiler-builtins/src}/float/mod.rs (100%) rename {src => compiler-builtins/src}/float/mul.rs (100%) rename {src => compiler-builtins/src}/float/pow.rs (100%) rename {src => compiler-builtins/src}/float/sub.rs (100%) rename {src => compiler-builtins/src}/float/traits.rs (100%) rename {src => compiler-builtins/src}/float/trunc.rs (100%) rename {src => compiler-builtins/src}/hexagon.rs (100%) rename {src => compiler-builtins/src}/hexagon/dfaddsub.s (100%) rename {src => compiler-builtins/src}/hexagon/dfdiv.s (100%) rename {src => compiler-builtins/src}/hexagon/dffma.s (100%) rename {src => compiler-builtins/src}/hexagon/dfminmax.s (100%) rename {src => compiler-builtins/src}/hexagon/dfmul.s (100%) rename {src => compiler-builtins/src}/hexagon/dfsqrt.s (100%) rename {src => compiler-builtins/src}/hexagon/divdi3.s (100%) rename {src => compiler-builtins/src}/hexagon/divsi3.s (100%) rename {src => compiler-builtins/src}/hexagon/fastmath2_dlib_asm.s (100%) rename {src => compiler-builtins/src}/hexagon/fastmath2_ldlib_asm.s (100%) rename {src => compiler-builtins/src}/hexagon/func_macro.s (100%) rename {src => compiler-builtins/src}/hexagon/memcpy_forward_vp4cp4n2.s (100%) rename {src => compiler-builtins/src}/hexagon/memcpy_likely_aligned.s (100%) rename {src => compiler-builtins/src}/hexagon/moddi3.s (100%) rename {src => compiler-builtins/src}/hexagon/modsi3.s (100%) rename {src => compiler-builtins/src}/hexagon/sfdiv_opt.s (100%) rename {src => compiler-builtins/src}/hexagon/sfsqrt_opt.s (100%) rename {src => compiler-builtins/src}/hexagon/udivdi3.s (100%) rename {src => compiler-builtins/src}/hexagon/udivmoddi4.s (100%) rename {src => compiler-builtins/src}/hexagon/udivmodsi4.s (100%) rename {src => compiler-builtins/src}/hexagon/udivsi3.s (100%) rename {src => compiler-builtins/src}/hexagon/umoddi3.s (100%) rename {src => compiler-builtins/src}/hexagon/umodsi3.s (100%) rename {src => compiler-builtins/src}/int/addsub.rs (100%) rename {src => compiler-builtins/src}/int/big.rs (100%) rename {src => compiler-builtins/src}/int/bswap.rs (100%) rename {src => compiler-builtins/src}/int/leading_zeros.rs (100%) rename {src => compiler-builtins/src}/int/mod.rs (100%) rename {src => compiler-builtins/src}/int/mul.rs (100%) rename {src => compiler-builtins/src}/int/sdiv.rs (100%) rename {src => compiler-builtins/src}/int/shift.rs (100%) rename {src => compiler-builtins/src}/int/specialized_div_rem/asymmetric.rs (100%) rename {src => compiler-builtins/src}/int/specialized_div_rem/binary_long.rs (100%) rename {src => compiler-builtins/src}/int/specialized_div_rem/delegate.rs (100%) rename {src => compiler-builtins/src}/int/specialized_div_rem/mod.rs (100%) rename {src => compiler-builtins/src}/int/specialized_div_rem/norm_shift.rs (100%) rename {src => compiler-builtins/src}/int/specialized_div_rem/trifecta.rs (100%) rename {src => compiler-builtins/src}/int/trailing_zeros.rs (100%) rename {src => compiler-builtins/src}/int/traits.rs (100%) rename {src => compiler-builtins/src}/int/udiv.rs (100%) rename {src => compiler-builtins/src}/lib.miri.rs (100%) rename {src => compiler-builtins/src}/lib.rs (96%) rename {src => compiler-builtins/src}/macros.rs (100%) rename {src => compiler-builtins/src}/math.rs (100%) rename {src => compiler-builtins/src}/mem/impls.rs (100%) rename {src => compiler-builtins/src}/mem/mod.rs (100%) rename {src => compiler-builtins/src}/mem/x86_64.rs (100%) rename {src => compiler-builtins/src}/probestack.rs (100%) rename {src => compiler-builtins/src}/riscv.rs (100%) rename {src => compiler-builtins/src}/x86.rs (100%) rename {src => compiler-builtins/src}/x86_64.rs (100%) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 50844a66..c337c26a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,7 +4,6 @@ on: [push, pull_request] env: RUSTDOCFLAGS: -Dwarnings RUSTFLAGS: -Dwarnings - RUST_COMPILER_RT_ROOT: ./compiler-rt jobs: test: @@ -133,6 +132,8 @@ jobs: if: steps.cache-compiler-rt.outputs.cache-hit != 'true' run: ./ci/download-compiler-rt.sh shell: bash + - run: echo "RUST_COMPILER_RT_ROOT=$(realpath ./compiler-rt)" >> "$GITHUB_ENV" + shell: bash # Non-linux tests just use our raw script - run: ./ci/run.sh ${{ matrix.target }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d568f375..7d6a8df0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ jobs: - name: Install Rust (rustup) run: rustup update nightly --no-self-update && rustup default nightly - name: Publish `libm` as part of builtins, rather than its own crate - run: rm libm/Cargo.toml + run: rm compiler-builtins/libm/Cargo.toml - name: Run release-plz uses: MarcoIeni/release-plz-action@v0.5 env: diff --git a/.gitmodules b/.gitmodules index 726b1c5c..a0b0d021 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "libm"] - path = libm +[submodule "compiler-builtins/libm"] + path = compiler-builtins/libm url = https://github.com/rust-lang/libm.git diff --git a/Cargo.toml b/Cargo.toml index 60de2775..db4c45df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,88 +1,16 @@ -[package] -authors = ["Jorge Aparicio "] -name = "compiler_builtins" -version = "0.1.151" -license = "MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)" -readme = "README.md" -repository = "https://github.com/rust-lang/compiler-builtins" -homepage = "https://github.com/rust-lang/compiler-builtins" -documentation = "https://docs.rs/compiler_builtins" -edition = "2021" -description = """ -Compiler intrinsics used by the Rust compiler. Also available for other targets -if necessary! -""" -include = [ - '/Cargo.toml', - '/build.rs', - '/configure.rs', - '/src/*', - '/examples/*', - '/LICENSE.txt', - '/README.md', - '/compiler-rt/*', - '/libm/src/math/*', -] -links = 'compiler-rt' - -[lib] -test = false - -[dependencies] -# For more information on this dependency see -# https://github.com/rust-lang/rust/tree/master/library/rustc-std-workspace-core -core = { version = "1.0.0", optional = true, package = 'rustc-std-workspace-core' } - -[build-dependencies] -cc = { optional = true, version = "1.0" } - -[dev-dependencies] -panic-handler = { path = 'crates/panic-handler' } - -[features] -default = ["compiler-builtins"] - -# Enable compilation of C code in compiler-rt, filling in some more optimized -# implementations and also filling in unimplemented intrinsics -c = ["cc"] - -# Workaround for the Cranelift codegen backend. Disables any implementations -# which use inline assembly and fall back to pure Rust versions (if avalible). -no-asm = [] - -# Workaround for codegen backends which haven't yet implemented `f16` and -# `f128` support. Disabled any intrinsics which use those types. -no-f16-f128 = [] - -# Flag this library as the unstable compiler-builtins lib -compiler-builtins = [] - -# Generate memory-related intrinsics like memcpy -mem = [] - -# Mangle all names so this can be linked in with other versions or other -# compiler-rt implementations. Also used for testing -mangled-names = [] - -# Only used in the compiler's build system -rustc-dep-of-std = ['compiler-builtins', 'core'] - -# This makes certain traits and function specializations public that -# are not normally public but are required by the `testcrate` -public-test-deps = [] - [workspace] -resolver = "2" +resolver = "3" members = [ - # Note that builtins-test-intrinsics cannot be a default member because it + # Note that builtins-test-intrinsics cannot be a default member because it # needs the `mangled-names` feature disabled, while `testcrate` needs it # enabled. "builtins-test-intrinsics", + "compiler-builtins", "testcrate", ] default-members = [ - ".", + "compiler-builtins", "testcrate", ] diff --git a/builtins-test-intrinsics/Cargo.toml b/builtins-test-intrinsics/Cargo.toml index 9b2e5bb7..9dbd3c32 100644 --- a/builtins-test-intrinsics/Cargo.toml +++ b/builtins-test-intrinsics/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" publish = false [dependencies] -compiler_builtins = { path = "../", features = ["compiler-builtins"]} +compiler_builtins = { path = "../compiler-builtins", features = ["compiler-builtins"]} panic-handler = { path = '../crates/panic-handler' } [features] diff --git a/builtins-test-intrinsics/build.rs b/builtins-test-intrinsics/build.rs index a38c6c1f..89b126ff 100644 --- a/builtins-test-intrinsics/build.rs +++ b/builtins-test-intrinsics/build.rs @@ -1,5 +1,5 @@ mod builtins_configure { - include!("../configure.rs"); + include!("../compiler-builtins/configure.rs"); } fn main() { diff --git a/ci/run-docker.sh b/ci/run-docker.sh index 215ad71a..5e19cf4d 100755 --- a/ci/run-docker.sh +++ b/ci/run-docker.sh @@ -38,7 +38,7 @@ run() { fi if [ -d compiler-rt ]; then - export RUST_COMPILER_RT_ROOT=./compiler-rt + export RUST_COMPILER_RT_ROOT="/checkout/compiler-rt" fi if [ "${GITHUB_ACTIONS:-}" = "true" ]; then diff --git a/ci/run.sh b/ci/run.sh index 3625dde7..9abbf25a 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -23,7 +23,7 @@ fi if [ "${NO_STD:-}" = "1" ]; then echo "nothing to do for no_std" else - run="cargo test --manifest-path testcrate/Cargo.toml --no-fail-fast --target $target" + run="cargo test --package testcrate --no-fail-fast --target $target" $run $run --release $run --features c @@ -38,7 +38,7 @@ fi if [ "${TEST_VERBATIM:-}" = "1" ]; then verb_path=$(cmd.exe //C echo \\\\?\\%cd%\\testcrate\\target2) - cargo build --manifest-path testcrate/Cargo.toml \ + cargo build --package testcrate \ --target "$target" --target-dir "$verb_path" --features c fi diff --git a/compiler-builtins/Cargo.toml b/compiler-builtins/Cargo.toml new file mode 100644 index 00000000..9797b5e6 --- /dev/null +++ b/compiler-builtins/Cargo.toml @@ -0,0 +1,72 @@ +[package] +authors = ["Jorge Aparicio "] +name = "compiler_builtins" +version = "0.1.151" +license = "MIT AND Apache-2.0 WITH LLVM-exception AND (MIT OR Apache-2.0)" +readme = "../README.md" +repository = "https://github.com/rust-lang/compiler-builtins" +homepage = "https://github.com/rust-lang/compiler-builtins" +documentation = "https://docs.rs/compiler_builtins" +edition = "2021" +description = """ +Compiler intrinsics used by the Rust compiler. Also available for other targets +if necessary! +""" +include = [ + '/Cargo.toml', + '/build.rs', + '/configure.rs', + '/src/*', + '../LICENSE.txt', + '../README.md', + '../compiler-rt/*', + 'libm/src/math/*', +] +links = 'compiler-rt' + +[lib] +test = false +bench = false + +[dependencies] +# For more information on this dependency see +# https://github.com/rust-lang/rust/tree/master/library/rustc-std-workspace-core +core = { version = "1.0.0", optional = true, package = 'rustc-std-workspace-core' } + +[build-dependencies] +cc = { optional = true, version = "1.0" } + +[dev-dependencies] +panic-handler = { path = '../crates/panic-handler' } + +[features] +default = ["compiler-builtins"] + +# Enable compilation of C code in compiler-rt, filling in some more optimized +# implementations and also filling in unimplemented intrinsics +c = ["cc"] + +# Workaround for the Cranelift codegen backend. Disables any implementations +# which use inline assembly and fall back to pure Rust versions (if avalible). +no-asm = [] + +# Workaround for codegen backends which haven't yet implemented `f16` and +# `f128` support. Disabled any intrinsics which use those types. +no-f16-f128 = [] + +# Flag this library as the unstable compiler-builtins lib +compiler-builtins = [] + +# Generate memory-related intrinsics like memcpy +mem = [] + +# Mangle all names so this can be linked in with other versions or other +# compiler-rt implementations. Also used for testing +mangled-names = [] + +# Only used in the compiler's build system +rustc-dep-of-std = ['compiler-builtins', 'core'] + +# This makes certain traits and function specializations public that +# are not normally public but are required by the `testcrate` +public-test-deps = [] diff --git a/build.rs b/compiler-builtins/build.rs similarity index 100% rename from build.rs rename to compiler-builtins/build.rs index 3003d51a..fdfb61b1 100644 --- a/build.rs +++ b/compiler-builtins/build.rs @@ -1,7 +1,7 @@ -use std::{collections::BTreeMap, env, path::PathBuf, sync::atomic::Ordering}; - mod configure; +use std::{collections::BTreeMap, env, path::PathBuf, sync::atomic::Ordering}; + use configure::{configure_aliases, configure_f16_f128, Target}; fn main() { diff --git a/configure.rs b/compiler-builtins/configure.rs similarity index 100% rename from configure.rs rename to compiler-builtins/configure.rs diff --git a/libm b/compiler-builtins/libm similarity index 100% rename from libm rename to compiler-builtins/libm diff --git a/src/aarch64.rs b/compiler-builtins/src/aarch64.rs similarity index 100% rename from src/aarch64.rs rename to compiler-builtins/src/aarch64.rs diff --git a/src/aarch64_linux.rs b/compiler-builtins/src/aarch64_linux.rs similarity index 100% rename from src/aarch64_linux.rs rename to compiler-builtins/src/aarch64_linux.rs diff --git a/src/arm.rs b/compiler-builtins/src/arm.rs similarity index 100% rename from src/arm.rs rename to compiler-builtins/src/arm.rs diff --git a/src/arm_linux.rs b/compiler-builtins/src/arm_linux.rs similarity index 100% rename from src/arm_linux.rs rename to compiler-builtins/src/arm_linux.rs diff --git a/src/float/add.rs b/compiler-builtins/src/float/add.rs similarity index 100% rename from src/float/add.rs rename to compiler-builtins/src/float/add.rs diff --git a/src/float/cmp.rs b/compiler-builtins/src/float/cmp.rs similarity index 100% rename from src/float/cmp.rs rename to compiler-builtins/src/float/cmp.rs diff --git a/src/float/conv.rs b/compiler-builtins/src/float/conv.rs similarity index 100% rename from src/float/conv.rs rename to compiler-builtins/src/float/conv.rs diff --git a/src/float/div.rs b/compiler-builtins/src/float/div.rs similarity index 100% rename from src/float/div.rs rename to compiler-builtins/src/float/div.rs diff --git a/src/float/extend.rs b/compiler-builtins/src/float/extend.rs similarity index 100% rename from src/float/extend.rs rename to compiler-builtins/src/float/extend.rs diff --git a/src/float/mod.rs b/compiler-builtins/src/float/mod.rs similarity index 100% rename from src/float/mod.rs rename to compiler-builtins/src/float/mod.rs diff --git a/src/float/mul.rs b/compiler-builtins/src/float/mul.rs similarity index 100% rename from src/float/mul.rs rename to compiler-builtins/src/float/mul.rs diff --git a/src/float/pow.rs b/compiler-builtins/src/float/pow.rs similarity index 100% rename from src/float/pow.rs rename to compiler-builtins/src/float/pow.rs diff --git a/src/float/sub.rs b/compiler-builtins/src/float/sub.rs similarity index 100% rename from src/float/sub.rs rename to compiler-builtins/src/float/sub.rs diff --git a/src/float/traits.rs b/compiler-builtins/src/float/traits.rs similarity index 100% rename from src/float/traits.rs rename to compiler-builtins/src/float/traits.rs diff --git a/src/float/trunc.rs b/compiler-builtins/src/float/trunc.rs similarity index 100% rename from src/float/trunc.rs rename to compiler-builtins/src/float/trunc.rs diff --git a/src/hexagon.rs b/compiler-builtins/src/hexagon.rs similarity index 100% rename from src/hexagon.rs rename to compiler-builtins/src/hexagon.rs diff --git a/src/hexagon/dfaddsub.s b/compiler-builtins/src/hexagon/dfaddsub.s similarity index 100% rename from src/hexagon/dfaddsub.s rename to compiler-builtins/src/hexagon/dfaddsub.s diff --git a/src/hexagon/dfdiv.s b/compiler-builtins/src/hexagon/dfdiv.s similarity index 100% rename from src/hexagon/dfdiv.s rename to compiler-builtins/src/hexagon/dfdiv.s diff --git a/src/hexagon/dffma.s b/compiler-builtins/src/hexagon/dffma.s similarity index 100% rename from src/hexagon/dffma.s rename to compiler-builtins/src/hexagon/dffma.s diff --git a/src/hexagon/dfminmax.s b/compiler-builtins/src/hexagon/dfminmax.s similarity index 100% rename from src/hexagon/dfminmax.s rename to compiler-builtins/src/hexagon/dfminmax.s diff --git a/src/hexagon/dfmul.s b/compiler-builtins/src/hexagon/dfmul.s similarity index 100% rename from src/hexagon/dfmul.s rename to compiler-builtins/src/hexagon/dfmul.s diff --git a/src/hexagon/dfsqrt.s b/compiler-builtins/src/hexagon/dfsqrt.s similarity index 100% rename from src/hexagon/dfsqrt.s rename to compiler-builtins/src/hexagon/dfsqrt.s diff --git a/src/hexagon/divdi3.s b/compiler-builtins/src/hexagon/divdi3.s similarity index 100% rename from src/hexagon/divdi3.s rename to compiler-builtins/src/hexagon/divdi3.s diff --git a/src/hexagon/divsi3.s b/compiler-builtins/src/hexagon/divsi3.s similarity index 100% rename from src/hexagon/divsi3.s rename to compiler-builtins/src/hexagon/divsi3.s diff --git a/src/hexagon/fastmath2_dlib_asm.s b/compiler-builtins/src/hexagon/fastmath2_dlib_asm.s similarity index 100% rename from src/hexagon/fastmath2_dlib_asm.s rename to compiler-builtins/src/hexagon/fastmath2_dlib_asm.s diff --git a/src/hexagon/fastmath2_ldlib_asm.s b/compiler-builtins/src/hexagon/fastmath2_ldlib_asm.s similarity index 100% rename from src/hexagon/fastmath2_ldlib_asm.s rename to compiler-builtins/src/hexagon/fastmath2_ldlib_asm.s diff --git a/src/hexagon/func_macro.s b/compiler-builtins/src/hexagon/func_macro.s similarity index 100% rename from src/hexagon/func_macro.s rename to compiler-builtins/src/hexagon/func_macro.s diff --git a/src/hexagon/memcpy_forward_vp4cp4n2.s b/compiler-builtins/src/hexagon/memcpy_forward_vp4cp4n2.s similarity index 100% rename from src/hexagon/memcpy_forward_vp4cp4n2.s rename to compiler-builtins/src/hexagon/memcpy_forward_vp4cp4n2.s diff --git a/src/hexagon/memcpy_likely_aligned.s b/compiler-builtins/src/hexagon/memcpy_likely_aligned.s similarity index 100% rename from src/hexagon/memcpy_likely_aligned.s rename to compiler-builtins/src/hexagon/memcpy_likely_aligned.s diff --git a/src/hexagon/moddi3.s b/compiler-builtins/src/hexagon/moddi3.s similarity index 100% rename from src/hexagon/moddi3.s rename to compiler-builtins/src/hexagon/moddi3.s diff --git a/src/hexagon/modsi3.s b/compiler-builtins/src/hexagon/modsi3.s similarity index 100% rename from src/hexagon/modsi3.s rename to compiler-builtins/src/hexagon/modsi3.s diff --git a/src/hexagon/sfdiv_opt.s b/compiler-builtins/src/hexagon/sfdiv_opt.s similarity index 100% rename from src/hexagon/sfdiv_opt.s rename to compiler-builtins/src/hexagon/sfdiv_opt.s diff --git a/src/hexagon/sfsqrt_opt.s b/compiler-builtins/src/hexagon/sfsqrt_opt.s similarity index 100% rename from src/hexagon/sfsqrt_opt.s rename to compiler-builtins/src/hexagon/sfsqrt_opt.s diff --git a/src/hexagon/udivdi3.s b/compiler-builtins/src/hexagon/udivdi3.s similarity index 100% rename from src/hexagon/udivdi3.s rename to compiler-builtins/src/hexagon/udivdi3.s diff --git a/src/hexagon/udivmoddi4.s b/compiler-builtins/src/hexagon/udivmoddi4.s similarity index 100% rename from src/hexagon/udivmoddi4.s rename to compiler-builtins/src/hexagon/udivmoddi4.s diff --git a/src/hexagon/udivmodsi4.s b/compiler-builtins/src/hexagon/udivmodsi4.s similarity index 100% rename from src/hexagon/udivmodsi4.s rename to compiler-builtins/src/hexagon/udivmodsi4.s diff --git a/src/hexagon/udivsi3.s b/compiler-builtins/src/hexagon/udivsi3.s similarity index 100% rename from src/hexagon/udivsi3.s rename to compiler-builtins/src/hexagon/udivsi3.s diff --git a/src/hexagon/umoddi3.s b/compiler-builtins/src/hexagon/umoddi3.s similarity index 100% rename from src/hexagon/umoddi3.s rename to compiler-builtins/src/hexagon/umoddi3.s diff --git a/src/hexagon/umodsi3.s b/compiler-builtins/src/hexagon/umodsi3.s similarity index 100% rename from src/hexagon/umodsi3.s rename to compiler-builtins/src/hexagon/umodsi3.s diff --git a/src/int/addsub.rs b/compiler-builtins/src/int/addsub.rs similarity index 100% rename from src/int/addsub.rs rename to compiler-builtins/src/int/addsub.rs diff --git a/src/int/big.rs b/compiler-builtins/src/int/big.rs similarity index 100% rename from src/int/big.rs rename to compiler-builtins/src/int/big.rs diff --git a/src/int/bswap.rs b/compiler-builtins/src/int/bswap.rs similarity index 100% rename from src/int/bswap.rs rename to compiler-builtins/src/int/bswap.rs diff --git a/src/int/leading_zeros.rs b/compiler-builtins/src/int/leading_zeros.rs similarity index 100% rename from src/int/leading_zeros.rs rename to compiler-builtins/src/int/leading_zeros.rs diff --git a/src/int/mod.rs b/compiler-builtins/src/int/mod.rs similarity index 100% rename from src/int/mod.rs rename to compiler-builtins/src/int/mod.rs diff --git a/src/int/mul.rs b/compiler-builtins/src/int/mul.rs similarity index 100% rename from src/int/mul.rs rename to compiler-builtins/src/int/mul.rs diff --git a/src/int/sdiv.rs b/compiler-builtins/src/int/sdiv.rs similarity index 100% rename from src/int/sdiv.rs rename to compiler-builtins/src/int/sdiv.rs diff --git a/src/int/shift.rs b/compiler-builtins/src/int/shift.rs similarity index 100% rename from src/int/shift.rs rename to compiler-builtins/src/int/shift.rs diff --git a/src/int/specialized_div_rem/asymmetric.rs b/compiler-builtins/src/int/specialized_div_rem/asymmetric.rs similarity index 100% rename from src/int/specialized_div_rem/asymmetric.rs rename to compiler-builtins/src/int/specialized_div_rem/asymmetric.rs diff --git a/src/int/specialized_div_rem/binary_long.rs b/compiler-builtins/src/int/specialized_div_rem/binary_long.rs similarity index 100% rename from src/int/specialized_div_rem/binary_long.rs rename to compiler-builtins/src/int/specialized_div_rem/binary_long.rs diff --git a/src/int/specialized_div_rem/delegate.rs b/compiler-builtins/src/int/specialized_div_rem/delegate.rs similarity index 100% rename from src/int/specialized_div_rem/delegate.rs rename to compiler-builtins/src/int/specialized_div_rem/delegate.rs diff --git a/src/int/specialized_div_rem/mod.rs b/compiler-builtins/src/int/specialized_div_rem/mod.rs similarity index 100% rename from src/int/specialized_div_rem/mod.rs rename to compiler-builtins/src/int/specialized_div_rem/mod.rs diff --git a/src/int/specialized_div_rem/norm_shift.rs b/compiler-builtins/src/int/specialized_div_rem/norm_shift.rs similarity index 100% rename from src/int/specialized_div_rem/norm_shift.rs rename to compiler-builtins/src/int/specialized_div_rem/norm_shift.rs diff --git a/src/int/specialized_div_rem/trifecta.rs b/compiler-builtins/src/int/specialized_div_rem/trifecta.rs similarity index 100% rename from src/int/specialized_div_rem/trifecta.rs rename to compiler-builtins/src/int/specialized_div_rem/trifecta.rs diff --git a/src/int/trailing_zeros.rs b/compiler-builtins/src/int/trailing_zeros.rs similarity index 100% rename from src/int/trailing_zeros.rs rename to compiler-builtins/src/int/trailing_zeros.rs diff --git a/src/int/traits.rs b/compiler-builtins/src/int/traits.rs similarity index 100% rename from src/int/traits.rs rename to compiler-builtins/src/int/traits.rs diff --git a/src/int/udiv.rs b/compiler-builtins/src/int/udiv.rs similarity index 100% rename from src/int/udiv.rs rename to compiler-builtins/src/int/udiv.rs diff --git a/src/lib.miri.rs b/compiler-builtins/src/lib.miri.rs similarity index 100% rename from src/lib.miri.rs rename to compiler-builtins/src/lib.miri.rs diff --git a/src/lib.rs b/compiler-builtins/src/lib.rs similarity index 96% rename from src/lib.rs rename to compiler-builtins/src/lib.rs index 6f5bd859..16de96b4 100644 --- a/src/lib.rs +++ b/compiler-builtins/src/lib.rs @@ -44,8 +44,7 @@ pub mod int; pub mod math; pub mod mem; -// `libm` expects its `support` module to be available in the crate root. This config can be -// cleaned up once `libm` is made always available. +// `libm` expects its `support` module to be available in the crate root. use math::libm::support; #[cfg(target_arch = "arm")] diff --git a/src/macros.rs b/compiler-builtins/src/macros.rs similarity index 100% rename from src/macros.rs rename to compiler-builtins/src/macros.rs diff --git a/src/math.rs b/compiler-builtins/src/math.rs similarity index 100% rename from src/math.rs rename to compiler-builtins/src/math.rs diff --git a/src/mem/impls.rs b/compiler-builtins/src/mem/impls.rs similarity index 100% rename from src/mem/impls.rs rename to compiler-builtins/src/mem/impls.rs diff --git a/src/mem/mod.rs b/compiler-builtins/src/mem/mod.rs similarity index 100% rename from src/mem/mod.rs rename to compiler-builtins/src/mem/mod.rs diff --git a/src/mem/x86_64.rs b/compiler-builtins/src/mem/x86_64.rs similarity index 100% rename from src/mem/x86_64.rs rename to compiler-builtins/src/mem/x86_64.rs diff --git a/src/probestack.rs b/compiler-builtins/src/probestack.rs similarity index 100% rename from src/probestack.rs rename to compiler-builtins/src/probestack.rs diff --git a/src/riscv.rs b/compiler-builtins/src/riscv.rs similarity index 100% rename from src/riscv.rs rename to compiler-builtins/src/riscv.rs diff --git a/src/x86.rs b/compiler-builtins/src/x86.rs similarity index 100% rename from src/x86.rs rename to compiler-builtins/src/x86.rs diff --git a/src/x86_64.rs b/compiler-builtins/src/x86_64.rs similarity index 100% rename from src/x86_64.rs rename to compiler-builtins/src/x86_64.rs diff --git a/crates/panic-handler/Cargo.toml b/crates/panic-handler/Cargo.toml index 96b83eaa..a6764fc4 100644 --- a/crates/panic-handler/Cargo.toml +++ b/crates/panic-handler/Cargo.toml @@ -5,4 +5,8 @@ authors = ["Alex Crichton "] edition = "2024" publish = false +[lib] +test = false +bench = false + [dependencies] diff --git a/testcrate/Cargo.toml b/testcrate/Cargo.toml index 71c461c5..be60e694 100644 --- a/testcrate/Cargo.toml +++ b/testcrate/Cargo.toml @@ -18,7 +18,7 @@ rand_xoshiro = "0.6" rustc_apfloat = "0.2.1" [dependencies.compiler_builtins] -path = ".." +path = "../compiler-builtins" default-features = false features = ["public-test-deps"] diff --git a/testcrate/build.rs b/testcrate/build.rs index 566b985d..e8f4eb4d 100644 --- a/testcrate/build.rs +++ b/testcrate/build.rs @@ -1,7 +1,7 @@ use std::collections::HashSet; mod builtins_configure { - include!("../configure.rs"); + include!("../compiler-builtins/configure.rs"); } /// Features to enable