Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGen / avr / address-space-avr.c
blob093785aed4c4c7ea44cfde5a0503bab520af1ada
1 // RUN: %clang_cc1 -triple avr -target-cpu atmega2560 -emit-llvm < %s | FileCheck %s
3 // CHECK: @var0 {{.*}} addrspace(1) constant [3 x i16]
4 // CHECK: @f3var0 {{.*}} addrspace(4) constant [3 x i16]
5 // CHECK: @bar.var2 {{.*}} addrspace(1) constant [3 x i16]
6 // CHECK: @bar.f3var2 {{.*}} addrspace(4) constant [3 x i16]
7 // CHECK: @var1 {{.*}} addrspace(1) constant [3 x i16]
8 // CHECK: @f3var1 {{.*}} addrspace(4) constant [3 x i16]
10 // CHECK: define{{.*}} void @bar() addrspace(1)
11 // CHECK: call addrspace(1) void @foo
12 // CHECK: declare void @foo(...) addrspace(1)
14 __flash const int var0[] = {999, 888, 777};
15 __flash static const int var1[] = {111, 222, 333};
17 __flash3 const int f3var0[] = {12, 34, 56};
18 __flash3 static const int f3var1[] = {52, 64, 96};
20 int i;
22 void foo();
24 void bar(void) {
25 static __flash const int var2[] = {555, 666, 777};
26 static __flash3 const int f3var2[] = {5555, 6666, 7787};
27 foo(var1[i]);
28 foo(f3var1[i]);