Skip to content

[DO NOT MERGE] llvm-wrapper: adapt for LLVM 19 API change #126582 #127025

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
wants to merge 1 commit into from

Conversation

krasimirgg
Copy link
Contributor

No functional changes intended.

The instrprof_mcdc_condbitmap_update intrinsic was dropped recently:

llvm/llvm-project@85a7bba

This is incomplete; #126672 to track the proper fix.

@rustbot label: +llvm-main

No functional changes intended.

The instrprof_mcdc_condbitmap_update intrinsic was dropped in LLVM 19:
* llvm/llvm-project@85a7bba
@rustbot
Copy link
Collaborator

rustbot commented Jun 27, 2024

r? @cuviper

rustbot has assigned @cuviper.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. llvm-main Marks PRs that are making Rust work with LLVM main (this label is consumed by CI tooling) labels Jun 27, 2024
@krasimirgg
Copy link
Contributor Author

r? @durin42

@rustbot rustbot assigned durin42 and unassigned cuviper Jun 27, 2024
@rust-log-analyzer
Copy link
Collaborator

The job mingw-check-tidy failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
Getting action download info
Download action repository 'msys2/[email protected]' (SHA:cc11e9188b693c2b100158c3322424c4cc1dadea)
Download action repository 'actions/checkout@v4' (SHA:692973e3d937129bcbf40652eb9f2f61becf3332)
Download action repository 'actions/upload-artifact@v4' (SHA:65462800fd760344b1a7b4382951275a0abb4808)
Complete job name: PR - mingw-check-tidy
git config --global core.autocrlf false
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh

COPY host-x86_64/mingw-check/reuse-requirements.txt /tmp/
RUN pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt \
    && pip3 install virtualenv
COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
COPY host-x86_64/mingw-check/validate-error-codes.sh /scripts/

# NOTE: intentionally uses python2 for x.py so we can test it still works.
# NOTE: intentionally uses python2 for x.py so we can test it still works.
# validate-toolstate only runs in our CI, so it's ok for it to only support python3.
ENV SCRIPT TIDY_PRINT_DIFF=1 python2.7 ../x.py test \
           --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
#    pip-compile --allow-unsafe --generate-hashes reuse-requirements.in
---

#12 [5/8] COPY host-x86_64/mingw-check/reuse-requirements.txt /tmp/
#12 DONE 0.0s

#13 [6/8] RUN pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt     && pip3 install virtualenv
#13 0.434   Downloading binaryornot-0.4.4-py2.py3-none-any.whl (9.0 kB)
#13 0.452 Collecting boolean-py==4.0
#13 0.459   Downloading boolean.py-4.0-py3-none-any.whl (25 kB)
#13 0.476 Collecting chardet==5.1.0
---
#13 3.793 Building wheels for collected packages: reuse
#13 3.794   Building wheel for reuse (pyproject.toml): started
#13 4.115   Building wheel for reuse (pyproject.toml): finished with status 'done'
#13 4.116   Created wheel for reuse: filename=reuse-1.1.0-cp310-cp310-manylinux_2_35_x86_64.whl size=181117 sha256=f5f58750481f69515c2c0d1d503daf565e2565c370d07fc6aeb95fe3498b4269
#13 4.116   Stored in directory: /tmp/pip-ephem-wheel-cache-qtukayzh/wheels/c2/3c/b9/1120c2ab4bd82694f7e6f0537dc5b9a085c13e2c69a8d0c76d
#13 4.119 Installing collected packages: boolean-py, binaryornot, setuptools, reuse, python-debian, markupsafe, license-expression, jinja2, chardet
#13 4.141   Attempting uninstall: setuptools
#13 4.142     Found existing installation: setuptools 59.6.0
#13 4.143     Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
#13 4.143     Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
#13 4.144     Can't uninstall 'setuptools'. No files were found to uninstall.
#13 4.821 Successfully installed binaryornot-0.4.4 boolean-py-4.0 chardet-5.1.0 jinja2-3.1.2 license-expression-30.0.0 markupsafe-2.1.1 python-debian-0.1.49 reuse-1.1.0 setuptools-66.0.0
#13 4.822 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#13 5.338 Collecting virtualenv
#13 5.388   Downloading virtualenv-20.26.3-py3-none-any.whl (5.7 MB)
#13 5.841      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB 12.6 MB/s eta 0:00:00
#13 5.883 Collecting distlib<1,>=0.3.7
#13 5.891   Downloading distlib-0.3.8-py2.py3-none-any.whl (468 kB)
#13 5.954 Collecting filelock<4,>=3.12.2
#13 5.961   Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 5.961   Downloading filelock-3.15.4-py3-none-any.whl (16 kB)
#13 5.992 Collecting platformdirs<5,>=3.9.1
#13 5.999   Downloading platformdirs-4.2.2-py3-none-any.whl (18 kB)
#13 6.088 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#13 6.261 Successfully installed distlib-0.3.8 filelock-3.15.4 platformdirs-4.2.2 virtualenv-20.26.3
#13 DONE 6.3s

#14 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#14 DONE 0.0s
---
DirectMap4k:      202688 kB
DirectMap2M:     8185856 kB
DirectMap1G:    10485760 kB
##[endgroup]
Executing TIDY_PRINT_DIFF=1 python2.7 ../x.py test            --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
+ TIDY_PRINT_DIFF=1 python2.7 ../x.py test --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint,cpp:fmt
    Finished `dev` profile [unoptimized] target(s) in 0.03s
##[endgroup]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/536235f07e57c9108c6c3b1eacb323164e0f4cfb/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-536235f07e57c9108c6c3b1eacb323164e0f4cfb-true/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm
---
fmt check
fmt: checked 5152 files
tidy check
tidy: Skipping binary file check, read-only filesystem
removing old virtual environment
creating virtual environment at '/checkout/obj/build/venv' using 'python3.10'
Requirement already satisfied: pip in ./build/venv/lib/python3.10/site-packages (24.1)
  Downloading pip-24.1.1-py3-none-any.whl.metadata (3.6 kB)
Downloading pip-24.1.1-py3-none-any.whl (1.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 51.4 MB/s eta 0:00:00
Installing collected packages: pip
---
Successfully installed pip-24.1.1
linting python files
All checks passed!
checking C++ file formatting
/checkout/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp:1569:22: error: code should be clang-formatted [-Wclang-format-violations]
  report_fatal_error("The instrprof_mcdc_condbitmap_update only exists in LLVM 18");


clang-format linting failed! Printing diff suggestions:
--- /checkout/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp (actual)
+++ /checkout/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp (formatted)
@@ -1565,9 +1565,10 @@
 #if LLVM_VERSION_GE(18, 0) && LLVM_VERSION_LT(19, 0)
   return wrap(llvm::Intrinsic::getDeclaration(
       unwrap(M), llvm::Intrinsic::instrprof_mcdc_condbitmap_update));
 #else
-  report_fatal_error("The instrprof_mcdc_condbitmap_update only exists in LLVM 18");
+  report_fatal_error(
+      "The instrprof_mcdc_condbitmap_update only exists in LLVM 18");
 #endif
 
 
 extern "C" LLVMValueRef LLVMRustBuildMemCpy(LLVMBuilderRef B, LLVMValueRef Dst,

tidy error: checks with external tool 'clang-format' failed
some tidy checks failed
  local time: Thu Jun 27 08:37:26 UTC 2024
  network time: Thu, 27 Jun 2024 08:37:27 GMT
##[error]Process completed with exit code 1.
Post job cleanup.

@durin42
Copy link
Contributor

durin42 commented Jul 31, 2024

This is obsoleted by #127513, so I'm closing it.

@durin42 durin42 closed this Jul 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
llvm-main Marks PRs that are making Rust work with LLVM main (this label is consumed by CI tooling) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants