[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / GVNHoist / pr37808.ll
blob5705c6b89a3dad03144501bd9911ce5c56ea172d
1 ; RUN: opt < %s -gvn-hoist -S | FileCheck %s
3 define void @func() {
4 ; CHECK-LABEL: @func()
5 ; CHECK:       bb6:
6 ; CHECK:         store i64 0, i64* undef, align 8
7 ; CHECK:       bb7:
8 ; CHECK-NOT:     store i64 0, i64* undef, align 8
9 ; CHECK:       bb8:
10 ; CHECK-NOT:     store i64 0, i64* undef, align 8
12 entry:
13   br label %bb1
15 bb1:
16   br label %bb2
18 bb2:
19   br label %bb3
21 bb3:
22   br i1 undef, label %bb4, label %bb2
24 bb4:
25   br i1 undef, label %bb5, label %bb3
27 bb5:
28   br label %bb6
30 bb6:
31   br i1 undef, label %bb7, label %bb8
33 bb7:
34   store i64 0, i64* undef, align 8
35   unreachable
37 bb8:
38   store i64 0, i64* undef, align 8
39   ret void