]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGenObjC/arc.ll
Vendor import of clang trunk r351319 (just before the release_80 branch
[FreeBSD/FreeBSD.git] / test / CodeGenObjC / arc.ll
1 ; RUN: %clang_cc1 -Os -emit-llvm -fobjc-arc -o - %s | FileCheck %s
2
3 target triple = "x86_64-apple-darwin10"
4
5 declare i8* @llvm.objc.retain(i8*)
6 declare void @llvm.objc.release(i8*)
7
8 ; CHECK-LABEL: define void @test(
9 ; CHECK-NOT: @objc_
10 ; CHECK: }
11 define void @test(i8* %x, i1* %p) nounwind {
12 entry:
13   br label %loop
14
15 loop:
16   call i8* @llvm.objc.retain(i8* %x)
17   %q = load i1, i1* %p
18   br i1 %q, label %loop.more, label %exit
19
20 loop.more:
21   call void @llvm.objc.release(i8* %x)
22   br label %loop
23
24 exit:
25   call void @llvm.objc.release(i8* %x)
26   ret void
27 }