|
1 | 1 | ; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=arguments-to-return --test FileCheck --test-arg --check-prefixes=INTERESTING --test-arg %s --test-arg --input-file %s -o %t
|
2 | 2 | ; RUN: FileCheck --check-prefixes=RESULT %s < %t
|
3 | 3 |
|
| 4 | +@gv = global i32 0 |
4 | 5 |
|
5 |
| -; INTERESTING-LABEL: @move_entry_block_use_argument_to_return(i32 %arg, ptr %ptr) { |
6 |
| -; INTERESTING: %arg |
| 6 | +; INTERESTING-LABEL: @move_entry_block_use_argument_to_return(i32 %arg) { |
| 7 | +; INTERESTING: i32 %arg |
7 | 8 |
|
8 | 9 | ; RESULT-LABEL: define i32 @move_entry_block_use_argument_to_return(
|
9 | 10 | ; RESULT-NEXT: ret i32 %arg
|
10 | 11 | ; RESULT-NEXT: }
|
11 |
| -define void @move_entry_block_use_argument_to_return(i32 %arg, ptr %ptr) { |
12 |
| - store i32 %arg, ptr %ptr |
| 12 | +define void @move_entry_block_use_argument_to_return(i32 %arg) { |
| 13 | + store i32 %arg, ptr @gv |
13 | 14 | ret void
|
14 | 15 | }
|
15 | 16 |
|
16 |
| -; INTERESTING-LABEL: @move_entry_block_use_argument_to_return_existing_ret(i32 %arg, ptr %ptr) { |
| 17 | +; INTERESTING-LABEL: @move_entry_block_use_argument_to_return_existing_ret(i32 %arg) { |
17 | 18 | ; INTERESTING: %arg
|
18 | 19 |
|
19 | 20 | ; RESULT-LABEL: define i32 @move_entry_block_use_argument_to_return_existing_ret(
|
20 | 21 | ; RESULT-NEXT: ret i32 %arg
|
21 | 22 | ; RESULT-NEXT: }
|
22 |
| -define i32 @move_entry_block_use_argument_to_return_existing_ret(i32 %arg, ptr %ptr) { |
23 |
| - store i32 %arg, ptr %ptr |
| 23 | +define i32 @move_entry_block_use_argument_to_return_existing_ret(i32 %arg) { |
| 24 | + store i32 %arg, ptr @gv |
24 | 25 | ret i32 0
|
25 | 26 | }
|
26 | 27 |
|
|
47 | 48 | ret void
|
48 | 49 | }
|
49 | 50 |
|
| 51 | +; INTERESTING-LABEL: define {{.*}} @keep_first_arg(i32 %arg0, ptr %arg1) { |
| 52 | +; INTERESTING: %arg0 |
| 53 | + |
| 54 | +; RESULT-LABEL: define i32 @keep_first_arg( |
| 55 | +; RESULT-NEXT: ret i32 %arg0 |
| 56 | +; RESULT-NEXT: } |
| 57 | +define void @keep_first_arg(i32 %arg0, ptr %arg1) { |
| 58 | + store i32 %arg0, ptr %arg1 |
| 59 | + ret void |
| 60 | +} |
| 61 | + |
50 | 62 | ; INTERESTING-LABEL: define {{.*}} @keep_second_arg(i32 %arg0, ptr %arg1) {
|
51 | 63 | ; INTERESTING: %arg1
|
52 | 64 |
|
|
0 commit comments