36 lines · plain
1; RUN: llvm-reduce %s -o %t --abort-on-invalid-reduction --delta-passes=arguments --test FileCheck --test-arg %s --test-arg --check-prefix=INTERESTING --test-arg --input-file2; RUN: FileCheck %s --input-file %t --check-prefix=REDUCED3 4@gv = global i32 05 6; INTERESTING-LABEL: void @func(7; INTERESTING-SAME: i32 %other.keep8 9; REDUCED: define x86_intrcc void @func(ptr byval(i32) %k, i32 %other.keep)10define x86_intrcc void @func(ptr byval(i32) %k, i32 %other.keep, i32 %other.drop) {11 store i32 %other.keep, ptr @gv12 ret void13}14 15; INTERESTING-LABEL: void @extern_decl(16; INTERESTING-SAME: i3217 18; REDUCED: declare x86_intrcc void @extern_decl(ptr byval(i32))19declare x86_intrcc void @extern_decl(ptr byval(i32), i32, i32)20 21; INTERESTING-LABEL: void @callsite(22; INTERESTING: call23; REDUCED: call x86_intrcc void @func(ptr byval(i32) %k, i32 %other.keep)24define void @callsite(ptr %k, i32 %other.keep, i32 %other.drop) {25 call x86_intrcc void @func(ptr byval(i32) %k, i32 %other.keep, i32 %other.drop)26 ret void27}28 29; INTERESTING-LABEL: void @keep_none(30; REDUCED-LABEL: define x86_intrcc void @keep_none()31define x86_intrcc void @keep_none(ptr byval(i32) %k, i32 %other0, float %other1) {32 store i32 %other0, ptr @gv33 store float %other1, ptr @gv34 ret void35}36