Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Transforms / SCCP / solve-after-each-resolving-undefs-for-function.ll
blob130a96994a32fd2b5dd620149046e72de562590b
1 ; RUN: opt < %s -passes=ipsccp -S | FileCheck %s
3 ; CHECK-LABEL: @testf(
4 ; CHECK:         ret i32 undef
6 define internal i32 @testf(i1 %c) {
7 entry:
8   br i1 %c, label %if.cond, label %if.end
10 if.cond:
11   br i1 undef, label %if.then, label %if.end
13 if.then:                                          ; preds = %entry, %if.then
14   ret i32 11
16 if.end:                                          ; preds = %if.then1, %entry
17   ret i32 10
20 ; CHECK-LABEL: @test1(
21 ; CHECK:         ret i32 undef
23 define internal i32 @test1(i1 %c) {
24 entry:
25   br label %if.then
27 if.then:                                          ; preds = %entry, %if.then
28   %call = call i32 @testf(i1 %c)
29   %res = icmp eq i32 %call, 10
30   br i1 %res, label %ret1, label %ret2
32 ret1:                                           ; preds = %if.then, %entry
33   ret i32 99
35 ret2:                                           ; preds = %if.then, %entry
36   ret i32 0
39 ; CHECK-LABEL: @main(
40 ; CHECK-NEXT:    %res = call i32 @test1(
41 ; CHECK-NEXT:    ret i32 99
43 define i32 @main(i1 %c) {
44   %res = call i32 @test1(i1 %c)
45   ret i32 %res