attr-func-def.c revision a4de17562d13d7a8188108243c4cfbd52f33229a
1a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar// RUN: %clang_cc1 -triple x86_64-apple-macosx10.10.0 -emit-llvm -Oz -o - %s | FileCheck %s
2a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar
3a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar// CHECK: define i32 @foo2(i32 %a) [[ATTRS2:#[0-9]+]] {
4a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar// CHECK: define i32 @foo1(i32 %a) [[ATTRS1:#[0-9]+]] {
5a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar
6a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainarint foo1(int);
7a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar
8a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainarint foo2(int a) {
9a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar  return foo1(a + 2);
10a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar}
11a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar
12a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar__attribute__((optnone))
13a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainarint foo1(int a) {
14a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar    return a + 1;
15a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar}
16a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar
17a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar// CHECK: attributes [[ATTRS2]] = { {{.*}}optsize{{.*}} }
18a4de17562d13d7a8188108243c4cfbd52f33229aPirama Arumuga Nainar// CHECK: attributes [[ATTRS1]] = { {{.*}}optnone{{.*}} }
19