Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenObjC / ivar-base-as-invariant-load.m
blob5ff13a2a1890aaa3093a30b27709eb311b12a2a7
1 // RUN: %clang_cc1 -emit-llvm  -triple x86_64-apple-darwin -x objective-c %s -o - | FileCheck %s
3 @interface A {
4         struct {
5                 unsigned char a : 1;
6                 unsigned char b : 1;
7                 unsigned char c : 1;
8         } _flags;
11 @end
13 @implementation A
15 - (id)init {
16         _flags.a = 1;
17         _flags.b = 1;
18         _flags.c = 1;
20         return self;
23 @end
25 // CHECK: [[T1:%.*]] = load i64, ptr @"OBJC_IVAR_$_A._flags", align 8, !invariant.load ![[MD_NUM:[0-9]+]]
26 // CHECK: [[T2:%.*]] = load i64, ptr @"OBJC_IVAR_$_A._flags", align 8, !invariant.load ![[MD_NUM]]
27 // CHECK: [[T3:%.*]] = load i64, ptr @"OBJC_IVAR_$_A._flags", align 8, !invariant.load ![[MD_NUM]]