Mercurial > hg > CbC > CbC_llvm
comparison test/Transforms/ObjCARC/comdat-ipo.ll @ 147:c2174574ed3a
LLVM 10
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 14 Aug 2019 16:55:33 +0900 |
parents | 1172e4bd9c6f |
children |
comparison
equal
deleted
inserted
replaced
134:3a76565eade5 | 147:c2174574ed3a |
---|---|
1 ; RUN: opt -S -objc-arc-apelim < %s | FileCheck %s | 1 ; RUN: opt -S -objc-arc-apelim < %s | FileCheck %s |
2 | 2 |
3 ; See PR26774 | 3 ; See PR26774 |
4 | 4 |
5 @llvm.global_ctors = appending global [2 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_x }, { i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_y }] | 5 @llvm.global_ctors = appending global [2 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__I_x, i8* null }, { i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__I_y, i8* null }] |
6 | 6 |
7 @x = global i32 0 | 7 @x = global i32 0 |
8 | 8 |
9 declare i32 @bar() nounwind | 9 declare i32 @bar() nounwind |
10 | 10 |
28 } | 28 } |
29 | 29 |
30 ; CHECK-LABEL: define internal void @_GLOBAL__I_x() { | 30 ; CHECK-LABEL: define internal void @_GLOBAL__I_x() { |
31 define internal void @_GLOBAL__I_x() { | 31 define internal void @_GLOBAL__I_x() { |
32 entry: | 32 entry: |
33 ; CHECK: call i8* @objc_autoreleasePoolPush() | 33 ; CHECK: call i8* @llvm.objc.autoreleasePoolPush() |
34 ; CHECK-NEXT: call void @__cxx_global_var_init() | 34 ; CHECK-NEXT: call void @__cxx_global_var_init() |
35 ; CHECK-NEXT: call void @objc_autoreleasePoolPop(i8* %0) | 35 ; CHECK-NEXT: call void @llvm.objc.autoreleasePoolPop(i8* %0) |
36 ; CHECK-NEXT: ret void | 36 ; CHECK-NEXT: ret void |
37 | 37 |
38 %0 = call i8* @objc_autoreleasePoolPush() nounwind | 38 %0 = call i8* @llvm.objc.autoreleasePoolPush() nounwind |
39 call void @__cxx_global_var_init() | 39 call void @__cxx_global_var_init() |
40 call void @objc_autoreleasePoolPop(i8* %0) nounwind | 40 call void @llvm.objc.autoreleasePoolPop(i8* %0) nounwind |
41 ret void | 41 ret void |
42 } | 42 } |
43 | 43 |
44 define internal void @_GLOBAL__I_y() { | 44 define internal void @_GLOBAL__I_y() { |
45 entry: | 45 entry: |
46 %0 = call i8* @objc_autoreleasePoolPush() nounwind | 46 %0 = call i8* @llvm.objc.autoreleasePoolPush() nounwind |
47 call void @__dxx_global_var_init() | 47 call void @__dxx_global_var_init() |
48 call void @objc_autoreleasePoolPop(i8* %0) nounwind | 48 call void @llvm.objc.autoreleasePoolPop(i8* %0) nounwind |
49 ret void | 49 ret void |
50 } | 50 } |
51 | 51 |
52 declare i8* @objc_autoreleasePoolPush() | 52 declare i8* @llvm.objc.autoreleasePoolPush() |
53 declare void @objc_autoreleasePoolPop(i8*) | 53 declare void @llvm.objc.autoreleasePoolPop(i8*) |