xref: /aosp_15_r20/external/llvm/test/Transforms/ObjCARC/weak-contract.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt -objc-arc-contract -S < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdeclare i8* @objc_initWeak(i8**, i8*)
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker; Convert objc_initWeak(p, null) to *p = null.
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Worker; CHECK:      define i8* @test0(i8** %p) {
8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:   store i8* null, i8** %p
9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:   ret i8* null
10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: }
11*9880d681SAndroid Build Coastguard Workerdefine i8* @test0(i8** %p) {
12*9880d681SAndroid Build Coastguard Worker  %t = call i8* @objc_initWeak(i8** %p, i8* null)
13*9880d681SAndroid Build Coastguard Worker  ret i8* %t
14*9880d681SAndroid Build Coastguard Worker}
15