[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / NewGVN / pr32945.ll
blob553ba4bd4aaafe978bda7fa9f09bd85d5d053fdb
1 ; RUN: opt -S -newgvn %s | FileCheck %s
2 ; CHECK-NOT: call i32 @llvm.ssa.copy
4 @d = external global i32
5 @e = external global i32
6 define void @tinkywinky() {
7   br i1 true, label %lor.lhs.false, label %cond.true
8 lor.lhs.false:
9   %tmp = load i32, i32* @d, align 4
10   %patatino = load i32, i32* null, align 4
11   %or = or i32 %tmp, %patatino
12   store i32 %or, i32* @d, align 4
13   br label %cond.true
14 cond.true:
15   %tmp1 = load i32, i32* @e, align 4
16   %tmp2 = load i32, i32* @d, align 4
17   %cmp = icmp eq i32 %tmp1, %tmp2
18   br i1 %cmp, label %cond.true6, label %cond.false
19 cond.true6:
20   %cmp7 = icmp slt i32 %tmp1, 0
21   br i1 %cmp7, label %cond.false, label %cond.false
22 cond.false:
23   ret void