Skip to content

LLVM 21: issue-114312.rs fails after llvm-project@36f0838a3dd1 #137799

Closed
@durin42

Description

@durin42

Starting with llvm/llvm-project@36f0838 tests/codegen/issues/issue-114312.rs fails thus:

---- [codegen] tests/codegen/issues/issue-114312.rs stdout ----

error: verification with 'FileCheck' failed
status: exit status: 1
command: "/tmp/rust/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--input-file" "/tmp/rust/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-114312/issue-114312.ll" "/tmp/rust/tests/codegen/issues/issue-114312.rs" "--check-prefix=CHECK" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/tmp/rust/tests/codegen/issues/issue-114312.rs:18:16: error: CHECK-NOT: excluded string found in input
 // CHECK-NOT: readonly
               ^
/tmp/rust/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-114312/issue-114312.ll:7:47: note: found here
define void @issue_114312(ptr noalias noundef readonly byval([24 x i8]) align 8 captures(none) dereferenceable(24) %expr) unnamed_addr #0 {
                                              ^~~~~~~~

Input file: /tmp/rust/build/x86_64-unknown-linux-gnu/test/codegen/issues/issue-114312/issue-114312.ll
Check file: /tmp/rust/tests/codegen/issues/issue-114312.rs

-dump-input=help explains the following input dump.

Input was:
<<<<<<
        1: ; ModuleID = 'issue_114312.979b24920b4087eb-cgu.0'
        2: source_filename = "issue_114312.979b24920b4087eb-cgu.0"
        3: target datalayout = "e-m:e-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-unknown-linux-gnu"
        5:
        6: ; Function Attrs: mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: read) uwtable
        7: define void @issue_114312(ptr noalias noundef readonly byval([24 x i8]) align 8 captures(none) dereferenceable(24) %expr) unnamed_addr #0 {
not:18                                                   !~~~~~~~                                                                                       error: no match expected
        8: start:
        9:  ret void
       10: }
       11:
       12: attributes #0 = { mustprogress nofree norecurse nosync nounwind nonlazybind willreturn memory(argmem: read) uwtable "probe-stack"="inline-asm" "target-cpu"="x86-64" }
       13:
       14: !llvm.module.flags = !{!0, !1}
       15: !llvm.ident = !{!2}
       16:
       17: !0 = !{i32 8, !"PIC Level", i32 2}
       18: !1 = !{i32 2, !"RtLibUseGOT", i32 1}
       19: !2 = !{!"rustc version 1.87.0-dev"}
>>>>>>
------------------------------------------

Given that the test is explicitly looking for the lack of readonly it seems like this must be a bug in LLVM? But I'm filing this bug so we can keep track of this and make sure our CI stays green.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.A-testsuiteArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions