Skip to content

Conversation

@klensy
Copy link
Contributor

@klensy klensy commented Nov 10, 2025

Fixes few filecheck annotation typos in tests.

@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. labels Nov 10, 2025
@rustbot
Copy link
Collaborator

rustbot commented Nov 10, 2025

r? @Mark-Simulacrum

rustbot has assigned @Mark-Simulacrum.
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

@rust-log-analyzer

This comment has been minimized.

@klensy
Copy link
Contributor Author

klensy commented Nov 10, 2025

error: PRs changing the `nightly` channel should be sent to the `master` branch! this was changed to main, isn't it?

@lcnr
Copy link
Contributor

lcnr commented Nov 10, 2025

CI will be fixed in #148564

@rustbot
Copy link
Collaborator

rustbot commented Nov 10, 2025

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@rust-log-analyzer
Copy link
Collaborator

The job aarch64-gnu-llvm-20-1 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
------FileCheck stderr------------------------------
/checkout/tests/codegen-llvm/deduced-param-attrs.rs:103:16: error: CHECK-NEXT: is not on the line after the previous match
// CHECK-NEXT: %a)
               ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll:97:122: note: 'next' match was here
define void @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs16raw_const_borrow(ptr noalias noundef align 4 dereferenceable(4096) %a) unnamed_addr #1 {
                                                                                                                         ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll:95:40: note: previous match ended here
; deduced_param_attrs::raw_const_borrow
                                       ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll:96:1: note: non-matching line after previous match is here
; Function Attrs: noinline nounwind uwtable
^

Input file: /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll
Check file: /checkout/tests/codegen-llvm/deduced-param-attrs.rs

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

Input was:
<<<<<<
          1: ; ModuleID = 'deduced_param_attrs.e5e10a062a5af667-cgu.0' 
          2: source_filename = "deduced_param_attrs.e5e10a062a5af667-cgu.0" 
          3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" 
          4: target triple = "aarch64-unknown-linux-gnu" 
          5:  
          6: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2A0 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13shared_borrowNtB2_3BigEB2_, align 8 
          7: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2A1 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13shared_borrowNtB2_7BigCellEB2_, align 8 
          8: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2B0 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs7consumeNtB2_7BigCellEB2_, align 8 
          9: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2B1 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs7consumeNtB2_7BigDropEB2_, align 8 
         10: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2C1 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13consume_partsAhj28_EB2_, align 8 
         11:  
         12: ; core::ptr::drop_in_place::<deduced_param_attrs::BigDrop> 
         13: ; Function Attrs: nounwind uwtable 
         14: define internal void @_RINvNtCse25XxLgxre0_4core3ptr13drop_in_placeNtCsjJDJnE9cmQ5_19deduced_param_attrs7BigDropEBI_(ptr noalias noundef align 1 dereferenceable(1024) %_1) unnamed_addr #0 { 
         15: start: 
         16: ; call <deduced_param_attrs::BigDrop as core::ops::drop::Drop>::drop 
         17:  call void @_RNvXCsjJDJnE9cmQ5_19deduced_param_attrsNtB2_7BigDropNtNtNtCse25XxLgxre0_4core3ops4drop4Drop4drop(ptr noalias noundef align 1 dereferenceable(1024) %_1) #5 
         18:  ret void 
         19: } 
         20:  
         21: ; <deduced_param_attrs::BigDrop as core::ops::drop::Drop>::drop 
         22: ; Function Attrs: noinline nounwind uwtable 
         23: define void @_RNvXCsjJDJnE9cmQ5_19deduced_param_attrsNtB2_7BigDropNtNtNtCse25XxLgxre0_4core3ops4drop4Drop4drop(ptr noalias noundef align 1 dereferenceable(1024) %self) unnamed_addr #1 { 
         24: start: 
         25:  ret void 
         26: } 
         27:  
         28: ; Function Attrs: nounwind uwtable 
         29: define void @mutate(ptr noalias noundef align 4 dereferenceable(4096) %b) unnamed_addr #0 { 
         30: start: 
         31:  %0 = alloca [8 x i8], align 8 
         32:  %1 = getelementptr inbounds nuw i32, ptr %b, i64 987 
         33:  store i32 654, ptr %1, align 4 
         34:  call void @llvm.lifetime.start.p0(i64 8, ptr %0) 
         35:  store ptr %b, ptr %0, align 8 
         36:  call void asm sideeffect "", "r,~{memory}"(ptr %0), !srcloc !2 
         37:  %_2 = load ptr, ptr %0, align 8, !nonnull !3, !align !4, !noundef !3 
         38:  call void @llvm.lifetime.end.p0(i64 8, ptr %0) 
         39:  ret void 
         40: } 
         41:  
         42: ; Function Attrs: nounwind uwtable 
         43: define void @deref_mut(ptr noalias noundef readonly align 8 dereferenceable(4104) %c) unnamed_addr #0 { 
         44: start: 
         45:  %0 = getelementptr inbounds i8, ptr %c, i64 4096 
         46:  %_2 = load ptr, ptr %0, align 8, !nonnull !3, !align !5, !noundef !3 
         47:  store i64 42, ptr %_2, align 8 
         48:  ret void 
         49: } 
         50:  
         51: ; Function Attrs: nounwind uwtable 
         52: define void @call_copy_arg(ptr noalias noundef readonly align 4 dereferenceable(4096) %_1) unnamed_addr #0 { 
         53: start: 
         54:  %0 = alloca [4096 x i8], align 4 
         55:  call void @llvm.lifetime.start.p0(i64 4096, ptr %0) 
         56:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 %_1, i64 4096, i1 false) 
         57:  call void @call_copy_arg(ptr noalias noundef readonly align 4 dereferenceable(4096) %0) #5 
         58:  call void @llvm.lifetime.end.p0(i64 4096, ptr %0) 
         59:  ret void 
         60: } 
         61:  
         62: ; Function Attrs: nounwind uwtable 
         63: define void @call_move_arg(ptr noalias noundef align 4 dereferenceable(4096) %_1) unnamed_addr #0 { 
         64: start: 
         65:  call void @call_move_arg(ptr noalias noundef align 4 dereferenceable(4096) %_1) #5 
         66:  ret void 
         67: } 
         68:  
         69: ; deduced_param_attrs::shared_borrow::<deduced_param_attrs::Big> 
         70: ; Function Attrs: nounwind uwtable 
         71: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13shared_borrowNtB2_3BigEB2_(ptr noalias noundef readonly align 4 dereferenceable(4096) %a) unnamed_addr #0 { 
         72: start: 
         73:  %0 = alloca [8 x i8], align 8 
         74:  call void @llvm.lifetime.start.p0(i64 8, ptr %0) 
         75:  store ptr %a, ptr %0, align 8 
         76:  call void asm sideeffect "", "r,~{memory}"(ptr %0), !srcloc !2 
         77:  %_2 = load ptr, ptr %0, align 8, !nonnull !3, !align !4, !noundef !3 
         78:  call void @llvm.lifetime.end.p0(i64 8, ptr %0) 
         79:  ret void 
         80: } 
         81:  
         82: ; deduced_param_attrs::shared_borrow::<deduced_param_attrs::BigCell> 
         83: ; Function Attrs: nounwind uwtable 
         84: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13shared_borrowNtB2_7BigCellEB2_(ptr noalias noundef align 4 dereferenceable(4096) %a) unnamed_addr #0 { 
         85: start: 
         86:  %0 = alloca [8 x i8], align 8 
         87:  call void @llvm.lifetime.start.p0(i64 8, ptr %0) 
         88:  store ptr %a, ptr %0, align 8 
         89:  call void asm sideeffect "", "r,~{memory}"(ptr %0), !srcloc !2 
         90:  %_2 = load ptr, ptr %0, align 8, !nonnull !3, !align !4, !noundef !3 
         91:  call void @llvm.lifetime.end.p0(i64 8, ptr %0) 
         92:  ret void 
         93: } 
         94:  
         95: ; deduced_param_attrs::raw_const_borrow 
         96: ; Function Attrs: noinline nounwind uwtable 
         97: define void @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs16raw_const_borrow(ptr noalias noundef align 4 dereferenceable(4096) %a) unnamed_addr #1 { 
next:103                                                                                                                              !~~                    error: match on wrong line
         98: start: 
         99:  %0 = alloca [8 x i8], align 8 
        100:  call void @llvm.lifetime.start.p0(i64 8, ptr %0) 
        101:  store ptr %a, ptr %0, align 8 
        102:  call void asm sideeffect "", "r,~{memory}"(ptr %0), !srcloc !2 
        103:  %_2 = load ptr, ptr %0, align 8, !noundef !3 
        104:  call void @llvm.lifetime.end.p0(i64 8, ptr %0) 
        105:  ret void 
        106: } 
        107:  
        108: ; deduced_param_attrs::consume::<deduced_param_attrs::BigCell> 
        109: ; Function Attrs: nounwind uwtable 
        110: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs7consumeNtB2_7BigCellEB2_(ptr noalias noundef readonly align 4 dereferenceable(4096) %_1) unnamed_addr #0 { 
        111: start: 
        112:  ret void 
        113: } 
        114:  
        115: ; deduced_param_attrs::consume::<deduced_param_attrs::BigDrop> 
        116: ; Function Attrs: nounwind uwtable 
        117: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs7consumeNtB2_7BigDropEB2_(ptr noalias noundef align 1 dereferenceable(1024) %_1) unnamed_addr #0 { 
        118: start: 
        119: ; call core::ptr::drop_in_place::<deduced_param_attrs::BigDrop> 
        120:  call void @_RINvNtCse25XxLgxre0_4core3ptr13drop_in_placeNtCsjJDJnE9cmQ5_19deduced_param_attrs7BigDropEBI_(ptr noalias noundef align 1 dereferenceable(1024) %_1) #5 
        121:  ret void 
        122: } 
        123:  
        124: ; deduced_param_attrs::consume_parts::<[u8; 40]> 
        125: ; Function Attrs: nounwind uwtable 
        126: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13consume_partsAhj28_EB2_(ptr noalias noundef align 1 dereferenceable(80) %t) unnamed_addr #0 { 
        127: start: 
        128:  %_t0 = alloca [40 x i8], align 1 
        129:  call void @llvm.lifetime.start.p0(i64 40, ptr %_t0) 
        130:  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %_t0, ptr align 1 %t, i64 40, i1 false) 
        131:  call void @llvm.lifetime.end.p0(i64 40, ptr %_t0) 
        132:  ret void 
        133: } 
        134:  
        135: ; Function Attrs: nounwind uwtable 
        136: define void @manually_drop_field(ptr noundef nonnull %a, ptr noalias noundef align 1 dereferenceable(1024) %b) unnamed_addr #0 { 
        137: start: 
        138:  %_3 = alloca [1024 x i8], align 1 
        139:  call void @llvm.lifetime.start.p0(i64 1024, ptr %_3) 
        140:  call void %a(ptr noalias noundef sret([1024 x i8]) align 1 dereferenceable(1024) %_3) #5 
        141: ; call core::ptr::drop_in_place::<deduced_param_attrs::BigDrop> 
        142:  call void @_RINvNtCse25XxLgxre0_4core3ptr13drop_in_placeNtCsjJDJnE9cmQ5_19deduced_param_attrs7BigDropEBI_(ptr noalias noundef align 1 dereferenceable(1024) %b) #5 
        143:  unreachable 
        144: } 
        145:  
        146: ; Function Attrs: nounwind uwtable 
        147: define void @never_returns(ptr dead_on_unwind noalias noundef writable sret([80 x i8]) align 1 dereferenceable(80) %_0) unnamed_addr #0 { 
        148: start: 
        149:  br label %bb1 
        150:  
        151: bb1: ; preds = %bb1, %start 
        152:  br label %bb1 
        153: } 
        154:  
        155: ; Function Attrs: nounwind uwtable 
        156: define void @not_captured_return_place(ptr dead_on_unwind noalias noundef writable sret([80 x i8]) align 1 dereferenceable(80) %_0) unnamed_addr #0 { 
        157: start: 
        158:  call void @llvm.memset.p0.i64(ptr align 1 %_0, i8 0, i64 80, i1 false) 
        159:  ret void 
        160: } 
        161:  
        162: ; Function Attrs: nounwind uwtable 
        163: define void @captured_return_place(ptr dead_on_unwind noalias noundef writable sret([80 x i8]) align 1 dereferenceable(80) %_0) unnamed_addr #0 { 
        164: start: 
        165:  %_1 = alloca [80 x i8], align 1 
        166:  call void @llvm.lifetime.start.p0(i64 80, ptr %_1) 
        167:  call void @llvm.memset.p0.i64(ptr align 1 %_1, i8 0, i64 80, i1 false) 
        168:  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %_0, ptr align 1 %_1, i64 80, i1 false) 
        169:  call void asm sideeffect "", "r,~{memory}"(ptr %_0), !srcloc !2 
        170:  call void @llvm.lifetime.end.p0(i64 80, ptr %_1) 
        171:  ret void 
        172: } 
        173:  
        174: ; Function Attrs: nounwind uwtable 
        175: define void @spread_arg(ptr noalias noundef align 4 dereferenceable(4096) %0, ptr noalias noundef align 4 dereferenceable(4096) %1, ptr noalias noundef align 4 dereferenceable(4096) %2) unnamed_addr #0 { 
        176: start: 
        177:  %_1 = alloca [12288 x i8], align 4 
        178:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_1, ptr align 4 %0, i64 4096, i1 false) 
        179:  %3 = getelementptr inbounds i8, ptr %_1, i64 4096 
        180:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %3, ptr align 4 %1, i64 4096, i1 false) 
        181:  %4 = getelementptr inbounds i8, ptr %_1, i64 8192 
        182:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %2, i64 4096, i1 false) 
        183:  ret void 
        184: } 
        185:  
        186: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
        187: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #2 
        188:  
        189: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
        190: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #2 
        191:  
        192: ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) 
        193: declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #3 
        194:  
        195: ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) 
        196: declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #4 
        197:  
          .
          .
          .
>>>>>>

------------------------------------------

error in revision `LLVM20`: verification with 'FileCheck' failed
status: exit status: 1
command: "/usr/lib/llvm-20/bin/FileCheck" "--input-file" "/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll" "/checkout/tests/codegen-llvm/deduced-param-attrs.rs" "--check-prefix=CHECK" "--check-prefix" "LLVM20" "--allow-unused-prefixes" "--dump-input-context" "100"
stdout: none
--- stderr -------------------------------
/checkout/tests/codegen-llvm/deduced-param-attrs.rs:103:16: error: CHECK-NEXT: is not on the line after the previous match
// CHECK-NEXT: %a)
               ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll:97:122: note: 'next' match was here
define void @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs16raw_const_borrow(ptr noalias noundef align 4 dereferenceable(4096) %a) unnamed_addr #1 {
                                                                                                                         ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll:95:40: note: previous match ended here
; deduced_param_attrs::raw_const_borrow
                                       ^
/checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll:96:1: note: non-matching line after previous match is here
; Function Attrs: noinline nounwind uwtable
^

Input file: /checkout/obj/build/aarch64-unknown-linux-gnu/test/codegen-llvm/deduced-param-attrs.LLVM20/deduced-param-attrs.ll
Check file: /checkout/tests/codegen-llvm/deduced-param-attrs.rs

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

Input was:
<<<<<<
          1: ; ModuleID = 'deduced_param_attrs.e5e10a062a5af667-cgu.0' 
          2: source_filename = "deduced_param_attrs.e5e10a062a5af667-cgu.0" 
          3: target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" 
          4: target triple = "aarch64-unknown-linux-gnu" 
          5:  
          6: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2A0 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13shared_borrowNtB2_3BigEB2_, align 8 
          7: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2A1 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13shared_borrowNtB2_7BigCellEB2_, align 8 
          8: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2B0 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs7consumeNtB2_7BigCellEB2_, align 8 
          9: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2B1 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs7consumeNtB2_7BigDropEB2_, align 8 
         10: @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs2C1 = constant ptr @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13consume_partsAhj28_EB2_, align 8 
         11:  
         12: ; core::ptr::drop_in_place::<deduced_param_attrs::BigDrop> 
         13: ; Function Attrs: nounwind uwtable 
         14: define internal void @_RINvNtCse25XxLgxre0_4core3ptr13drop_in_placeNtCsjJDJnE9cmQ5_19deduced_param_attrs7BigDropEBI_(ptr noalias noundef align 1 dereferenceable(1024) %_1) unnamed_addr #0 { 
         15: start: 
         16: ; call <deduced_param_attrs::BigDrop as core::ops::drop::Drop>::drop 
         17:  call void @_RNvXCsjJDJnE9cmQ5_19deduced_param_attrsNtB2_7BigDropNtNtNtCse25XxLgxre0_4core3ops4drop4Drop4drop(ptr noalias noundef align 1 dereferenceable(1024) %_1) #5 
         18:  ret void 
         19: } 
         20:  
         21: ; <deduced_param_attrs::BigDrop as core::ops::drop::Drop>::drop 
         22: ; Function Attrs: noinline nounwind uwtable 
         23: define void @_RNvXCsjJDJnE9cmQ5_19deduced_param_attrsNtB2_7BigDropNtNtNtCse25XxLgxre0_4core3ops4drop4Drop4drop(ptr noalias noundef align 1 dereferenceable(1024) %self) unnamed_addr #1 { 
         24: start: 
         25:  ret void 
         26: } 
         27:  
         28: ; Function Attrs: nounwind uwtable 
         29: define void @mutate(ptr noalias noundef align 4 dereferenceable(4096) %b) unnamed_addr #0 { 
         30: start: 
         31:  %0 = alloca [8 x i8], align 8 
         32:  %1 = getelementptr inbounds nuw i32, ptr %b, i64 987 
         33:  store i32 654, ptr %1, align 4 
         34:  call void @llvm.lifetime.start.p0(i64 8, ptr %0) 
         35:  store ptr %b, ptr %0, align 8 
         36:  call void asm sideeffect "", "r,~{memory}"(ptr %0), !srcloc !2 
         37:  %_2 = load ptr, ptr %0, align 8, !nonnull !3, !align !4, !noundef !3 
         38:  call void @llvm.lifetime.end.p0(i64 8, ptr %0) 
         39:  ret void 
         40: } 
         41:  
         42: ; Function Attrs: nounwind uwtable 
         43: define void @deref_mut(ptr noalias noundef readonly align 8 dereferenceable(4104) %c) unnamed_addr #0 { 
         44: start: 
         45:  %0 = getelementptr inbounds i8, ptr %c, i64 4096 
         46:  %_2 = load ptr, ptr %0, align 8, !nonnull !3, !align !5, !noundef !3 
         47:  store i64 42, ptr %_2, align 8 
         48:  ret void 
         49: } 
         50:  
         51: ; Function Attrs: nounwind uwtable 
         52: define void @call_copy_arg(ptr noalias noundef readonly align 4 dereferenceable(4096) %_1) unnamed_addr #0 { 
         53: start: 
         54:  %0 = alloca [4096 x i8], align 4 
         55:  call void @llvm.lifetime.start.p0(i64 4096, ptr %0) 
         56:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %0, ptr align 4 %_1, i64 4096, i1 false) 
         57:  call void @call_copy_arg(ptr noalias noundef readonly align 4 dereferenceable(4096) %0) #5 
         58:  call void @llvm.lifetime.end.p0(i64 4096, ptr %0) 
         59:  ret void 
         60: } 
         61:  
         62: ; Function Attrs: nounwind uwtable 
         63: define void @call_move_arg(ptr noalias noundef align 4 dereferenceable(4096) %_1) unnamed_addr #0 { 
         64: start: 
         65:  call void @call_move_arg(ptr noalias noundef align 4 dereferenceable(4096) %_1) #5 
         66:  ret void 
         67: } 
         68:  
         69: ; deduced_param_attrs::shared_borrow::<deduced_param_attrs::Big> 
         70: ; Function Attrs: nounwind uwtable 
         71: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13shared_borrowNtB2_3BigEB2_(ptr noalias noundef readonly align 4 dereferenceable(4096) %a) unnamed_addr #0 { 
         72: start: 
         73:  %0 = alloca [8 x i8], align 8 
         74:  call void @llvm.lifetime.start.p0(i64 8, ptr %0) 
         75:  store ptr %a, ptr %0, align 8 
         76:  call void asm sideeffect "", "r,~{memory}"(ptr %0), !srcloc !2 
         77:  %_2 = load ptr, ptr %0, align 8, !nonnull !3, !align !4, !noundef !3 
         78:  call void @llvm.lifetime.end.p0(i64 8, ptr %0) 
         79:  ret void 
         80: } 
         81:  
         82: ; deduced_param_attrs::shared_borrow::<deduced_param_attrs::BigCell> 
         83: ; Function Attrs: nounwind uwtable 
         84: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13shared_borrowNtB2_7BigCellEB2_(ptr noalias noundef align 4 dereferenceable(4096) %a) unnamed_addr #0 { 
         85: start: 
         86:  %0 = alloca [8 x i8], align 8 
         87:  call void @llvm.lifetime.start.p0(i64 8, ptr %0) 
         88:  store ptr %a, ptr %0, align 8 
         89:  call void asm sideeffect "", "r,~{memory}"(ptr %0), !srcloc !2 
         90:  %_2 = load ptr, ptr %0, align 8, !nonnull !3, !align !4, !noundef !3 
         91:  call void @llvm.lifetime.end.p0(i64 8, ptr %0) 
         92:  ret void 
         93: } 
         94:  
         95: ; deduced_param_attrs::raw_const_borrow 
         96: ; Function Attrs: noinline nounwind uwtable 
         97: define void @_RNvCsjJDJnE9cmQ5_19deduced_param_attrs16raw_const_borrow(ptr noalias noundef align 4 dereferenceable(4096) %a) unnamed_addr #1 { 
next:103                                                                                                                              !~~                    error: match on wrong line
         98: start: 
         99:  %0 = alloca [8 x i8], align 8 
        100:  call void @llvm.lifetime.start.p0(i64 8, ptr %0) 
        101:  store ptr %a, ptr %0, align 8 
        102:  call void asm sideeffect "", "r,~{memory}"(ptr %0), !srcloc !2 
        103:  %_2 = load ptr, ptr %0, align 8, !noundef !3 
        104:  call void @llvm.lifetime.end.p0(i64 8, ptr %0) 
        105:  ret void 
        106: } 
        107:  
        108: ; deduced_param_attrs::consume::<deduced_param_attrs::BigCell> 
        109: ; Function Attrs: nounwind uwtable 
        110: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs7consumeNtB2_7BigCellEB2_(ptr noalias noundef readonly align 4 dereferenceable(4096) %_1) unnamed_addr #0 { 
        111: start: 
        112:  ret void 
        113: } 
        114:  
        115: ; deduced_param_attrs::consume::<deduced_param_attrs::BigDrop> 
        116: ; Function Attrs: nounwind uwtable 
        117: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs7consumeNtB2_7BigDropEB2_(ptr noalias noundef align 1 dereferenceable(1024) %_1) unnamed_addr #0 { 
        118: start: 
        119: ; call core::ptr::drop_in_place::<deduced_param_attrs::BigDrop> 
        120:  call void @_RINvNtCse25XxLgxre0_4core3ptr13drop_in_placeNtCsjJDJnE9cmQ5_19deduced_param_attrs7BigDropEBI_(ptr noalias noundef align 1 dereferenceable(1024) %_1) #5 
        121:  ret void 
        122: } 
        123:  
        124: ; deduced_param_attrs::consume_parts::<[u8; 40]> 
        125: ; Function Attrs: nounwind uwtable 
        126: define internal void @_RINvCsjJDJnE9cmQ5_19deduced_param_attrs13consume_partsAhj28_EB2_(ptr noalias noundef align 1 dereferenceable(80) %t) unnamed_addr #0 { 
        127: start: 
        128:  %_t0 = alloca [40 x i8], align 1 
        129:  call void @llvm.lifetime.start.p0(i64 40, ptr %_t0) 
        130:  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %_t0, ptr align 1 %t, i64 40, i1 false) 
        131:  call void @llvm.lifetime.end.p0(i64 40, ptr %_t0) 
        132:  ret void 
        133: } 
        134:  
        135: ; Function Attrs: nounwind uwtable 
        136: define void @manually_drop_field(ptr noundef nonnull %a, ptr noalias noundef align 1 dereferenceable(1024) %b) unnamed_addr #0 { 
        137: start: 
        138:  %_3 = alloca [1024 x i8], align 1 
        139:  call void @llvm.lifetime.start.p0(i64 1024, ptr %_3) 
        140:  call void %a(ptr noalias noundef sret([1024 x i8]) align 1 dereferenceable(1024) %_3) #5 
        141: ; call core::ptr::drop_in_place::<deduced_param_attrs::BigDrop> 
        142:  call void @_RINvNtCse25XxLgxre0_4core3ptr13drop_in_placeNtCsjJDJnE9cmQ5_19deduced_param_attrs7BigDropEBI_(ptr noalias noundef align 1 dereferenceable(1024) %b) #5 
        143:  unreachable 
        144: } 
        145:  
        146: ; Function Attrs: nounwind uwtable 
        147: define void @never_returns(ptr dead_on_unwind noalias noundef writable sret([80 x i8]) align 1 dereferenceable(80) %_0) unnamed_addr #0 { 
        148: start: 
        149:  br label %bb1 
        150:  
        151: bb1: ; preds = %bb1, %start 
        152:  br label %bb1 
        153: } 
        154:  
        155: ; Function Attrs: nounwind uwtable 
        156: define void @not_captured_return_place(ptr dead_on_unwind noalias noundef writable sret([80 x i8]) align 1 dereferenceable(80) %_0) unnamed_addr #0 { 
        157: start: 
        158:  call void @llvm.memset.p0.i64(ptr align 1 %_0, i8 0, i64 80, i1 false) 
        159:  ret void 
        160: } 
        161:  
        162: ; Function Attrs: nounwind uwtable 
        163: define void @captured_return_place(ptr dead_on_unwind noalias noundef writable sret([80 x i8]) align 1 dereferenceable(80) %_0) unnamed_addr #0 { 
        164: start: 
        165:  %_1 = alloca [80 x i8], align 1 
        166:  call void @llvm.lifetime.start.p0(i64 80, ptr %_1) 
        167:  call void @llvm.memset.p0.i64(ptr align 1 %_1, i8 0, i64 80, i1 false) 
        168:  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %_0, ptr align 1 %_1, i64 80, i1 false) 
        169:  call void asm sideeffect "", "r,~{memory}"(ptr %_0), !srcloc !2 
        170:  call void @llvm.lifetime.end.p0(i64 80, ptr %_1) 
        171:  ret void 
        172: } 
        173:  
        174: ; Function Attrs: nounwind uwtable 
        175: define void @spread_arg(ptr noalias noundef align 4 dereferenceable(4096) %0, ptr noalias noundef align 4 dereferenceable(4096) %1, ptr noalias noundef align 4 dereferenceable(4096) %2) unnamed_addr #0 { 
        176: start: 
        177:  %_1 = alloca [12288 x i8], align 4 
        178:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %_1, ptr align 4 %0, i64 4096, i1 false) 
        179:  %3 = getelementptr inbounds i8, ptr %_1, i64 4096 
        180:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %3, ptr align 4 %1, i64 4096, i1 false) 
        181:  %4 = getelementptr inbounds i8, ptr %_1, i64 8192 
        182:  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %4, ptr align 4 %2, i64 4096, i1 false) 
        183:  ret void 
        184: } 
        185:  
        186: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
        187: declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #2 
        188:  
        189: ; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) 
        190: declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #2 
        191:  
        192: ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) 
        193: declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #3 
        194:  
        195: ; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) 
        196: declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #4 
        197:  
          .
          .
          .
>>>>>>

@klensy
Copy link
Contributor Author

klensy commented Nov 10, 2025

@tmiasko in #147890 tests/codegen-llvm/deduced-param-attrs.rs was changed but filecheck annotation was added with typo, now with fixed annotation test didn't pass.

Comment on lines 101 to 102
// CHECK-LABEL: ; deduced_param_attrs::raw_const_borrow
// CHECK-NOT: readonly
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for catching this. I think there should also be an extra check like in other tests, so that match is on the expected line:

Suggested change
// CHECK-LABEL: ; deduced_param_attrs::raw_const_borrow
// CHECK-NOT: readonly
// CHECK-LABEL: ; deduced_param_attrs::raw_const_borrow
// CHECK-NEXT: ;
// CHECK-NOT: readonly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

6 participants