From e6aa7694906f7177023a2dd5c43445b7091135dd Mon Sep 17 00:00:00 2001 From: Sa4dUs Date: Tue, 23 Jun 2026 20:16:52 +0200 Subject: [PATCH] change tests according to the generated ir --- tests/codegen-llvm/autodiff/abi_handling.rs | 4 ++-- tests/codegen-llvm/autodiff/batched.rs | 15 +++++++++------ tests/codegen-llvm/autodiff/generic.rs | 3 ++- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/tests/codegen-llvm/autodiff/abi_handling.rs b/tests/codegen-llvm/autodiff/abi_handling.rs index a8bc482fc293f..233c0a63add1a 100644 --- a/tests/codegen-llvm/autodiff/abi_handling.rs +++ b/tests/codegen-llvm/autodiff/abi_handling.rs @@ -58,7 +58,7 @@ fn f1(x: &[f32; 2]) -> f32 { // CHECK-NEXT: Function Attrs // debug-NEXT: define internal { float, float } // debug-SAME: (ptr %f, float %x, float %dret) -// release-NEXT: define internal fastcc noundef float +// release-NEXT: define internal fastcc float // release-SAME: (float noundef %x) // CHECK-LABEL: ; abi_handling::f2 @@ -77,7 +77,7 @@ fn f2(f: fn(f32) -> f32, x: f32) -> f32 { // CHECK-NEXT: Function Attrs // debug-NEXT: define internal { float, float } // debug-SAME: (ptr align 4 %x, ptr align 4 %bx_0, ptr align 4 %y, ptr align 4 %by_0) -// release-NEXT: define internal fastcc float +// release-NEXT: define internal fastcc { float, float } // release-SAME: (float %x.0.val) // CHECK-LABEL: ; abi_handling::f3 diff --git a/tests/codegen-llvm/autodiff/batched.rs b/tests/codegen-llvm/autodiff/batched.rs index 5a723ff041839..8f35ca51427c8 100644 --- a/tests/codegen-llvm/autodiff/batched.rs +++ b/tests/codegen-llvm/autodiff/batched.rs @@ -21,18 +21,21 @@ fn square(x: &f32) -> f32 { } // The base ("scalar") case d_square3, without batching. -// CHECK: define internal fastcc float @fwddiffesquare(float %x.0.val, float %"x'.0.val") -// CHECK: %0 = fadd fast float %"x'.0.val", %"x'.0.val" -// CHECK-NEXT: %1 = fmul fast float %0, %x.0.val -// CHECK-NEXT: ret float %1 +// CHECK: define internal float @fwddiffesquare(ptr {{.*}} %x, ptr {{.*}} %"x'") +// CHECK: %"_2'ipl" = load float, ptr %"x'", align 4 +// CHECK-NEXT: %_2 = load float, ptr %x, align 4 +// CHECK-NEXT: %0 = fmul fast float %"_2'ipl", %_2 +// CHECK-NEXT: %1 = fmul fast float %"_2'ipl", %_2 +// CHECK-NEXT: %2 = fadd fast float %0, %1 +// CHECK-NEXT: ret float %2 // CHECK-NEXT: } // d_square2 -// CHECK: define internal fastcc [4 x float] @fwddiffe4square(float %x.0.val, [4 x ptr] %"x'") +// CHECK: define internal [4 x float] @fwddiffe4square(ptr {{.*}} %x, [4 x ptr] %"x'") // CHECK: ret [4 x float] // CHECK-NEXT: } -// CHECK: define internal fastcc { float, [4 x float] } @fwddiffe4square.{{.*}}(float %x.0.val, [4 x ptr] %"x'") +// CHECK: define internal { float, [4 x float] } @fwddiffe4square.{{.*}}(ptr {{.*}} %x, [4 x ptr] %"x'") // CHECK: ret { float, [4 x float] } // CHECK-NEXT: } diff --git a/tests/codegen-llvm/autodiff/generic.rs b/tests/codegen-llvm/autodiff/generic.rs index b31468c91c9c2..791300399b86a 100644 --- a/tests/codegen-llvm/autodiff/generic.rs +++ b/tests/codegen-llvm/autodiff/generic.rs @@ -34,7 +34,8 @@ fn square + Copy>(x: &T) -> T { // F64-NEXT: ; Function Attrs: {{.*}} // F64-NEXT: define internal {{.*}} void // F64-NEXT: start: -// F64-NEXT: {{(tail )?}}call {{(fastcc )?}}void @diffe_{{.*}}(double {{.*}}, ptr {{.*}}) +// F64-NEXT: {{(tail )?}}call {{(fast )?}}{ double } @diffe_{{.*}}(ptr {{.*}}, ptr {{.*}}, double {{.*}}) +// F64-NEXT: %1 = extractvalue { double } %0, 0 // F64-NEXT: ret void // Main-LABEL: ; generic::main