39 lines · plain
1; Test that llvm-reduce can remove uninteresting operand bundles from calls.2;3; RUN: llvm-reduce -abort-on-invalid-reduction --delta-passes=operand-bundles,attributes --test FileCheck --test-arg --check-prefixes=CHECK-ALL,CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t4; RUN: cat %t | FileCheck --check-prefixes=CHECK-ALL,CHECK-FINAL %s5 6; CHECK-ALL: declare i32 @f1(i32, i32)7declare i32 @f1(i32, i32)8 9; CHECK-FINAL-LABEL: define i32 @interesting(i32 %arg0, i32 %arg1) {10; CHECK-FINAL-NEXT: entry:11; CHECK-FINAL-NEXT: %r = call "attr0" i32 @f1(i32 "attr4" %arg0, i32 %arg1) #012; CHECK-FINAL-NEXT: ret i32 %r13; CHECK-FINAL-NEXT: }14define i32 @interesting(i32 %arg0, i32 %arg1) {15entry:16; CHECK-INTERESTINGNESS-LABEL: @interesting(17 18; CHECK-INTERESTINGNESS: %r = call19; CHECK-INTERESTINGNESS-SAME: "attr0"20; CHECK-INTERESTINGNESS-SAME: i32 @f1(21; CHECK-INTERESTINGNESS-SAME: i3222; CHECK-INTERESTINGNESS-SAME: "attr4"23; CHECK-INTERESTINGNESS-SAME: %arg024; CHECK-INTERESTINGNESS-SAME: i3225; CHECK-INTERESTINGNESS-SAME: %arg126; CHECK-INTERESTINGNESS-SAME: #027; CHECK-INTERESTINGNESS: ret i32 %r28 29 %r = call "attr0" "attr1" "attr2" i32 @f1(i32 "attr3" "attr4" "attr5" %arg0, i32 "attr6" "attr7" "attr8" %arg1) #030 ret i32 %r31}32 33; CHECK-INTERESTINGNESS: attributes #0 = {34; CHECK-INTERESTINGNESS-SAME: "attr10"35 36; CHECK-FINAL: attributes #0 = { "attr10" }37 38attributes #0 = { "attr9" "attr10" "attr11" }39