xref: /llvm-project/llvm/test/tools/llvm-reduce/remove-function-attributes.ll (revision 0bc5436ae892eaa6ee038f2d1ea26e02a72eed96)
1; Test that llvm-reduce can remove uninteresting attributes.
2;
3; RUN: llvm-reduce --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t
4; RUN: FileCheck --check-prefix=CHECK-FINAL %s < %t
5
6; CHECK-INTERESTINGNESS: declare
7; CHECK-INTERESTINGNESS-SAME: "attr0"
8; CHECK-INTERESTINGNESS-SAME: void @f0
9; CHECK-INTERESTINGNESS-SAME: i32
10; CHECK-INTERESTINGNESS-SAME: i32
11; CHECK-INTERESTINGNESS-SAME: "attr6"
12; CHECK-INTERESTINGNESS-SAME: #0
13
14; CHECK-FINAL: declare "attr0" void @f0(i32, i32 "attr6") #0
15
16declare "attr0" "attr1" "attr2" void @f0(i32 "attr3" "attr4" "attr5", i32 "attr6" "attr7" "attr8") #0
17
18; CHECK-INTERESTINGNESS: attributes #0 = {
19; CHECK-INTERESTINGNESS-SAME: "attr10"
20
21; CHECK-FINAL:  attributes #0 = { "attr10" }
22
23attributes #0 = { "attr9" "attr10" "attr11" }
24