xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenObjC/ivar-base-as-invariant-load.m (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc// RUN: %clang_cc1 -emit-llvm  -triple x86_64-apple-darwin -x objective-c %s -o - | FileCheck %s
2f4a2713aSLionel Sambuc// rdar://10840980
3f4a2713aSLionel Sambuc
4f4a2713aSLionel Sambuc@interface A {
5f4a2713aSLionel Sambuc        struct {
6f4a2713aSLionel Sambuc                unsigned char a : 1;
7f4a2713aSLionel Sambuc                unsigned char b : 1;
8f4a2713aSLionel Sambuc                unsigned char c : 1;
9f4a2713aSLionel Sambuc        } _flags;
10f4a2713aSLionel Sambuc}
11f4a2713aSLionel Sambuc
12f4a2713aSLionel Sambuc@end
13f4a2713aSLionel Sambuc
14f4a2713aSLionel Sambuc@implementation A
15f4a2713aSLionel Sambuc
16f4a2713aSLionel Sambuc- (id)init {
17f4a2713aSLionel Sambuc        _flags.a = 1;
18f4a2713aSLionel Sambuc        _flags.b = 1;
19f4a2713aSLionel Sambuc        _flags.c = 1;
20f4a2713aSLionel Sambuc
21f4a2713aSLionel Sambuc        return self;
22f4a2713aSLionel Sambuc}
23f4a2713aSLionel Sambuc
24f4a2713aSLionel Sambuc@end
25f4a2713aSLionel Sambuc
26*0a6a1f1dSLionel Sambuc// CHECK: [[T1:%.*]] = load i64* @"OBJC_IVAR_$_A._flags", !invariant.load ![[MD_NUM:[0-9]+]]
27*0a6a1f1dSLionel Sambuc// CHECK: [[T2:%.*]] = load i64* @"OBJC_IVAR_$_A._flags", !invariant.load ![[MD_NUM]]
28*0a6a1f1dSLionel Sambuc// CHECK: [[T3:%.*]] = load i64* @"OBJC_IVAR_$_A._flags", !invariant.load ![[MD_NUM]]
29*0a6a1f1dSLionel Sambuc//
30