1 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm < %s | FileCheck %s 2 // RUN: %clang_cc1 -triple arm64-unknown-unknown -emit-llvm < %s | FileCheck %s 3 4 // RUN: %clang_cc1 -triple x86_64-unknown-windows-msvc -emit-llvm %s -o - | FileCheck %s 5 // RUN: %clang_cc1 -triple aarch64-unknown-windows-msvc -emit-llvm %s -o - | FileCheck %s 6 7 // Check that the preserve_most calling convention attribute at the source level 8 // is lowered to the corresponding calling convention attrribute at the LLVM IR 9 // level. 10 void foo() __attribute__((preserve_most)) { 11 // CHECK-LABEL: define {{(dso_local )?}}preserve_mostcc void @foo() 12 } 13 14 // Check that the preserve_most calling convention attribute at the source level 15 // is lowered to the corresponding calling convention attrribute at the LLVM IR 16 // level. 17 void boo() __attribute__((preserve_all)) { 18 // CHECK-LABEL: define {{(dso_local )?}}preserve_allcc void @boo() 19 } 20 21