brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · da2f225 Raw
55 lines · plain
1; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=instructions-to-return --test FileCheck --test-arg --check-prefix=INTERESTING --test-arg %s --test-arg --input-file %s -o %t2; RUN: FileCheck --check-prefix=RESULT %s < %t3 4@gv = global i32 0, align 45 6; INTERESTING-LABEL: @callbr0(7; INTERESTING: %load0 = load i32, ptr %arg08; INTERESTING: store i32 %load0, ptr @gv9 10; RESULT-LABEL: define void @callbr0(ptr %arg0) {11; RESULT: %load0 = load i32, ptr %arg0, align 412; RESULT-NEXT: %callbr = callbr i32 asm13define void @callbr0(ptr %arg0) {14entry:15  %load0 = load i32, ptr %arg016  %callbr = callbr i32 asm "", "=r,r,!i,!i"(i32 %load0)17              to label %one [label %two, label %three]18one:19  store i32 %load0, ptr @gv20  ret void21 22two:23  store i32 %load0, ptr @gv24  ret void25 26three:27  store i32 %load0, ptr @gv28  ret void29}30 31; INTERESTING-LABEL: @callbr1(32; INTERESTING: %load0 = load i32, ptr %arg033 34; RESULT-LABEL: define i32 @callbr1(ptr %arg0) {35; RESULT-NEXT: entry:36; RESULT-NEXT: %load0 = load i32, ptr %arg037; RESULT-NEXT: ret i32 %load038define void @callbr1(ptr %arg0) {39entry:40  %load0 = load i32, ptr %arg041  %callbr = callbr i32 asm "", "=r,r,!i,!i"(i32 %load0)42              to label %one [label %two, label %three]43one:44  store i32 %load0, ptr @gv45  ret void46 47two:48  store i32 %load0, ptr @gv49  ret void50 51three:52  store i32 %load0, ptr @gv53  ret void54}55