Skip to content
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

Rollup of 5 pull requests #134069

Closed
wants to merge 23 commits into from
Closed

Conversation

jieyouxu
Copy link
Member

@jieyouxu jieyouxu commented Dec 9, 2024

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

folkertdev and others added 23 commits November 30, 2024 00:43
first steps of codegen for `#[naked]` functions using `global_asm!`

configure external linkage if no linkage is explicitly set

create a `FunctionCx` and properly evaluate consts

inline attribute is no longer relevant for naked functions

the naked attribute no longer needs to be set by llvm/...

we're generating global asm now, so this attribute is meaningless for the codegen backend
correctly emit `.hidden`

this test was added in rust-lang#105193

but actually NO_COVERAGE is no longer a thing in the compiler. Sadly,
the link to the issue is broken, so I don't know what the problem was
originally, but I don't think this is relevant any more with the global
asm approach

rename test file

because it now specifically checks for directives only used by
non-macos, non-windows x86_64

add codegen tests for 4 interesting platforms

add codegen test for the `#[instruction_set]` attribute

add test for `#[link_section]`

use `tcx.codegen_fn_attrs` to get attribute info

Fix rust-lang#124375

inline const monomorphization/evaluation

getting rid of FunctionCx

mark naked functions as `InstantiatedMode::GloballyShared`

this makes sure that the function prototype is defined correctly, and we don't see LLVM complaining about a global value with invalid linkage

monomorphize type given to `SymFn`

remove hack that always emits `.globl`

monomorphize type given to `Const`

remove `linkage_directive`

make naked functions always have external linkage

mark naked functions as `#[inline(never)]`

add test file for functional generics/const/impl/trait usage of naked functions
… it earlier, then some other logic causes invalid visibility for the item (exporting when it shouldn't).
- codegen tests: change `windows` to `win`
- cleanup
- fix review comments
    - better way of checking for thumb
    - get the mangled name from the codegen backend
- propagate function alignment
- fix gcc backend
- fix asan test
- check that assembler mode restored
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: onur-ozkan <work@onurozkan.dev>
To make it more consistent with the rest of the anchors.
we get these declarations

```
; opt level 0
declare x86_intrcc void @page_fault_handler(ptr byval([8 x i8]) align 8, i64) unnamed_addr #1
; opt level > 0
declare x86_intrcc void @page_fault_handler(ptr noalias nocapture noundef byval([8 x i8]) align 8 dereferenceable(8), i64 noundef) unnamed_addr #1
```

The space after `i64` in the original regex made the regex not match for
opt level 0. Removing the space fixes the issue.

```
declare x86_intrcc void @page_fault_handler(ptr {{.*}}, i64 {{.*}}){{.*}}#[[ATTRS:[0-9]+]]
```
codegen `#[naked]` functions using global asm

tracking issue: rust-lang#90957

Fixes rust-lang#124375

This implements the approach suggested in the tracking issue: use the existing global assembly infrastructure to emit the body of `#[naked]` functions. The main advantage is that we now have full control over what gets generated, and are no longer dependent on LLVM not sneakily messing with our output (inlining, adding extra instructions, etc).

I discussed this approach with ``@Amanieu`` and while I think the general direction is correct, there is probably a bunch of stuff that needs to change or move around here. I'll leave some inline comments on things that I'm not sure about.

Combined with rust-lang#127853, if both accepted, I think that resolves all steps from the tracking issue.

r? ``@Amanieu``

try-job: x86_64-gnu-nopt
add some debug-assertion crash tests

r? ghost

try-job: x86_64-gnu
Add licenses + Run `cargo update`

Replaces rust-lang#131311

try-job: dist-x86_64-linux

License changes:
- `unicode_ident` 1.0.14 introduces `(MIT OR Apache-2.0) AND Unicode-3.0`, but `unicode_ident` 1.0.12 (`(MIT OR Apache-2.0) AND Unicode-DFS-2016`) is still in tree
- `instant` and its license exception are no longer used
```
compiler & tools dependencies:
    Updating allocator-api2 v0.2.18 -> v0.2.20
    Updating anyhow v1.0.92 -> v1.0.93
    Removing bitflags v1.3.2
    Updating blake3 v1.5.4 -> v1.5.5
    Updating bstr v1.10.0 -> v1.11.0
    Updating bytes v1.8.0 -> v1.9.0
    Updating cargo-platform v0.1.8 -> v0.1.9
    Updating cc v1.2.0 -> v1.2.2
    Updating clap v4.5.20 -> v4.5.21
    Updating clap_builder v4.5.20 -> v4.5.21
    Updating clap_complete v4.5.36 -> v4.5.38
    Updating clap_lex v0.7.2 -> v0.7.3
    Updating color-print v0.3.6 -> v0.3.7
    Updating color-print-proc-macro v0.3.6 -> v0.3.7
    Updating cpufeatures v0.2.14 -> v0.2.16
    Updating curl-sys v0.4.77+curl-8.10.1 -> v0.4.78+curl-8.11.0
    Updating errno v0.3.9 -> v0.3.10
    Updating fastrand v2.1.1 -> v2.2.0
    Updating flate2 v1.0.34 -> v1.0.35
    Updating handlebars v5.1.2 -> v6.2.0
      Adding icu_collections v1.5.0
      Adding icu_normalizer v1.5.0
      Adding icu_normalizer_data v1.5.0
      Adding icu_properties v1.5.1
      Adding icu_properties_data v1.5.0
    Updating idna v0.5.0 -> v1.0.3
      Adding idna_adapter v1.2.0
    Updating indexmap v2.6.0 -> v2.7.0
    Updating indicatif v0.17.8 -> v0.17.9
    Removing instant v0.1.13
    Updating itoa v1.0.11 -> v1.0.14
    Updating js-sys v0.3.72 -> v0.3.74
    Updating libc v0.2.164 -> v0.2.167
    Updating libloading v0.8.5 -> v0.8.6
    Updating litemap v0.7.3 -> v0.7.4
    Updating mdbook v0.4.40 -> v0.4.43
      Adding num-modular v0.6.1
      Adding num-order v1.2.0
    Updating pathdiff v0.2.2 -> v0.2.3
    Updating portable-atomic v1.9.0 -> v1.10.0
    Updating proc-macro2 v1.0.89 -> v1.0.92
    Updating regex-automata v0.4.8 -> v0.4.9
    Updating rustc-hash v2.0.0 -> v2.1.0
    Updating rustc_apfloat v0.2.1+llvm-462a31f5a5ab -> v0.2.2+llvm-462a31f5a5ab
    Updating rustix v0.38.38 -> v0.38.41
    Updating schannel v0.1.26 -> v0.1.27
    Updating serde v1.0.214 -> v1.0.215
    Updating serde_derive v1.0.214 -> v1.0.215
    Updating serde_json v1.0.132 -> v1.0.133
    Updating socket2 v0.5.7 -> v0.5.8
    Updating spdx v0.10.6 -> v0.10.7
    Updating syn v2.0.87 -> v2.0.90
    Updating tempfile v3.13.0 -> v3.14.0
    Updating terminal_size v0.4.0 -> v0.4.1
    Updating thiserror v1.0.66 -> v1.0.69 (available: v2.0.3)
    Updating thiserror-impl v1.0.66 -> v1.0.69
    Updating tokio v1.41.0 -> v1.41.1
    Updating tracing-attributes v0.1.27 -> v0.1.28
    Updating tracing-error v0.2.0 -> v0.2.1
    Removing unicode-bidi v0.3.17
    Updating unicode-ident v1.0.13 -> v1.0.14
    Updating url v2.5.2 -> v2.5.4
      Adding utf16_iter v1.0.5
      Adding utf8_iter v1.0.4
     Updating wasm-bindgen v0.2.95 -> v0.2.97
    Updating wasm-bindgen-backend v0.2.95 -> v0.2.97
    Updating wasm-bindgen-macro v0.2.95 -> v0.2.97
    Updating wasm-bindgen-macro-support v0.2.95 -> v0.2.97
    Updating wasm-bindgen-shared v0.2.95 -> v0.2.97
    Updating wasm-encoder v0.220.0 -> v0.221.0
      Adding wasmparser v0.221.0
    Updating wast v219.0.1 -> v221.0.0
    Updating wat v1.219.1 -> v1.221.0
      Adding web-time v1.1.0
      Adding write16 v1.0.0
    Updating yoke v0.7.4 -> v0.7.5
    Updating yoke-derive v0.7.4 -> v0.7.5
    Updating zerofrom v0.1.4 -> v0.1.5
    Updating zerofrom-derive v0.1.4 -> v0.1.5

library dependencies:
    Updating allocator-api2 v0.2.18 -> v0.2.20
    Updating cc v1.2.0 -> v1.2.2
    Updating libc v0.2.162 -> v0.2.164
    Updating unwinding v0.2.3 -> v0.2.4

rustbook dependencies:
    Updating anstream v0.6.17 -> v0.6.18
    Updating anyhow v1.0.92 -> v1.0.93
    Updating bstr v1.10.0 -> v1.11.0
    Updating cc v1.2.0 -> v1.2.2
    Updating clap v4.5.20 -> v4.5.21
    Updating clap_builder v4.5.20 -> v4.5.21
    Updating clap_complete v4.5.36 -> v4.5.38
    Updating clap_lex v0.7.2 -> v0.7.3
    Updating cpufeatures v0.2.14 -> v0.2.16
      Adding displaydoc v0.2.5
    Updating errno v0.3.9 -> v0.3.10
    Updating fastrand v2.1.1 -> v2.2.0
    Updating flate2 v1.0.34 -> v1.0.35
    Updating hashbrown v0.15.0 -> v0.15.2
      Adding icu_collections v1.5.0
      Adding icu_locid v1.5.0
      Adding icu_locid_transform v1.5.0
      Adding icu_locid_transform_data v1.5.0
      Adding icu_normalizer v1.5.0
      Adding icu_normalizer_data v1.5.0
      Adding icu_properties v1.5.1
      Adding icu_properties_data v1.5.0
      Adding icu_provider v1.5.0
      Adding icu_provider_macros v1.5.0
    Updating idna v0.5.0 -> v1.0.3
      Adding idna_adapter v1.2.0
    Updating indexmap v2.6.0 -> v2.7.0
    Updating itoa v1.0.11 -> v1.0.14
    Updating js-sys v0.3.72 -> v0.3.74
    Updating libc v0.2.161 -> v0.2.167
      Adding litemap v0.7.4
    Updating mdbook v0.4.42 -> v0.4.43
    Updating pathdiff v0.2.2 -> v0.2.3
    Updating proc-macro2 v1.0.89 -> v1.0.92
    Updating regex-automata v0.4.8 -> v0.4.9
    Updating rustix v0.38.38 -> v0.38.41
    Updating serde v1.0.214 -> v1.0.215
    Updating serde_derive v1.0.214 -> v1.0.215
    Updating serde_json v1.0.132 -> v1.0.133
      Adding stable_deref_trait v1.2.0
    Updating syn v2.0.87 -> v2.0.90
      Adding synstructure v0.13.1
    Updating tempfile v3.13.0 -> v3.14.0
    Updating terminal_size v0.4.0 -> v0.4.1
    Updating thiserror v1.0.66 -> v1.0.69
    Updating thiserror-impl v1.0.66 -> v1.0.69
      Adding tinystr v0.7.6
    Removing tinyvec v1.8.0
    Removing tinyvec_macros v0.1.1
    Removing unicode-bidi v0.3.17
    Updating unicode-ident v1.0.13 -> v1.0.14
    Removing unicode-normalization v0.1.24
    Updating url v2.5.2 -> v2.5.4
      Adding utf16_iter v1.0.5
      Adding utf8_iter v1.0.4
    Updating wasm-bindgen v0.2.95 -> v0.2.97
    Updating wasm-bindgen-backend v0.2.95 -> v0.2.97
    Updating wasm-bindgen-macro v0.2.95 -> v0.2.97
    Updating wasm-bindgen-macro-support v0.2.95 -> v0.2.97
    Updating wasm-bindgen-shared v0.2.95 -> v0.2.97
      Adding write16 v1.0.0
      Adding writeable v0.5.5
      Adding yoke v0.7.5
      Adding yoke-derive v0.7.5
      Adding zerofrom v0.1.5
      Adding zerofrom-derive v0.1.5
      Adding zerovec v0.10.4
      Adding zerovec-derive v0.10.3
```
…-dist-build, r=Kobzol

use vendor sources by default on dist tarballs

Tarball sources are distributed with vendor sources along with the `.cargo/config.toml` file configured for vendor sources. This means we can use vendor sources by default unless explicitly disabled with `build.vendor=false` by the user. So, let's do that.
…Ieni

CI: move `dist-arm-linux` to an ARM runner

First, I want to test whether we could actually move this to a free runner, vs moving to the 8-core ARM runner.

Fixes: rust-lang/infra-team#181

r? `@MarcoIeni`

try-job: dist-arm-linux
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc 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) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Dec 9, 2024
@jieyouxu
Copy link
Member Author

jieyouxu commented Dec 9, 2024

@bors r+ rollup=never p=5

@rustbot rustbot added the rollup A PR which is a rollup label Dec 9, 2024
@bors
Copy link
Contributor

bors commented Dec 9, 2024

📌 Commit a5b0589 has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 9, 2024
@bors
Copy link
Contributor

bors commented Dec 9, 2024

⌛ Testing commit a5b0589 with merge 0195295...

bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 9, 2024
Rollup of 5 pull requests

Successful merges:

 - rust-lang#128004 (codegen `#[naked]` functions using global asm)
 - rust-lang#132789 (add some debug-assertion crash tests)
 - rust-lang#133456 (Add licenses + Run `cargo update`)
 - rust-lang#133853 (use vendor sources by default on dist tarballs)
 - rust-lang#133902 (CI: move `dist-arm-linux` to an ARM runner)

r? `@ghost`
`@rustbot` modify labels: rollup
@rust-log-analyzer
Copy link
Collaborator

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

Click to see the possible cause of the failure (guessed by this bot)
failures:

---- [codegen] tests/codegen/naked-fn/generics.rs stdout ----

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/ci-llvm/bin/FileCheck" "--input-file" "/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll" "/Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs" "--check-prefix=CHECK" "--check-prefix" "NONMSVC" "--allow-unused-prefixes" "--dump-input-context" "100"
--- stderr -------------------------------
/Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs:60:11: error: CHECK: expected string not found in input
// CHECK: call
          ^
          ^
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll:44:22: note: scanning from here
module asm ".balign 4"
                     ^
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll:45:2: note: possible intended match here
module asm ".globl _method"
/Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs:80:11: error: CHECK: expected string not found in input
/Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs:80:11: error: CHECK: expected string not found in input
// CHECK: mov rax, rdi
          ^
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll:54:22: note: scanning from here
module asm ".balign 4"
                     ^
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll:55:1: note: possible intended match here
module asm ".globl _trait_method"
/Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs:92:11: error: CHECK: expected string not found in input
/Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs:92:11: error: CHECK: expected string not found in input
// CHECK: mov rax, rdi
          ^
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll:64:22: note: scanning from here
module asm ".balign 4"
                     ^
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll:65:1: note: possible intended match here
module asm ".globl _naked_with_args_and_return"
/Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs:107:11: error: CHECK: expected string not found in input
/Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs:107:11: error: CHECK: expected string not found in input
// CHECK: .balign 4
          ^
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll:65:47: note: scanning from here
module asm ".globl _naked_with_args_and_return"
                                              ^
/Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll:73:35: note: possible intended match here
@llvm.compiler.used = appending global [1 x ptr] [ptr @_ZN8generics6Invert6invert17h6934350fe74ba45cE], section "llvm.metadata"

Input file: /Users/runner/work/rust/rust/build/x86_64-apple-darwin/test/codegen/naked-fn/generics/generics.ll
Check file: /Users/runner/work/rust/rust/tests/codegen/naked-fn/generics.rs


-dump-input=help explains the following input dump.
Input was:
<<<<<<
<<<<<<
             1: ; ModuleID = 'generics.2e39417dc5a6b368-cgu.0' 
             2: source_filename = "generics.2e39417dc5a6b368-cgu.0" 
             3: target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128" 
             4: target triple = "x86_64-apple-macosx10.12.0" 
             5:  
             6: module asm ".intel_syntax" 
             7: module asm ".pushsection __TEXT,__text,regular,pure_instructions" 
             8: module asm ".balign 4" 
             9: module asm ".globl __ZN8generics20using_const_generics17h37e15c75dd9b225dE" 
            10: module asm "__ZN8generics20using_const_generics17h37e15c75dd9b225dE:" 
            11: module asm "xor rax, rax" 
            12: module asm "add rax, rdi" 
            13: module asm "add rax, 2" 
            14: module asm "add rax, 42" 
            15: module asm "ret" 
            16: module asm ".popsection" 
            17: module asm "" 
            18: module asm ".att_syntax" 
            19: module asm ".intel_syntax" 
            20: module asm ".pushsection __TEXT,__text,regular,pure_instructions" 
            21: module asm ".balign 4" 
            22: module asm ".globl __ZN8generics20using_const_generics17h50c397338a193a2aE" 
            23: module asm "__ZN8generics20using_const_generics17h50c397338a193a2aE:" 
            24: module asm "xor rax, rax" 
            25: module asm "add rax, rdi" 
            26: module asm "add rax, 1" 
            27: module asm "add rax, 42" 
            28: module asm "ret" 
            29: module asm ".popsection" 
            30: module asm "" 
            31: module asm ".att_syntax" 
            32: module asm ".intel_syntax" 
            33: module asm ".pushsection __TEXT,__text,regular,pure_instructions" 
            34: module asm ".balign 4" 
            35: module asm ".globl __ZN8generics16generic_function17h279b2b74c0206449E" 
            36: module asm "__ZN8generics16generic_function17h279b2b74c0206449E:" 
            37: module asm "call __ZN8generics6Invert6invert17h6934350fe74ba45cE" 
            38: module asm "ret" 
            39: module asm ".popsection" 
            40: module asm "" 
            41: module asm ".att_syntax" 
            42: module asm ".intel_syntax" 
            43: module asm ".pushsection __TEXT,__text,regular,pure_instructions" 
            44: module asm ".balign 4" 
check:60'0                           X~ error: no match found
            45: module asm ".globl _method" 
check:60'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~
check:60'1       ?                           possible intended match
            46: module asm "_method:" 
            47: module asm "mov rax, rdi" 
            48: module asm "ret" 
            49: module asm ".popsection" 
            50: module asm "" 
            51: module asm ".att_syntax" 
            52: module asm ".intel_syntax" 
            53: module asm ".pushsection __TEXT,__text,regular,pure_instructions" 
            54: module asm ".balign 4" 
check:80'0                           X~ error: no match found
            55: module asm ".globl _trait_method" 
check:80'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:80'1      ?                                  possible intended match
            56: module asm "_trait_method:" 
            57: module asm "mov rax, rdi" 
            58: module asm "ret" 
            59: module asm ".popsection" 
            60: module asm "" 
            61: module asm ".att_syntax" 
            62: module asm ".intel_syntax" 
            63: module asm ".pushsection __TEXT,__text,regular,pure_instructions" 
            64: module asm ".balign 4" 
check:92'0                           X~ error: no match found
            65: module asm ".globl _naked_with_args_and_return" 
check:92'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:92'1      ?                                                possible intended match
check:107'0                                                   X~ error: no match found
            66: module asm "_naked_with_args_and_return:" 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            67: module asm "lea rax, [rdi + rsi]" 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            68: module asm "ret" 
check:107'0     ~~~~~~~~~~~~~~~~~
            69: module asm ".popsection" 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
            70: module asm "" 
check:107'0     ~~~~~~~~~~~~~~
            71: module asm ".att_syntax" 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
check:107'0     ~
            73: @llvm.compiler.used = appending global [1 x ptr] [ptr @_ZN8generics6Invert6invert17h6934350fe74ba45cE], section "llvm.metadata" 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'1                                       ?                                                                                              possible intended match
check:107'0     ~
check:107'0     ~
            75: ; Function Attrs: nounwind uwtable 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            76: define void @test(i64 noundef %x) unnamed_addr #0 { 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~~~~~~~
            78: ; call generics::using_const_generics 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            79:  %_2 = tail call noundef i64 @_ZN8generics20using_const_generics17h50c397338a193a2aE(i64 noundef %x) #3 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            80: ; call generics::using_const_generics 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            81:  %_3 = tail call noundef i64 @_ZN8generics20using_const_generics17h37e15c75dd9b225dE(i64 noundef %x) #3 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            82: ; call generics::generic_function 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            83:  %_4 = tail call noundef i64 @_ZN8generics16generic_function17h279b2b74c0206449E(i64 noundef %x) #3 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            84:  %_7 = tail call noundef i64 @method(i64 noundef %x) #3 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            85:  %_8 = tail call noundef i64 @trait_method(i64 noundef %x) #3 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            86:  ret void 
check:107'0     ~~~~~~~~~~
            87: } 
check:107'0     ~~
check:107'0     ~
            89: ; generics::using_const_generics 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            90: ; Function Attrs: noinline nounwind uwtable 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            91: declare noundef i64 @_ZN8generics20using_const_generics17h50c397338a193a2aE(i64 noundef) unnamed_addr #1 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
            93: ; generics::using_const_generics 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            94: ; Function Attrs: noinline nounwind uwtable 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            95: declare noundef i64 @_ZN8generics20using_const_generics17h37e15c75dd9b225dE(i64 noundef) unnamed_addr #1 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
            97: ; generics::generic_function 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            98: ; Function Attrs: noinline nounwind uwtable 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            99: declare noundef i64 @_ZN8generics16generic_function17h279b2b74c0206449E(i64 noundef) unnamed_addr #1 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
check:107'0     ~
           101: ; Function Attrs: noinline nounwind uwtable 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           102: declare noundef i64 @method(i64 noundef) unnamed_addr #1 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
check:107'0     ~
           104: ; Function Attrs: noinline nounwind uwtable 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           105: declare noundef i64 @trait_method(i64 noundef) unnamed_addr #1 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
           107: ; generics::Invert::invert 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           108: ; Function Attrs: uwtable 
           108: ; Function Attrs: uwtable 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
           109: declare hidden noundef i64 @_ZN8generics6Invert6invert17h6934350fe74ba45cE(i64 noundef) unnamed_addr #2 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
check:107'0     ~
           111: attributes #0 = { nounwind uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="penryn" } 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           112: attributes #1 = { noinline nounwind uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="penryn" } 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           113: attributes #2 = { uwtable "frame-pointer"="all" "probe-stack"="inline-asm" "target-cpu"="penryn" } 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           114: attributes #3 = { nounwind } 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
check:107'0     ~
           116: !llvm.module.flags = !{!0} 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
           117: !llvm.ident = !{!1} 
check:107'0     ~~~~~~~~~~~~~~~~~~~~
check:107'0     ~
check:107'0     ~
           119: !0 = !{i32 8, !"PIC Level", i32 2} 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           120: !1 = !{!"rustc version 1.85.0-nightly (019529536 2024-12-09)"} 
check:107'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------------------



@bors
Copy link
Contributor

bors commented Dec 9, 2024

💔 Test failed - checks-actions

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Dec 9, 2024
@folkertdev
Copy link
Contributor

failed because #128004

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc rollup A PR which is a rollup 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) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. 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.

10 participants