[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / NewGVN / 2010-03-31-RedundantPHIs.ll
blob54a23de6d41f9327d8bbf0e53336fa8f5dece283
1 ; RUN: opt < %s -basic-aa -newgvn -S | FileCheck %s
3 ; CHECK-NOT: load
4 ; CHECK-NOT: phi
6 define i8* @cat(i8* %s1, ...) nounwind {
7 entry:
8   br i1 undef, label %bb, label %bb3
10 bb:                                               ; preds = %entry
11   unreachable
13 bb3:                                              ; preds = %entry
14   store i8* undef, i8** undef, align 4
15   br i1 undef, label %bb5, label %bb6
17 bb5:                                              ; preds = %bb3
18   unreachable
20 bb6:                                              ; preds = %bb3
21   br label %bb12
23 bb8:                                              ; preds = %bb12
24   br i1 undef, label %bb9, label %bb10
26 bb9:                                              ; preds = %bb8
27   %0 = load i8*, i8** undef, align 4                   ; <i8*> [#uses=0]
28   %1 = load i8*, i8** undef, align 4                   ; <i8*> [#uses=0]
29   br label %bb11
31 bb10:                                             ; preds = %bb8
32   br label %bb11
34 bb11:                                             ; preds = %bb10, %bb9
35   br label %bb12
37 bb12:                                             ; preds = %bb11, %bb6
38   br i1 undef, label %bb8, label %bb13
40 bb13:                                             ; preds = %bb12
41   ret i8* undef