xref: /llvm-project/clang/test/CodeGen/stackrealign-main.c (revision 3787ee457173c3612aac4c9b1a2b6d6ab0202616)
1 // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o - -mstack-alignment=64 %s | FileCheck %s
2 // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o - %s | FileCheck %s --check-prefix=DEFAULT
3 
4 // CHECK-LABEL: define{{.*}} void @other()
5 // CHECK: [[OTHER:#[0-9]+]]
6 // CHECK: {
other(void)7 void other(void) {}
8 
9 // CHECK-LABEL: define{{.*}} i32 @main(
10 // CHECK: [[MAIN:#[0-9]+]]
11 // CHECK: {
main(int argc,char ** argv)12 int main(int argc, char **argv) {
13   other();
14   return 0;
15 }
16 
17 // CHECK: attributes [[OTHER]] = { noinline nounwind optnone
18 // CHECK-NOT: "stackrealign"
19 // CHECK: }
20 // CHECK: attributes [[MAIN]] = { noinline nounwind optnone {{.*}}"stackrealign"{{.*}} }
21 // CHECK: !{i32 1, !"override-stack-alignment", i32 64}
22 // DEFAULT-NOT: "override-stack-alignment"
23