xref: /aosp_15_r20/external/llvm/test/Transforms/PlaceSafepoints/memset.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -S -place-safepoints | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine void @test(i32, i8 addrspace(1)* %ptr) gc "statepoint-example" {
4*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: @test
5*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: llvm.memset
6*9880d681SAndroid Build Coastguard Worker; CHECK: do_safepoint
7*9880d681SAndroid Build Coastguard Worker; CHECK: @foo
8*9880d681SAndroid Build Coastguard Worker  call void @llvm.memset.p1i8.i64(i8 addrspace(1)* %ptr, i8 0, i64 24, i32 8, i1 false)
9*9880d681SAndroid Build Coastguard Worker  call void @foo()
10*9880d681SAndroid Build Coastguard Worker  ret void
11*9880d681SAndroid Build Coastguard Worker}
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerdeclare void @foo()
14*9880d681SAndroid Build Coastguard Workerdeclare void @llvm.memset.p1i8.i64(i8 addrspace(1)*, i8, i64, i32, i1)
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Workerdeclare void @do_safepoint()
17*9880d681SAndroid Build Coastguard Workerdefine void @gc.safepoint_poll() {
18*9880d681SAndroid Build Coastguard Worker  call void @do_safepoint()
19*9880d681SAndroid Build Coastguard Worker  ret void
20*9880d681SAndroid Build Coastguard Worker}
21