[RISCV] Match vcompress during shuffle lowering (#117748)
[llvm-project.git] / llvm / test / Transforms / NewGVN / 2010-03-31-RedundantPHIs.ll
blob7de5ecf3e4b2c7d7a145fcf40bff25e4fafc5cce
1 ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2 ; RUN: opt < %s -passes=newgvn -S | FileCheck %s
4 ; CHECK-NOT: load
5 ; CHECK-NOT: phi
7 define ptr @cat(ptr %s1, i1 %arg, i1 %arg2, i1 %arg3, ...) nounwind {
8 ; CHECK-LABEL: define ptr @cat(
9 ; CHECK-SAME: ptr [[S1:%.*]], i1 [[ARG:%.*]], i1 [[ARG2:%.*]], i1 [[ARG3:%.*]], ...) #[[ATTR0:[0-9]+]] {
10 ; CHECK-NEXT:  entry:
11 ; CHECK-NEXT:    br i1 [[ARG2]], label [[BB:%.*]], label [[BB3:%.*]]
12 ; CHECK:       bb:
13 ; CHECK-NEXT:    unreachable
14 ; CHECK:       bb3:
15 ; CHECK-NEXT:    store ptr undef, ptr undef, align 4
16 ; CHECK-NEXT:    br i1 [[ARG3]], label [[BB5:%.*]], label [[BB6:%.*]]
17 ; CHECK:       bb5:
18 ; CHECK-NEXT:    unreachable
19 ; CHECK:       bb6:
20 ; CHECK-NEXT:    br label [[BB12:%.*]]
21 ; CHECK:       bb8:
22 ; CHECK-NEXT:    br i1 true, label [[BB9:%.*]], label [[BB10:%.*]]
23 ; CHECK:       bb9:
24 ; CHECK-NEXT:    br label [[BB11:%.*]]
25 ; CHECK:       bb10:
26 ; CHECK-NEXT:    store i8 poison, ptr null, align 1
27 ; CHECK-NEXT:    br label [[BB11]]
28 ; CHECK:       bb11:
29 ; CHECK-NEXT:    br label [[BB12]]
30 ; CHECK:       bb12:
31 ; CHECK-NEXT:    br i1 [[ARG]], label [[BB8:%.*]], label [[BB13:%.*]]
32 ; CHECK:       bb13:
33 ; CHECK-NEXT:    ret ptr undef
35 entry:
36   br i1 %arg2, label %bb, label %bb3
38 bb:                                               ; preds = %entry
39   unreachable
41 bb3:                                              ; preds = %entry
42   store ptr undef, ptr undef, align 4
43   br i1 %arg3, label %bb5, label %bb6
45 bb5:                                              ; preds = %bb3
46   unreachable
48 bb6:                                              ; preds = %bb3
49   br label %bb12
51 bb8:                                              ; preds = %bb12
52   br i1 %arg, label %bb9, label %bb10
54 bb9:                                              ; preds = %bb8
55   %0 = load ptr, ptr undef, align 4                   ; <ptr> [#uses=0]
56   %1 = load ptr, ptr undef, align 4                   ; <ptr> [#uses=0]
57   br label %bb11
59 bb10:                                             ; preds = %bb8
60   br label %bb11
62 bb11:                                             ; preds = %bb10, %bb9
63   br label %bb12
65 bb12:                                             ; preds = %bb11, %bb6
66   br i1 %arg, label %bb8, label %bb13
68 bb13:                                             ; preds = %bb12
69   ret ptr undef