Skip to content

Add enzyme distribution step #140244

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

Shourya742
Copy link
Contributor

@Shourya742 Shourya742 commented Apr 24, 2025

This PR adds enzyme to bootstrap dist.

r? @ghost

try-job: dist-x86_64-linux

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Apr 24, 2025
@Shourya742 Shourya742 marked this pull request as ready for review April 25, 2025 08:01
@Shourya742
Copy link
Contributor Author

r? @Kobzol

Copy link
Contributor

@Kobzol Kobzol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As noted on Zulip, please remove the build-manifest changes, and first land only the dist artifact.

@Shourya742 Shourya742 force-pushed the 2025-04-24-enzyme-distribution branch 2 times, most recently from 1624d86 to 7a9bc08 Compare April 25, 2025 19:48
@ZuseZ4
Copy link
Member

ZuseZ4 commented Apr 26, 2025

@Kobzol are the build-manifest changes something I can land as part of #140064 to get it to land sooner, or would they also need to go into their own PR?

let enzyme = builder.ensure(super::llvm::Enzyme { target: self.target });
tarball.set_overlay(OverlayKind::Enzyme);
tarball.is_preview(true);
if let Some(llvm_config) = builder.llvm_config(builder.config.build) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, this is a weird. When I have download-ci-llvm = true enabled, this LLVM config is the CI LLVM (which is version 20). But when I actually build Enzyme locally, it generates libEnzyme-18. My host system LLVM is LLVM 18, so that looks related? I don't know why is the filename containing the version of the host compiler rather than the version of the LLVM source code though.

@ZuseZ4 Does Enzyme have its own versioning separate from LLVM? I found some version 0.0.79 in the source code.

Copy link
Member

@ZuseZ4 ZuseZ4 Apr 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rg "0\.0\.79" doesn't return anything in Enzyme, where did you find it?
Enzyme has releases but doesn't follow semver (in a meaningful way only uses patch versions), so I conveniently ignore it.
https://github.com/EnzymeAD/Enzyme/releases
We also just use Enzyme's LLVM Pass which allows us to ignore most of the API, so breaking changes barely ever affect us.
They are more relevant for Julia which has a different build infra working on gh releases. We just use the source code from rust-lang/Enzyme.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for clarification of

when I actually build Enzyme locally

I currently only try (and have it working):
A) building LLVM locally, then building Enzyme based on it.
Here we try:
B) building LLVM remote (in CI), then building Enzyme also remote based on it.
I guess you tried
C) building LLVM remote, then downloading it and building Enzyme locally against it?

I thought based on Zulip that you wanted a different solution for C, right?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Semver is followed for user-level enzyme_autodiff and related functions. All user-level changes have been backwards compatible, so we've never bumped. Internal APIs (like LLVM) have no guarantees of stability

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw the version here: https://github.com/rust-lang/enzyme/blob/main/enzyme/CMakeLists.txt#L10

To clarify, I was indeed using option C), but almost inadvertedly, as download-ci-llvm is enabled in a lot of default configs and many people use it, it would be nice if bootstrap either "just worked" with it, or at least if it produced a loud error.

I don't really understand how this works though. The build step for Enzyme seems to pass LLVM_CONFIG_REAL to the llvm-config of the LLVM downloaded from CI. I would thus expect that Enzyme either attaches to that, or that it is somehow linked to the in-tree version of LLVM. But instead it seems to produce a version number tied to the host LLVM used to build Enzyme itself.

How exactly is Enzyme "tied" to a specific LLVM sysroot/source code/build/whatever?

Copy link
Member

@ZuseZ4 ZuseZ4 Apr 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enzyme works with the LLVM it was build against, everything else could only work by coincidence. E.g. this is one of the cmake commands I use locally:
cmake .. -G Ninja -DLLVM_DIR=/home/manuel/prog/rust-middle/build/x86_64-unknown-linux-gnu/llvm/build/lib/cmake/llvm -DLLVM_EXTERNAL_LIT=/home/manuel/prog/rust-middle/src/llvm-project/llvm/utils/lit/lit.py -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=YES -DBUILD_SHARED_LIBS=On

We should build Enzyme wherever we also build LLVM. So after building LLVM, we would build Enzyme and set LLVM_DIR to the path of the newly build llvm. We should not point to the LLVM/Clang that was used to build Enzyme and LLVM.

So we should find a way to point Enzyme to a specific LLVM checkout/build.

I mean that's why I added the -DLLVM_DIR definition in rust/src/bootstrap/src/core/build_steps/llvm.rs, it just looks like we don't set it correctly in CI right now? So I guess builder.llvm_out(target) is wrong then (?)
As another puzzle piece, these folders from an apple CI run seem correct? We build using LLVM/Clang-15, but the self-build LLVM: https://github.com/rust-lang-ci/rust/actions/runs/14582626710/job/40902344579

Copy link
Contributor

@Kobzol Kobzol Apr 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see now, I didn't realize that LLVM_DIR is the thing that links Enzyme to LLVM, I thought it's the output directory where the Enzyme artifacts will be generated.

In that case I suppose that without download-ci-llvm it should mostly do what we want. I think that the path we give to LLVM_DIR is not exactly what it should be, as it's essentially just build/<target>/llvm; it looks like Enzyme's CMake expects it to be something a bit different (e.g. the path you use, build/<target>/llvm/build/lib/cmake/llvm. That being said, the Enzyme CMake seems to use recursive greps for finding the files that it needs, so it looks like it is able to resolve what it requires.

Ok, in that case I'm fine with just adding an error into the llvm::Enzyme step that it currently cannot be combined with download-ci-llvm.

Copy link
Member

@ZuseZ4 ZuseZ4 Apr 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, in case that the code isn't clear, @Shourya742 can you please add a comment around line 973, saying that we build enzyme against this specific LLVM (and using it with a different LLVM isn't supported)?

Copy link
Member

@ZuseZ4 ZuseZ4 Apr 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also @Kobzol now that I already have you here, do you mind looking at the apple issue here? :D https://github.com/rust-lang-ci/rust/actions/runs/14582626710/job/40902344579#step:28:28938 and checking if the llvm path looks right to you? I feel like it should be ok, 15 is used for building everything, 20 is the one we build against. But it still fails to link LLVM. Presumably Enzyme's cmake should not just link against llvm (-lLLVM), but also specify -L based on the given LLVM_DIR?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not exactly sure how linking works on Apple, but just passing -lLLVM is unlikely to work, IMO. The directory where the libLLVM.dylib (or static archive) files can be found will likely be needed.

@Kobzol
Copy link
Contributor

Kobzol commented Apr 28, 2025

I would create a separate PR for that, it seems unrelated to #140064.

@ZuseZ4
Copy link
Member

ZuseZ4 commented Apr 28, 2025

Yeah I just asked since I had a soft deadline to present autodiff on nightly on April 30 (hence my question), but I won't make it anymore anyway so now I don't mind landing them separately.

@Shourya742
Copy link
Contributor Author

@rustbot review

Copy link
Contributor

@Kobzol Kobzol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the LLVM CI error.

I tried to set llvm.download-ci-llvm = false and ran x dist enzyme, but it only built LLVM without Enzyme. It generated a dist tarball, but it didn't contain the libEnzyme.so file. Does it work for you?

@Shourya742
Copy link
Contributor Author

Thanks for the LLVM CI error.

I tried to set llvm.download-ci-llvm = false and ran x dist enzyme, but it only built LLVM without Enzyme. It generated a dist tarball, but it didn't contain the libEnzyme.so file. Does it work for you?

It did.. let me check again..

@Shourya742
Copy link
Contributor Author

Thanks for the LLVM CI error.
I tried to set llvm.download-ci-llvm = false and ran x dist enzyme, but it only built LLVM without Enzyme. It generated a dist tarball, but it didn't contain the libEnzyme.so file. Does it work for you?

It did.. let me check again..

.
├── builder-config
├── components
├── enzyme-preview
│   ├── libEnzyme-20.so
│   ├── manifest.in
│   └── share
├── git-commit-hash
├── git-commit-info
├── install.sh
├── LICENSE
├── Readme.md
├── rust-installer-version
└── version

For me, libEnzyme-20.so is present in the enzyme dist

@Shourya742
Copy link
Contributor Author

Thanks for the LLVM CI error.

I tried to set llvm.download-ci-llvm = false and ran x dist enzyme, but it only built LLVM without Enzyme. It generated a dist tarball, but it didn't contain the libEnzyme.so file. Does it work for you?

This kind of behavior can only occur if the step is being run in dry-run mode. Could we try disabling dry-run mode and see if the issue persists?

@Shourya742 Shourya742 force-pushed the 2025-04-24-enzyme-distribution branch from ae947f6 to 0d488fa Compare April 30, 2025 12:37
@rustbot
Copy link
Collaborator

rustbot commented Apr 30, 2025

This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp.

@Kobzol
Copy link
Contributor

Kobzol commented Apr 30, 2025

It's not dry run, the issue is that my host LLVM is 18, so the code doesn't find libEnzyme-20 because I had libEnzyme-18 on disk. The problem was that I built Enzyme before with LLVM from CI, then built LLVM locally, and then Enzyme wasn't rebuilt. This shouldn't happen to anyone now when you added the explicit panic for LLVM from CI, so it should be fine.

I would still appreciate one more safeguard now that I saw this though. If the libEnzyme.so file isn't found in the dist::Enzyme step (for whatever reason), we should throw a hard error, instead of silently building an empty archive.

@Shourya742
Copy link
Contributor Author

It's not dry run, the issue is that my host LLVM is 18, so the code doesn't find libEnzyme-20 because I had libEnzyme-18 on disk. The problem was that I built Enzyme before with LLVM from CI, then built LLVM locally, and then Enzyme wasn't rebuilt. This shouldn't happen to anyone now when you added the explicit panic for LLVM from CI, so it should be fine.

I would still appreciate one more safeguard now that I saw this though. If the libEnzyme.so file isn't found in the dist::Enzyme step (for whatever reason), we should throw a hard error, instead of silently building an empty archive.

Ah!!! makes sense... let me add a hard error...

@ZuseZ4 ZuseZ4 added the F-autodiff `#![feature(autodiff)]` label Apr 30, 2025
@Shourya742 Shourya742 force-pushed the 2025-04-24-enzyme-distribution branch from 0d488fa to 0ac71b6 Compare April 30, 2025 13:48
@Kobzol
Copy link
Contributor

Kobzol commented Apr 30, 2025

For a change, it now fails for me locally with this wonderful known error 😆

: && /usr/bin/c++ -fPIC -Wall -fno-rtti -ffunction-sections -fdata-sections -fPIC -m64 -Werror=unused-variable -Werror=dangling-else -Werror=unused-but-set-variable -Werror=return-type -Werror=nonnull -Werror=unused-result -Werror=reorder -Werror=switch -O2   -shared -Wl,-soname,libEnzyme-20.so -o Enzyme/libEnzyme-20.so Enzyme/CMakeFiles/Enzyme-20.dir/ActivityAnalysis.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/ActivityAnalysisPrinter.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/CApi.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/CacheUtility.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/CallDerivatives.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/DiffeGradientUtils.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/DifferentialUseAnalysis.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/Enzyme.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/EnzymeLogic.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/FunctionUtils.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/GradientUtils.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/InstructionBatcher.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/JLInstSimplify.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/MustExitScalarEvolution.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/PreserveNVVM.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/TraceGenerator.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/TraceInterface.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/TraceUtils.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/Utils.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/TypeAnalysis/TypeTree.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/TypeAnalysis/TypeAnalysis.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/TypeAnalysis/TypeAnalysisPrinter.cpp.o Enzyme/CMakeFiles/Enzyme-20.dir/TypeAnalysis/RustDebugInfo.cpp.o  -lLLVM && :
/usr/bin/ld: cannot find -lLLVM: No such file or directory
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Probably we should wait until the Enzyme adds the -L parameter.

@ZuseZ4
Copy link
Member

ZuseZ4 commented Apr 30, 2025

@Kobzol Ooh. You managed to trigger this locally? I spend a lot of hrs and days trying to fix it in CI (but failed) because iteration speed is extremely slow and I can't see what files exist in CI. A local reproducer would be awesome

@ZuseZ4
Copy link
Member

ZuseZ4 commented May 1, 2025

Fwiw I've given up on trying to fix that bug in CI since I still haven't made relevant progress, so unless we have a reliable local reproducer I'd suggest to just merge it as-is, even if we don't support all cases yet.

@Shourya742
Copy link
Contributor Author

Currently, the dist step is marked as DEFAULT = false, which means that it won't be actually built anywhere on CI. I would suggest only building it on the x64 dist Linux runner, so add && ../x.py dist enzyme here. I hope that it will be able to reuse the existing LLVM build.

Added 11ddc6b

@Kobzol
Copy link
Contributor

Kobzol commented May 2, 2025

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request May 2, 2025
…ution, r=<try>

Add enzyme distribution step

This PR adds enzyme to bootstrap dist.

r? `@ghost`

try-job: dist-x86_64-linux
@bors
Copy link
Collaborator

bors commented May 2, 2025

⌛ Trying commit 11ddc6b with merge 620c907...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented May 2, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 2, 2025
@ZuseZ4
Copy link
Member

ZuseZ4 commented May 4, 2025

There is one warning about an unrecognized -C, but otherwise I'm not fully sure.
I was told that the tablegen not found is an issue when using llvm-config on something like a downloaded llvm where cmake files aren't available. But that doesn't seem to be the case here, I see that we build llvm in a previous step.
Anyone knows what could be going wrong here (especially since I already have this builder working over in the DO-NOt-MERGE PR)?

This seems related since it's a dist runner: https://stackoverflow.com/a/63832669
Do we get the wrong LLVM for the host instead of target?

2025-05-02T18:55:24.1592712Z Build completed successfully in 0:04:21
2025-05-02T18:55:24.1680643Z + ../x.py dist enzyme
2025-05-02T18:55:24.2363238Z Unknown option: -C
2025-05-02T18:55:24.2363676Z usage: git [--version] [--help] [-c name=value]
2025-05-02T18:55:24.2364216Z            [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
2025-05-02T18:55:24.2364925Z            [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
2025-05-02T18:55:24.2365462Z            [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
2025-05-02T18:55:24.2365919Z            <command> [<args>]
2025-05-02T18:55:24.2446370Z ##[group]Building bootstrap
2025-05-02T18:55:24.3144076Z    Compiling lzma-sys v0.1.20
2025-05-02T18:55:26.5606753Z    Compiling xz2 v0.1.7
2025-05-02T18:55:26.6455457Z    Compiling bootstrap v0.0.0 (/checkout/src/bootstrap)
2025-05-02T18:55:31.2877729Z     Finished `dev` profile [unoptimized] target(s) in 7.03s
2025-05-02T18:55:31.2962861Z ##[endgroup]
2025-05-02T18:55:39.2532144Z [TIMING] core::build_steps::llvm::Llvm { target: x86_64-unknown-linux-gnu } -- 7.753
2025-05-02T18:55:44.1861342Z Building Enzyme for x86_64-unknown-linux-gnu
2025-05-02T18:55:44.1861977Z CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-gnu = None
2025-05-02T18:55:44.1862465Z CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_gnu = None
2025-05-02T18:55:44.1862927Z HOST_CMAKE_TOOLCHAIN_FILE = None
2025-05-02T18:55:44.1863299Z CMAKE_TOOLCHAIN_FILE = None
2025-05-02T18:55:44.1863699Z CMAKE_GENERATOR_x86_64-unknown-linux-gnu = None
2025-05-02T18:55:44.1864155Z CMAKE_GENERATOR_x86_64_unknown_linux_gnu = None
2025-05-02T18:55:44.1864579Z HOST_CMAKE_GENERATOR = None
2025-05-02T18:55:44.1864935Z CMAKE_GENERATOR = None
2025-05-02T18:55:44.2360256Z CMAKE_PREFIX_PATH_x86_64-unknown-linux-gnu = None
2025-05-02T18:55:44.2360876Z CMAKE_PREFIX_PATH_x86_64_unknown_linux_gnu = None
2025-05-02T18:55:44.2361300Z HOST_CMAKE_PREFIX_PATH = None
2025-05-02T18:55:44.2361666Z CMAKE_PREFIX_PATH = None
2025-05-02T18:55:44.2362013Z CMAKE_x86_64-unknown-linux-gnu = None
2025-05-02T18:55:44.2362407Z CMAKE_x86_64_unknown_linux_gnu = None
2025-05-02T18:55:44.2362766Z HOST_CMAKE = None
2025-05-02T18:55:44.2363158Z CMAKE = None
2025-05-02T18:55:44.2421459Z running: cd "/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build" && CMAKE_PREFIX_PATH="" DESTDIR="" LC_ALL="C" LLVM_CONFIG_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/bin/llvm-config" "cmake" "/checkout/src/tools/enzyme/enzyme/" "-DCMAKE_INSTALL_MESSAGE=LAZY" "-DCMAKE_C_COMPILER_LAUNCHER=sccache" "-DCMAKE_CXX_COMPILER_LAUNCHER=sccache" "-DCMAKE_C_COMPILER=clang" "-DCMAKE_CXX_COMPILER=clang++" "-DCMAKE_ASM_COMPILER=clang" "-DCMAKE_C_FLAGS=-ffunction-sections -fdata-sections -fPIC -m64 --target=x86_64-unknown-linux-gnu -fdebug-prefix-map=/checkout=/rustc/llvm" "-DCMAKE_CXX_FLAGS=-ffunction-sections -fdata-sections -fPIC -m64 --target=x86_64-unknown-linux-gnu -fdebug-prefix-map=/checkout=/rustc/llvm" "-DCMAKE_AR=/rustroot/bin/llvm-ar" "-DCMAKE_RANLIB=/rustroot/bin/llvm-ranlib" "-DCMAKE_SHARED_LINKER_FLAGS= -Wl,-Bsymbolic -static-libstdc++" "-DCMAKE_MODULE_LINKER_FLAGS= -Wl,-Bsymbolic -static-libstdc++" "-DCMAKE_EXE_LINKER_FLAGS= -Wl,-Bsymbolic -static-libstdc++" "-DLLVM_ENABLE_ASSERTIONS=ON" "-DENZYME_EXTERNAL_SHARED_LIB=ON" "-DLLVM_DIR=/checkout/obj/build/x86_64-unknown-linux-gnu/llvm" "-DCMAKE_INSTALL_PREFIX=/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 --target=x86_64-unknown-linux-gnu" "-DCMAKE_BUILD_TYPE=Release"
2025-05-02T18:55:44.2960442Z -- The C compiler identification is Clang 20.1.0
2025-05-02T18:55:44.3679615Z -- The CXX compiler identification is Clang 20.1.0
2025-05-02T18:55:44.3765879Z -- Detecting C compiler ABI info
2025-05-02T18:55:44.4367646Z -- Detecting C compiler ABI info - done
2025-05-02T18:55:44.4448879Z -- Check for working C compiler: /rustroot/bin/clang - skipped
2025-05-02T18:55:44.4450266Z -- Detecting C compile features
2025-05-02T18:55:44.4454180Z -- Detecting C compile features - done
2025-05-02T18:55:44.4520414Z -- Detecting CXX compiler ABI info
2025-05-02T18:55:44.5137186Z -- Detecting CXX compiler ABI info - done
2025-05-02T18:55:44.5225567Z -- Check for working CXX compiler: /rustroot/bin/clang++ - skipped
2025-05-02T18:55:44.5226103Z -- Detecting CXX compile features
2025-05-02T18:55:44.5230195Z -- Detecting CXX compile features - done
2025-05-02T18:55:44.5275830Z LLVM_SHLIBEXT=.so
2025-05-02T18:55:44.5276426Z LLVM ABS DIR /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/cmake/llvm
2025-05-02T18:55:44.5276956Z CMAKE_PREFIX_PATH 
2025-05-02T18:55:44.5361254Z -- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7") 
2025-05-02T18:55:44.5381866Z -- Found zstd: /usr/local/lib/libzstd.so  
2025-05-02T18:55:44.5547392Z LLVM_ENABLE_PLUGINS OFF
2025-05-02T18:55:44.5547878Z Setting ENZYME_ENABLE_PLUGINS OFF
2025-05-02T18:55:44.5548448Z found llvm match  dir /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/cmake/llvm
2025-05-02T18:55:44.5549147Z found llvm lit /checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build/lit
2025-05-02T18:55:44.5549803Z LLVM dir /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/cmake/llvm
2025-05-02T18:55:44.5550300Z clang dir from llvm 
2025-05-02T18:55:44.5682783Z -- Linker detection: GNU ld
2025-05-02T18:55:44.5685300Z clang dir 
2025-05-02T18:55:44.5685595Z mlir dir 
2025-05-02T18:55:44.5685864Z found Clang 0
2025-05-02T18:55:44.5686164Z found MLIR 0
2025-05-02T18:55:44.5686583Z LLVM_INSTALL_PREFIX: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm
2025-05-02T18:55:44.5687240Z LLVM_INCLUDE_DIRS: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include
2025-05-02T18:55:44.5688143Z found LLVM definitions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
2025-05-02T18:55:44.5688780Z found LLVM version 20
2025-05-02T18:55:44.5689298Z first llvm include directory/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include
2025-05-02T18:55:44.5729098Z -- Looking for mpfr.h
2025-05-02T18:55:44.6007717Z -- Looking for mpfr.h - not found
2025-05-02T18:55:44.6008165Z MPFR lib: MPFR_LIB_PATH-NOTFOUND
2025-05-02T18:55:44.6008529Z MPFR header: 
2025-05-02T18:55:44.6914941Z -- Configuring done
2025-05-02T18:55:44.7314581Z -- Generating done
2025-05-02T18:55:44.7330211Z CMake Warning:
2025-05-02T18:55:44.7330657Z   Manually-specified variables were not used by the project:
2025-05-02T18:55:44.7330995Z 
2025-05-02T18:55:44.7331133Z     CMAKE_ASM_COMPILER
2025-05-02T18:55:44.7331453Z     CMAKE_ASM_FLAGS
2025-05-02T18:55:44.7331634Z 
2025-05-02T18:55:44.7331641Z 
2025-05-02T18:55:44.7350999Z -- Build files have been written to: /checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build
2025-05-02T18:55:44.7393250Z running: cd "/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build" && DESTDIR="" LC_ALL="C" LLVM_CONFIG_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/bin/llvm-config" "cmake" "--build" "/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build" "--target" "install" "--config" "Release" "--" "-j" "36"
2025-05-02T18:55:44.7726829Z [  1%] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/blas-tblgen.cpp.o
2025-05-02T18:55:44.7727479Z [  1%] Built target intrinsics_gen
2025-05-02T18:55:44.7728082Z [  2%] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/datastructures.cpp.o
2025-05-02T18:55:44.7728874Z [  3%] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/caching.cpp.o
2025-05-02T18:55:44.7731101Z [  4%] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/enzyme-tblgen.cpp.o
2025-05-02T18:55:45.3325908Z [  5%] Linking CXX executable enzyme-tblgen
2025-05-02T18:55:45.3553413Z /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/libLLVMSupport.a: error adding symbols: File format not recognized
2025-05-02T18:55:45.3555428Z clang++: error: linker command failed with exit code 1 (use -v to see invocation)
2025-05-02T18:55:45.3571124Z gmake[2]: *** [tools/enzyme-tblgen/enzyme-tblgen] Error 1
2025-05-02T18:55:45.3572816Z gmake[1]: *** [tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/all] Error 2
2025-05-02T18:55:45.3575164Z gmake: *** [all] Error 2
2025-05-02T18:55:45.3585338Z 
2025-05-02T18:55:45.3585831Z thread 'main' panicked at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cmake-0.1.54/src/lib.rs:1119:5:
2025-05-02T18:55:45.3586373Z 
2025-05-02T18:55:45.3586609Z command did not execute successfully, got: exit status: 2
2025-05-02T18:55:45.3586918Z 
2025-05-02T18:55:45.3587081Z build script failed, must exit now
2025-05-02T18:55:45.3587600Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
2025-05-02T18:55:45.3588145Z 	finished in 1.173 seconds
2025-05-02T18:55:45.3604025Z Build completed unsuccessfully in 0:00:21
2025-05-02T18:55:45.3728881Z   local time: Fri May  2 18:55:45 UTC 2025
2025-05-02T18:55:45.4227463Z   network time: Fri, 02 May 2025 18:55:45 GMT
2025-05-02T18:55:48.8350281Z ##[error]Process completed with exit code 1.
2025-05-02T18:55:48.8471816Z Post job cleanup.

@ZuseZ4
Copy link
Member

ZuseZ4 commented May 4, 2025

It seems to me that the built libEnzyme file is not configured with rpath, and links to an absolute location of the libLLVM file. That would be no good for actual distribution, of course. But we can land this, download the archive from CI and see what happens then, that doesn't need to be fixed in this PR.

It might be caused by this:
https://github.com/EnzymeAD/Enzyme/blob/aef43cef57e4fc0cc9a8234d18247ccdbd2bde79/enzyme/CMakeLists.txt#L301

@wsmoses Do you know what was the motivation for making paths absolute?

@ZuseZ4
Copy link
Member

ZuseZ4 commented May 4, 2025

@Shourya742 Can you go to src/tools/enzyme, run git pull, cd .., and git add enzyme, and then commit/push the update? I think this commit might help: rust-lang/enzyme#21

@ZuseZ4
Copy link
Member

ZuseZ4 commented May 5, 2025

@Kobzol I got dist-apple CI to actually work for the first time, it managed to compile and link Enzyme: https://github.com/rust-lang-ci/rust/actions/runs/14826601681/job/41620576833
It failed in a subsequent step (apparently trying to link enzyme during a cranelift build, so we include it in too many places), but that seems fixable. I assume we shouldn't link against Enzyme in rustc_cargo, but a more specific location? That could also explain why we always ended up with ~20x -lEnzyme-20 in our build commands: https://github.com/rust-lang/rust/blob/master/src/bootstrap/src/core/build_steps/compile.rs#L1188. Do you know where it should go isntead?

However, it does fully compile locally, so your error from above should be gone. Can you try again if you have a bit of time?
For me the autodiff codegen tests fail locally, based on some Module context missmatch. I assume that has to do with linking against the wrong LLVM, but I am surprised where that would come from.

@rustbot
Copy link
Collaborator

rustbot commented May 6, 2025

Some changes occurred in src/tools/enzyme

cc @ZuseZ4

@rustbot
Copy link
Collaborator

rustbot commented May 6, 2025

⚠️ Warning ⚠️

  • Some commits in this PR modify submodules.

@Shourya742
Copy link
Contributor Author

@bors try

@bors
Copy link
Collaborator

bors commented May 6, 2025

@Shourya742: 🔑 Insufficient privileges: not in try users

@Kobzol
Copy link
Contributor

Kobzol commented May 6, 2025

@bors delegate+

(For try builds :) )

@bors
Copy link
Collaborator

bors commented May 6, 2025

✌️ @Shourya742, you can now approve this pull request!

If @Kobzol told you to "r=me" after making some further change, please make that change, then do @bors r=@Kobzol

@Kobzol
Copy link
Contributor

Kobzol commented May 6, 2025

@bors try

@bors
Copy link
Collaborator

bors commented May 6, 2025

⌛ Trying commit aef04eb with merge 4fb2330...

bors added a commit to rust-lang-ci/rust that referenced this pull request May 6, 2025
…ution, r=<try>

Add enzyme distribution step

This PR adds enzyme to bootstrap dist.

r? `@ghost`

try-job: dist-x86_64-linux
@rust-log-analyzer
Copy link
Collaborator

The job dist-x86_64-linux failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
file:.git/config remote.origin.url=https://github.com/rust-lang-ci/rust
file:.git/config remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config gc.auto=0
file:.git/config http.https://github.com/.extraheader=AUTHORIZATION: basic ***
file:.git/config branch.try.remote=origin
file:.git/config branch.try.merge=refs/heads/try
file:.git/config submodule.library/backtrace.active=true
file:.git/config submodule.library/backtrace.url=https://github.com/rust-lang/backtrace-rs.git
file:.git/config submodule.library/stdarch.active=true
file:.git/config submodule.library/stdarch.url=https://github.com/rust-lang/stdarch.git
file:.git/config submodule.src/doc/book.active=true
---
[2025-05-06T07:34:09Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:34:09Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:34:09Z DEBUG collector::compile::execute] cd "/tmp/.tmpRMOvVF" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpRMOvVF#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:34:10Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:34:10Z DEBUG collector::compile::execute] cd "/tmp/.tmpRMOvVF" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpRMOvVF#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpRMOvVF/incremental-state"
[2025-05-06T07:34:11Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:34:11Z DEBUG collector::compile::execute] cd "/tmp/.tmpRMOvVF" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpRMOvVF#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpRMOvVF/incremental-state"
[2025-05-06T07:34:11Z DEBUG collector::compile::benchmark] applying patch println
[2025-05-06T07:34:11Z DEBUG collector::compile::benchmark::patch] applying println to "/tmp/.tmpRMOvVF"
[2025-05-06T07:34:11Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrPatched), patch=Some(Patch { index: 0, name: PatchName("println"), path: "0-println.patch" }), backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:34:11Z DEBUG collector::compile::execute] cd "/tmp/.tmpRMOvVF" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpRMOvVF#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpRMOvVF/incremental-state"
Finished benchmark bitmaps-3.1.0 (1/8)
Executing benchmark cargo-0.60.0 (2/8)
Preparing cargo-0.60.0
[2025-05-06T07:34:12Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T07:34:12Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
---
[2025-05-06T07:34:40Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:34:40Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:34:40Z DEBUG collector::compile::execute] cd "/tmp/.tmphacMJQ" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmphacMJQ#[email protected]" "--profile" "check" "--lib" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:34:49Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:34:49Z DEBUG collector::compile::execute] cd "/tmp/.tmphacMJQ" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmphacMJQ#[email protected]" "--profile" "check" "--lib" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmphacMJQ/incremental-state"
[2025-05-06T07:35:01Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:35:01Z DEBUG collector::compile::execute] cd "/tmp/.tmphacMJQ" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmphacMJQ#[email protected]" "--profile" "check" "--lib" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmphacMJQ/incremental-state"
[2025-05-06T07:35:03Z DEBUG collector::compile::benchmark] applying patch println
[2025-05-06T07:35:03Z DEBUG collector::compile::benchmark::patch] applying println to "/tmp/.tmphacMJQ"
[2025-05-06T07:35:03Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrPatched), patch=Some(Patch { index: 0, name: PatchName("println"), path: "0-println.patch" }), backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:35:03Z DEBUG collector::compile::execute] cd "/tmp/.tmphacMJQ" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmphacMJQ#[email protected]" "--profile" "check" "--lib" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmphacMJQ/incremental-state"
Running cargo-0.60.0: Debug + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T07:35:06Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:35:06Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:35:06Z DEBUG collector::compile::execute] cd "/tmp/.tmpET2BAS" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpET2BAS#[email protected]" "--lib" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:35:30Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
[2025-05-06T07:37:44Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:37:44Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:37:44Z DEBUG collector::compile::execute] cd "/tmp/.tmpByMDrK" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpByMDrK#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:37:49Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:37:49Z DEBUG collector::compile::execute] cd "/tmp/.tmpByMDrK" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpByMDrK#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpByMDrK/incremental-state"
[2025-05-06T07:37:54Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:37:54Z DEBUG collector::compile::execute] cd "/tmp/.tmpByMDrK" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpByMDrK#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpByMDrK/incremental-state"
Running ctfe-stress-5: Opt + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T07:37:55Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:37:55Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:37:55Z DEBUG collector::compile::execute] cd "/tmp/.tmp712ASr" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmp712ASr#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:37:59Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
[2025-05-06T07:38:30Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:38:30Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:38:30Z DEBUG collector::compile::execute] cd "/tmp/.tmpbOENvn" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpbOENvn#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:38:37Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:38:37Z DEBUG collector::compile::execute] cd "/tmp/.tmpbOENvn" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpbOENvn#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpbOENvn/incremental-state"
[2025-05-06T07:38:46Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:38:46Z DEBUG collector::compile::execute] cd "/tmp/.tmpbOENvn" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpbOENvn#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpbOENvn/incremental-state"
[2025-05-06T07:38:48Z DEBUG collector::compile::benchmark] applying patch println
[2025-05-06T07:38:48Z DEBUG collector::compile::benchmark::patch] applying println to "/tmp/.tmpbOENvn"
[2025-05-06T07:38:48Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrPatched), patch=Some(Patch { index: 0, name: PatchName("println"), path: "0-println.patch" }), backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:38:48Z DEBUG collector::compile::execute] cd "/tmp/.tmpbOENvn" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpbOENvn#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpbOENvn/incremental-state"
Running diesel-1.4.8: Opt + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T07:38:50Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:38:50Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:38:50Z DEBUG collector::compile::execute] cd "/tmp/.tmpddJNaY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpddJNaY#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:38:58Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:38:58Z DEBUG collector::compile::execute] cd "/tmp/.tmpddJNaY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpddJNaY#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpddJNaY/incremental-state"
[2025-05-06T07:39:06Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:06Z DEBUG collector::compile::execute] cd "/tmp/.tmpddJNaY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpddJNaY#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpddJNaY/incremental-state"
[2025-05-06T07:39:09Z DEBUG collector::compile::benchmark] applying patch println
[2025-05-06T07:39:09Z DEBUG collector::compile::benchmark::patch] applying println to "/tmp/.tmpddJNaY"
[2025-05-06T07:39:09Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrPatched), patch=Some(Patch { index: 0, name: PatchName("println"), path: "0-println.patch" }), backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:09Z DEBUG collector::compile::execute] cd "/tmp/.tmpddJNaY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpddJNaY#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpddJNaY/incremental-state"
Finished benchmark diesel-1.4.8 (4/8)
Executing benchmark externs (5/8)
Preparing externs
[2025-05-06T07:39:11Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T07:39:11Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
---
[2025-05-06T07:39:14Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:39:14Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:14Z DEBUG collector::compile::execute] cd "/tmp/.tmpqsvhkb" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpqsvhkb#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:39:16Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:16Z DEBUG collector::compile::execute] cd "/tmp/.tmpqsvhkb" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpqsvhkb#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpqsvhkb/incremental-state"
[2025-05-06T07:39:18Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:18Z DEBUG collector::compile::execute] cd "/tmp/.tmpqsvhkb" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpqsvhkb#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpqsvhkb/incremental-state"
Running match-stress: Debug + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T07:39:18Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:39:18Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:18Z DEBUG collector::compile::execute] cd "/tmp/.tmpqvTUtO" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpqvTUtO#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:39:20Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:20Z DEBUG collector::compile::execute] cd "/tmp/.tmpqvTUtO" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpqvTUtO#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpqvTUtO/incremental-state"
[2025-05-06T07:39:22Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:22Z DEBUG collector::compile::execute] cd "/tmp/.tmpqvTUtO" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpqvTUtO#[email protected]" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpqvTUtO/incremental-state"
Running match-stress: Opt + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T07:39:22Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:39:22Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:22Z DEBUG collector::compile::execute] cd "/tmp/.tmp9POGWI" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmp9POGWI#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:39:24Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
[2025-05-06T07:39:28Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T07:39:28Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T07:39:29Z DEBUG collector::compile::execute] cd "/tmp/.tmp7UaCZa" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmp7UaCZa#[email protected]" "--profile" "check" "--" "--skip-this-rustc"
[2025-05-06T07:39:29Z DEBUG collector::compile::execute] cd "/tmp/.tmp0Gs2Gi" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmp0Gs2Gi#[email protected]" "--release" "--" "--skip-this-rustc"
[2025-05-06T07:39:29Z DEBUG collector::compile::execute] cd "/tmp/.tmpOrfxFF" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpOrfxFF#[email protected]" "--" "--skip-this-rustc"
Running tuple-stress: Check + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T07:39:29Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T07:39:29Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T07:39:29Z DEBUG collector::compile::execute] cd "/tmp/.tmpLWZBXz" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpLWZBXz#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T07:39:31Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
Executing benchmark regex-1.5.5 (4/8)
Preparing regex-1.5.5
[2025-05-06T08:14:28Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T08:14:28Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T08:14:28Z DEBUG collector::compile::execute] cd "/tmp/.tmpbbIVBG" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpbbIVBG#[email protected]" "--" "--skip-this-rustc"
[2025-05-06T08:14:28Z DEBUG collector::compile::execute] cd "/tmp/.tmpsBmxud" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpsBmxud#[email protected]" "--release" "--" "--skip-this-rustc"
Running regex-1.5.5: Debug + [Full] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T08:14:41Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:14:41Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:14:41Z DEBUG collector::compile::execute] cd "/tmp/.tmpOiJxUc" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpOiJxUc#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
Running regex-1.5.5: Opt + [Full] + Llvm + X86_64UnknownLinuxGnu
---
Executing benchmark ripgrep-13.0.0 (5/8)
Preparing ripgrep-13.0.0
[2025-05-06T08:14:57Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T08:14:57Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T08:14:57Z DEBUG collector::compile::execute] cd "/tmp/.tmpAYx0N6" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpAYx0N6#[email protected]" "--" "--skip-this-rustc"
[2025-05-06T08:14:57Z DEBUG collector::compile::execute] cd "/tmp/.tmpnAfKaX" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" CARGO_MAKEFLAGS="-j --jobserver-fds=9,10 --jobserver-auth=9,10" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpnAfKaX#[email protected]" "--release" "--" "--skip-this-rustc"
Running ripgrep-13.0.0: Debug + [Full] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T08:15:30Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:15:30Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:15:30Z DEBUG collector::compile::execute] cd "/tmp/.tmpWnoA8F" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpWnoA8F#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
Running ripgrep-13.0.0: Opt + [Full] + Llvm + X86_64UnknownLinuxGnu
---
[2025-05-06T08:28:14Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:28:14Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:28:14Z DEBUG collector::compile::execute] cd "/tmp/.tmpXkqVD8" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpXkqVD8#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T08:28:25Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:28:25Z DEBUG collector::compile::execute] cd "/tmp/.tmpXkqVD8" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpXkqVD8#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpXkqVD8/incremental-state"
[2025-05-06T08:28:37Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:28:37Z DEBUG collector::compile::execute] cd "/tmp/.tmpXkqVD8" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpXkqVD8#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpXkqVD8/incremental-state"
Running ctfe-stress-5: Debug + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T08:28:40Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:28:40Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:28:40Z DEBUG collector::compile::execute] cd "/tmp/.tmpfeCD2s" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpfeCD2s#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T08:28:51Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
[2025-05-06T08:31:30Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:31:30Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:31:30Z DEBUG collector::compile::execute] cd "/tmp/.tmpYIZipm" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpYIZipm#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T08:31:46Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:31:46Z DEBUG collector::compile::execute] cd "/tmp/.tmpYIZipm" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpYIZipm#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpYIZipm/incremental-state"
[2025-05-06T08:32:04Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:32:04Z DEBUG collector::compile::execute] cd "/tmp/.tmpYIZipm" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpYIZipm#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpYIZipm/incremental-state"
[2025-05-06T08:32:10Z DEBUG collector::compile::benchmark] applying patch println
[2025-05-06T08:32:10Z DEBUG collector::compile::benchmark::patch] applying println to "/tmp/.tmpYIZipm"
[2025-05-06T08:32:10Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrPatched), patch=Some(Patch { index: 0, name: PatchName("println"), path: "0-println.patch" }), backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:32:10Z DEBUG collector::compile::execute] cd "/tmp/.tmpYIZipm" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpYIZipm#[email protected]" "--release" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpYIZipm/incremental-state"
Finished benchmark diesel-1.4.8 (4/8)
Executing benchmark externs (5/8)
Preparing externs
[2025-05-06T08:32:18Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
[2025-05-06T08:32:18Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=None, patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=dependencies
---
[2025-05-06T08:33:47Z DEBUG collector::compile::execute] cd "/tmp/.tmpFNkH3U" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpFNkH3U#[email protected]" "--profile" "check" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpFNkH3U/incremental-state"
Running token-stream-stress: Debug + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T08:33:49Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:33:49Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:33:49Z DEBUG collector::compile::execute] cd "/tmp/.tmpKBFOye" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpKBFOye#[email protected]" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T08:33:53Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:33:53Z DEBUG collector::compile::execute] cd "/tmp/.tmpKBFOye" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpKBFOye#[email protected]" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpKBFOye/incremental-state"
[2025-05-06T08:33:57Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:33:57Z DEBUG collector::compile::execute] cd "/tmp/.tmpKBFOye" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpKBFOye#[email protected]" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpKBFOye/incremental-state"
Running token-stream-stress: Opt + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T08:33:59Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:33:59Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Opt, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:33:59Z DEBUG collector::compile::execute] cd "/tmp/.tmp2pHXsM" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmp2pHXsM#[email protected]" "--release" "--bin" "token-stream-stress-bin" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T08:34:03Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Opt, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
[2025-05-06T08:34:11Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:34:11Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Check, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:34:11Z DEBUG collector::compile::execute] cd "/tmp/.tmpscDRFY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpscDRFY#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T08:34:18Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:34:18Z DEBUG collector::compile::execute] cd "/tmp/.tmpscDRFY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpscDRFY#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpscDRFY/incremental-state"
[2025-05-06T08:34:26Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrUnchanged), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:34:26Z DEBUG collector::compile::execute] cd "/tmp/.tmpscDRFY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpscDRFY#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpscDRFY/incremental-state"
[2025-05-06T08:34:30Z DEBUG collector::compile::benchmark] applying patch new row
[2025-05-06T08:34:30Z DEBUG collector::compile::benchmark::patch] applying new row to "/tmp/.tmpscDRFY"
[2025-05-06T08:34:30Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Check, scenario=Some(IncrPatched), patch=Some(Patch { index: 0, name: PatchName("new row"), path: "0-new-row.patch" }), backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:34:30Z DEBUG collector::compile::execute] cd "/tmp/.tmpscDRFY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpscDRFY#[email protected]" "--profile" "check" "--" "--wrap-rustc-with" "Eprintln" "-C" "incremental=/tmp/.tmpscDRFY/incremental-state"
Running tuple-stress: Debug + [Full, IncrFull, IncrUnchanged, IncrPatched] + Llvm + X86_64UnknownLinuxGnu
[2025-05-06T08:34:38Z DEBUG collector::compile::benchmark] Benchmark iteration 1/1
[2025-05-06T08:34:38Z INFO  collector::compile::execute] run_rustc with incremental=false, profile=Debug, scenario=Some(Full), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
[2025-05-06T08:34:38Z DEBUG collector::compile::execute] cd "/tmp/.tmpJowpuY" && CARGO="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" CARGO_INCREMENTAL="0" EXPECT_ONLY_WRAPPED_RUSTC="1" RUSTC="/tmp/tmp-multistage/opt-artifacts/rustc-perf/target/debug/rustc-fake" RUSTC_BOOTSTRAP="1" RUSTC_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "rustc" "--manifest-path" "Cargo.toml" "-p" "path+file:///tmp/.tmpJowpuY#[email protected]" "--" "--wrap-rustc-with" "Eprintln"
[2025-05-06T08:34:46Z INFO  collector::compile::execute] run_rustc with incremental=true, profile=Debug, scenario=Some(IncrFull), patch=None, backend=Llvm, target=X86_64UnknownLinuxGnu, phase=benchmark
---
CMAKE_x86_64-unknown-linux-gnu = None
CMAKE_x86_64_unknown_linux_gnu = None
HOST_CMAKE = None
CMAKE = None
running: cd "/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build" && CMAKE_PREFIX_PATH="" DESTDIR="" LC_ALL="C" LLVM_CONFIG_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/bin/llvm-config" "cmake" "/checkout/src/tools/enzyme/enzyme/" "-DCMAKE_INSTALL_MESSAGE=LAZY" "-DCMAKE_C_COMPILER_LAUNCHER=sccache" "-DCMAKE_CXX_COMPILER_LAUNCHER=sccache" "-DCMAKE_C_COMPILER=clang" "-DCMAKE_CXX_COMPILER=clang++" "-DCMAKE_ASM_COMPILER=clang" "-DCMAKE_C_FLAGS=-ffunction-sections -fdata-sections -fPIC -m64 --target=x86_64-unknown-linux-gnu -fdebug-prefix-map=/checkout=/rustc/llvm" "-DCMAKE_CXX_FLAGS=-ffunction-sections -fdata-sections -fPIC -m64 --target=x86_64-unknown-linux-gnu -fdebug-prefix-map=/checkout=/rustc/llvm" "-DCMAKE_AR=/rustroot/bin/llvm-ar" "-DCMAKE_RANLIB=/rustroot/bin/llvm-ranlib" "-DCMAKE_SHARED_LINKER_FLAGS= -Wl,-Bsymbolic -static-libstdc++" "-DCMAKE_MODULE_LINKER_FLAGS= -Wl,-Bsymbolic -static-libstdc++" "-DCMAKE_EXE_LINKER_FLAGS= -Wl,-Bsymbolic -static-libstdc++" "-DLLVM_ENABLE_ASSERTIONS=ON" "-DENZYME_EXTERNAL_SHARED_LIB=ON" "-DLLVM_DIR=/checkout/obj/build/x86_64-unknown-linux-gnu/llvm" "-DCMAKE_INSTALL_PREFIX=/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64 --target=x86_64-unknown-linux-gnu" "-DCMAKE_BUILD_TYPE=Release"
-- The C compiler identification is Clang 20.1.0
-- The CXX compiler identification is Clang 20.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /rustroot/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /rustroot/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
LLVM_SHLIBEXT=.so
LLVM ABS DIR /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/cmake/llvm
CMAKE_PREFIX_PATH 
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.7") 
-- Found zstd: /usr/local/lib/libzstd.so  
LLVM_ENABLE_PLUGINS OFF
Setting ENZYME_ENABLE_PLUGINS OFF
found llvm match  dir /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/cmake/llvm
found llvm lit /checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build/lit
LLVM dir /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/cmake/llvm
clang dir from llvm 
-- Linker detection: GNU ld
clang dir 
mlir dir 
found Clang 0
found MLIR 0
LLVM_INSTALL_PREFIX: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm
LLVM_INCLUDE_DIRS: /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include
found LLVM definitions -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
found LLVM version 20
first llvm include directory/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/include
-- Looking for mpfr.h
-- Looking for mpfr.h - not found
MPFR lib: MPFR_LIB_PATH-NOTFOUND
MPFR header: 
-- TBL_LINKED_LIBS (test): rt;dl;-lpthread;m;ZLIB::ZLIB;zstd::libzstd_static;LLVMDemangle
-- Using llvm-config from /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/bin
-- Linking against LLVM libraries: -lLLVM-20-rust-1.88.0-nightly
-- Linking against LLVM ldflags: -L/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_ASM_COMPILER
    CMAKE_ASM_FLAGS


-- Build files have been written to: /checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build
running: cd "/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build" && DESTDIR="" LC_ALL="C" LLVM_CONFIG_REAL="/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/bin/llvm-config" "cmake" "--build" "/checkout/obj/build/x86_64-unknown-linux-gnu/enzyme/build" "--target" "install" "--config" "Release" "--" "-j" "36"
[  0%] Built target intrinsics_gen
[  1%] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/blas-tblgen.cpp.o
[  2%] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/datastructures.cpp.o
[  3%] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/caching.cpp.o
[  4%] Building CXX object tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/enzyme-tblgen.cpp.o
[  5%] Linking CXX executable enzyme-tblgen
/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/libLLVMSupport.a: error adding symbols: File format not recognized
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[2]: *** [tools/enzyme-tblgen/enzyme-tblgen] Error 1
gmake[1]: *** [tools/enzyme-tblgen/CMakeFiles/enzyme-tblgen.dir/all] Error 2
gmake: *** [all] Error 2

thread 'main' panicked at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cmake-0.1.54/src/lib.rs:1119:5:

command did not execute successfully, got: exit status: 2

@bors
Copy link
Collaborator

bors commented May 6, 2025

💔 Test failed - checks-actions

@ZuseZ4
Copy link
Member

ZuseZ4 commented May 6, 2025

@Kobzol could we be running out of memory? Otherwise, I think this should work?

/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/lib/libLLVMSupport.a: error adding symbols: File format not recognized

tdlib/td#1244

@Kobzol
Copy link
Contributor

Kobzol commented May 6, 2025

Hmm, hard to tell, I would rather expect some LLVM version mismatch or some weird interaction with how Enzyme does things with its CMake with our build system. It's possible to run the CI job locally, I'll try to debug it.

@Kobzol
Copy link
Contributor

Kobzol commented May 6, 2025

I can reproduce the failure locally with the CI job. I suspect that we might have to configure the Enzyme CMake invocation in the same way we configure the LLVM CMake invocation, in particular we might have to use the same llvm-ar archiver? But I didn't have time to investigate more, and probably won't have time for this until after RustWeek.

If someone wants to take a look, you can reproduce it on Linux with ./src/ci/docker/run.sh --dev dist-x86_64-linux.

@Shourya742
Copy link
Contributor Author

Based on the discussion on Zulip #t-infra > MCP - Enable autodiff in CI 💬. This PR now stands redundant.

Thank you, @Kobzol, for the review.

@Shourya742 Shourya742 closed this May 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc F-autodiff `#![feature(autodiff)]` S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants