Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / AArch64 / sme-lazy-save-call-remarks.ll
blob6762a768fd5bd416d2207a4b199de273130ade9f
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -mtriple=aarch64 -mattr=+sme --pass-remarks-analysis=sme -o /dev/null < %s 2>&1 | FileCheck %s
4 declare void @private_za_callee()
5 declare void @private_za_preserved_callee() "aarch64_pstate_za_preserved"
6 declare float @llvm.cos.f32(float)
8 define void @test_lazy_save_1_callee() nounwind "aarch64_pstate_za_shared" {
9 ; CHECK: remark: <unknown>:0:0: call from 'test_lazy_save_1_callee' to 'private_za_callee' sets up a lazy save for ZA, and we request that all slices be saved
10   call void @private_za_callee()
11   ret void
14 define void @test_lazy_save_2_callees() nounwind "aarch64_pstate_za_shared" {
15 ; CHECK: remark: <unknown>:0:0: call from 'test_lazy_save_2_callees' to 'private_za_callee' sets up a lazy save for ZA, and we request that all slices be saved
16   call void @private_za_callee()
17 ; CHECK: remark: <unknown>:0:0: call from 'test_lazy_save_2_callees' to 'private_za_callee' sets up a lazy save for ZA, and we request that all slices be saved
18   call void @private_za_callee()
19   ret void
22 define void @test_lazy_save_preserved_callee() nounwind "aarch64_pstate_za_shared" {
23 ; CHECK: remark: <unknown>:0:0: call from 'test_lazy_save_preserved_callee' to 'private_za_preserved_callee' sets up a lazy save for ZA, but callee preserves ZA, so we request 0 slices to be saved
24   call void @private_za_preserved_callee()
25   ret void
28 define float @test_lazy_save_expanded_intrinsic(float %a) nounwind "aarch64_pstate_za_shared" {
29 ; CHECK: remark: <unknown>:0:0: call from 'test_lazy_save_expanded_intrinsic' to 'cosf' sets up a lazy save for ZA, and we request that all slices be saved
30   %res = call float @llvm.cos.f32(float %a)
31   ret float %res