xref: /llvm-project/llvm/test/Assembler/skip-value-numbers.ll (revision 6f371149c1c9f24bede8a799b7c2c9562740aa62)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: -p --version 4
2; RUN: opt -S < %s | FileCheck %s
3
4define i32 @instr() {
5; CHECK-LABEL: define i32 @instr() {
6; CHECK-NEXT:    %1 = add i32 1, 2
7; CHECK-NEXT:    %2 = add i32 %1, 3
8; CHECK-NEXT:    %3 = add i32 %2, 4
9; CHECK-NEXT:    ret i32 %3
10;
11  %10 = add i32 1, 2
12  %20 = add i32 %10, 3
13  %30 = add i32 %20, 4
14  ret i32 %30
15}
16
17define i32 @instr_some_implicit() {
18; CHECK-LABEL: define i32 @instr_some_implicit() {
19; CHECK-NEXT:    %1 = add i32 1, 2
20; CHECK-NEXT:    %2 = add i32 3, 4
21; CHECK-NEXT:    %3 = add i32 %1, %2
22; CHECK-NEXT:    ret i32 %3
23;
24  add i32 1, 2
25  %10 = add i32 3, 4
26  add i32 %1, %10
27  ret i32 %11
28}
29
30define i32 @args(i32 %0, i32 %10, i32 %20) {
31; CHECK-LABEL: define i32 @args(i32 %0, i32 %1, i32 %2) {
32; CHECK-NEXT:    %4 = add i32 %0, %1
33; CHECK-NEXT:    %5 = add i32 %4, %2
34; CHECK-NEXT:    ret i32 %5
35;
36  %30 = add i32 %0, %10
37  %31 = add i32 %30, %20
38  ret i32 %31
39}
40
41define i32 @args_some_implicit(i32, i32 %10, i32) {
42; CHECK-LABEL: define i32 @args_some_implicit(i32 %0, i32 %1, i32 %2) {
43; CHECK-NEXT:    %4 = add i32 %0, %1
44; CHECK-NEXT:    %5 = add i32 %2, %4
45; CHECK-NEXT:    ret i32 %5
46;
47  add i32 %0, %10
48  %20 = add i32 %11, %13
49  ret i32 %20
50}
51
52define i32 @blocks() {
53; CHECK-LABEL: define i32 @blocks() {
54; CHECK-NEXT:    br label %1
55; CHECK:       1:
56; CHECK-NEXT:    ret i32 0
57;
5810:
59  br label %20
60
6120:
62  ret i32 0
63}
64
65define i32 @blocks_some_implicit() {
66; CHECK-LABEL: define i32 @blocks_some_implicit() {
67; CHECK-NEXT:    br label %1
68; CHECK:       1:
69; CHECK-NEXT:    br label %2
70; CHECK:       2:
71; CHECK-NEXT:    ret i32 0
72;
73  br label %10
74
7510:
76  br label %11
77
78  ret i32 0
79}
80