Closed
Description
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.