[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / GVNHoist / hoist-simplify-phi.ll
blob6a7109af78c3522da7c53f4e198160f4382dae74
1 ; RUN: opt < %s -passes=gvn-hoist -S | FileCheck %s
3 ; This test is meant to make sure that MemorySSAUpdater works correctly
4 ; in non-trivial cases.
6 ; CHECK: if.else218:
7 ; CHECK-NEXT: %0 = load i32, ptr undef, align 4
9 target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
11 %s = type { i32, ptr, [3 x i8], i8 }
13 define void @test() {
14 entry:
15   br label %cond.end118
17 cond.end118:                                      ; preds = %entry
18   br i1 undef, label %cleanup, label %if.end155
20 if.end155:                                        ; preds = %cond.end118
21   br label %while.cond
23 while.cond:                                       ; preds = %while.body, %if.end155
24   br i1 undef, label %while.end, label %while.body
26 while.body:                                       ; preds = %while.cond
27   br label %while.cond
29 while.end:                                        ; preds = %while.cond
30   switch i32 undef, label %if.else218 [
31     i32 1, label %cleanup
32     i32 0, label %if.then174
33   ]
35 if.then174:                                       ; preds = %while.end
36   unreachable
38 if.else218:                                       ; preds = %while.end
39   br i1 undef, label %if.then226, label %if.else326
41 if.then226:                                       ; preds = %if.else218
42   %0 = load i32, ptr undef, align 4
43   unreachable
45 if.else326:                                       ; preds = %if.else218
46   %1 = load i32, ptr undef, align 4
47   unreachable
49 cleanup:                                          ; preds = %while.end, %cond.end118
50   ret void