brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.7 KiB · 4437751 Raw
250 lines · c
1// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=skip -o - | FileCheck %s --check-prefix CHECK-SKIP2// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=used-gpr-arg -o - | FileCheck %s --check-prefix CHECK-USED-GPR-ARG3// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=used-gpr -o - | FileCheck %s --check-prefix CHECK-USED-GPR4// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=used-arg -o - | FileCheck %s --check-prefix CHECK-USED-ARG5// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=used -o - | FileCheck %s --check-prefix CHECK-USED6// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=all-gpr-arg -o - | FileCheck %s --check-prefix CHECK-ALL-GPR-ARG7// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=all-gpr -o - | FileCheck %s --check-prefix CHECK-ALL-GPR8// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=all-arg -o - | FileCheck %s --check-prefix CHECK-ALL-ARG9// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu %s -emit-llvm -fzero-call-used-regs=all -o - | FileCheck %s --check-prefix CHECK-ALL10 11// -fzero-call-used-regs=skip:12//13// CHECK-SKIP:               define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM:[0-9]*]]14// CHECK-SKIP:               define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]15// CHECK-SKIP:               define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]16// CHECK-SKIP:               define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]17// CHECK-SKIP:               define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]18// CHECK-SKIP:               define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED:[0-9]*]]19// CHECK-SKIP:               define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]20// CHECK-SKIP:               define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]21// CHECK-SKIP:               define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]22// CHECK-SKIP:               define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]23//24// CHECK-SKIP-NOT:           attributes #[[ATTR_NUM]] = {{.*}} "zero-call-used-regs"=25// CHECK-SKIP:               attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"26// CHECK-SKIP:               attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"27// CHECK-SKIP:               attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"28// CHECK-SKIP:               attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"29// CHECK-SKIP:               attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"30// CHECK-SKIP:               attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"31// CHECK-SKIP:               attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"32// CHECK-SKIP:               attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"33// CHECK-SKIP:               attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"34 35// -fzero-call-used-regs=used-gpr-arg:36//37// CHECK-USED-GPR-ARG:       define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]38// CHECK-USED-GPR-ARG:       define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]39// CHECK-USED-GPR-ARG:       define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG]]40// CHECK-USED-GPR-ARG:       define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]41// CHECK-USED-GPR-ARG:       define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]42// CHECK-USED-GPR-ARG:       define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED:[0-9]*]]43// CHECK-USED-GPR-ARG:       define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]44// CHECK-USED-GPR-ARG:       define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]45// CHECK-USED-GPR-ARG:       define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]46// CHECK-USED-GPR-ARG:       define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]47//48// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"49// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"50// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"51// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"52// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"53// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"54// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"55// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"56// CHECK-USED-GPR-ARG:       attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"57 58// -fzero-call-used-regs=used-gpr:59//60// CHECK-USED-GPR:           define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]61// CHECK-USED-GPR:           define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]62// CHECK-USED-GPR:           define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]63// CHECK-USED-GPR:           define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR]]64// CHECK-USED-GPR:           define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]65// CHECK-USED-GPR:           define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED:[0-9]*]]66// CHECK-USED-GPR:           define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]67// CHECK-USED-GPR:           define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]68// CHECK-USED-GPR:           define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]69// CHECK-USED-GPR:           define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]70//71// CHECK-USED-GPR:           attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"72// CHECK-USED-GPR:           attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"73// CHECK-USED-GPR:           attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"74// CHECK-USED-GPR:           attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"75// CHECK-USED-GPR:           attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"76// CHECK-USED-GPR:           attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"77// CHECK-USED-GPR:           attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"78// CHECK-USED-GPR:           attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"79// CHECK-USED-GPR:           attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"80 81// -fzero-call-used-regs=used-arg:82//83// CHECK-USED-ARG:           define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]84// CHECK-USED-ARG:           define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]85// CHECK-USED-ARG:           define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]86// CHECK-USED-ARG:           define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]87// CHECK-USED-ARG:           define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG]]88// CHECK-USED-ARG:           define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED:[0-9]*]]89// CHECK-USED-ARG:           define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]90// CHECK-USED-ARG:           define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]91// CHECK-USED-ARG:           define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]92// CHECK-USED-ARG:           define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]93//94// CHECK-USED-ARG:           attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"95// CHECK-USED-ARG:           attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"96// CHECK-USED-ARG:           attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"97// CHECK-USED-ARG:           attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"98// CHECK-USED-ARG:           attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"99// CHECK-USED-ARG:           attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"100// CHECK-USED-ARG:           attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"101// CHECK-USED-ARG:           attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"102// CHECK-USED-ARG:           attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"103 104// -fzero-call-used-regs=used:105//106// CHECK-USED:               define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM_USED:[0-9]*]]107// CHECK-USED:               define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]108// CHECK-USED:               define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]109// CHECK-USED:               define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]110// CHECK-USED:               define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]111// CHECK-USED:               define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED]]112// CHECK-USED:               define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]113// CHECK-USED:               define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]114// CHECK-USED:               define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]115// CHECK-USED:               define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]116//117// CHECK-USED:               attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"118// CHECK-USED:               attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"119// CHECK-USED:               attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"120// CHECK-USED:               attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"121// CHECK-USED:               attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"122// CHECK-USED:               attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"123// CHECK-USED:               attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"124// CHECK-USED:               attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"125// CHECK-USED:               attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"126 127// -fzero-call-used-regs=all-gpr-arg:128//129// CHECK-ALL-GPR-ARG:        define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]130// CHECK-ALL-GPR-ARG:        define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]131// CHECK-ALL-GPR-ARG:        define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]132// CHECK-ALL-GPR-ARG:        define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]133// CHECK-ALL-GPR-ARG:        define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]134// CHECK-ALL-GPR-ARG:        define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED:[0-9]*]]135// CHECK-ALL-GPR-ARG:        define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG]]136// CHECK-ALL-GPR-ARG:        define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]137// CHECK-ALL-GPR-ARG:        define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]138// CHECK-ALL-GPR-ARG:        define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]139//140// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"141// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"142// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"143// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"144// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"145// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"146// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"147// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"148// CHECK-ALL-GPR-ARG:        attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"149 150// -fzero-call-used-regs=all-gpr:151//152// CHECK-ALL-GPR:            define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]153// CHECK-ALL-GPR:            define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]154// CHECK-ALL-GPR:            define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]155// CHECK-ALL-GPR:            define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]156// CHECK-ALL-GPR:            define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]157// CHECK-ALL-GPR:            define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED:[0-9]*]]158// CHECK-ALL-GPR:            define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]159// CHECK-ALL-GPR:            define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR]]160// CHECK-ALL-GPR:            define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]161// CHECK-ALL-GPR:            define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]162//163// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"164// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"165// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"166// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"167// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"168// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"169// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"170// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"171// CHECK-ALL-GPR:            attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"172 173// -fzero-call-used-regs=all-arg:174//175// CHECK-ALL-ARG:            define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]176// CHECK-ALL-ARG:            define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]177// CHECK-ALL-ARG:            define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]178// CHECK-ALL-ARG:            define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]179// CHECK-ALL-ARG:            define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]180// CHECK-ALL-ARG:            define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED:[0-9]*]]181// CHECK-ALL-ARG:            define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]182// CHECK-ALL-ARG:            define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]183// CHECK-ALL-ARG:            define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG]]184// CHECK-ALL-ARG:            define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]185//186// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"187// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"188// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"189// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"190// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"191// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"192// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"193// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"194// CHECK-ALL-ARG:            attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"195 196// -fzero-call-used-regs=all:197//198// CHECK-ALL:                define {{.*}} @no_attribute({{.*}} #[[ATTR_NUM_ALL:[0-9]*]]199// CHECK-ALL:                define {{.*}} @skip_test({{.*}} #[[ATTR_NUM_SKIP:[0-9]*]]200// CHECK-ALL:                define {{.*}} @used_gpr_arg_test({{.*}} #[[ATTR_NUM_USED_GPR_ARG:[0-9]*]]201// CHECK-ALL:                define {{.*}} @used_gpr_test({{.*}} #[[ATTR_NUM_USED_GPR:[0-9]*]]202// CHECK-ALL:                define {{.*}} @used_arg_test({{.*}} #[[ATTR_NUM_USED_ARG:[0-9]*]]203// CHECK-ALL:                define {{.*}} @used_test({{.*}} #[[ATTR_NUM_USED:[0-9]*]]204// CHECK-ALL:                define {{.*}} @all_gpr_arg_test({{.*}} #[[ATTR_NUM_ALL_GPR_ARG:[0-9]*]]205// CHECK-ALL:                define {{.*}} @all_gpr_test({{.*}} #[[ATTR_NUM_ALL_GPR:[0-9]*]]206// CHECK-ALL:                define {{.*}} @all_arg_test({{.*}} #[[ATTR_NUM_ALL_ARG:[0-9]*]]207// CHECK-ALL:                define {{.*}} @all_test({{.*}} #[[ATTR_NUM_ALL]]208//209// CHECK-ALL:                attributes #[[ATTR_NUM_ALL]] = {{.*}} "zero-call-used-regs"="all"210// CHECK-ALL:                attributes #[[ATTR_NUM_SKIP]] = {{.*}} "zero-call-used-regs"="skip"211// CHECK-ALL:                attributes #[[ATTR_NUM_USED_GPR_ARG]] = {{.*}} "zero-call-used-regs"="used-gpr-arg"212// CHECK-ALL:                attributes #[[ATTR_NUM_USED_GPR]] = {{.*}} "zero-call-used-regs"="used-gpr"213// CHECK-ALL:                attributes #[[ATTR_NUM_USED_ARG]] = {{.*}} "zero-call-used-regs"="used-arg"214// CHECK-ALL:                attributes #[[ATTR_NUM_USED]] = {{.*}} "zero-call-used-regs"="used"215// CHECK-ALL:                attributes #[[ATTR_NUM_ALL_GPR_ARG]] = {{.*}} "zero-call-used-regs"="all-gpr-arg"216// CHECK-ALL:                attributes #[[ATTR_NUM_ALL_GPR]] = {{.*}} "zero-call-used-regs"="all-gpr"217// CHECK-ALL:                attributes #[[ATTR_NUM_ALL_ARG]] = {{.*}} "zero-call-used-regs"="all-arg"218 219#define __zero_call_used_regs(kind) __attribute__((zero_call_used_regs(kind)))220 221void no_attribute(void) {222}223 224void __zero_call_used_regs("skip") skip_test(void) {225}226 227void __zero_call_used_regs("used-gpr-arg") used_gpr_arg_test(void) {228}229 230void __zero_call_used_regs("used-gpr") used_gpr_test(void) {231}232 233void __zero_call_used_regs("used-arg") used_arg_test(void) {234}235 236void __zero_call_used_regs("used") used_test(void) {237}238 239void __zero_call_used_regs("all-gpr-arg") all_gpr_arg_test(void) {240}241 242void __zero_call_used_regs("all-gpr") all_gpr_test(void) {243}244 245void __zero_call_used_regs("all-arg") all_arg_test(void) {246}247 248void __zero_call_used_regs("all") all_test(void) {249}250