; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -S -passes=ipsccp < %s | FileCheck %s declare void @foo() declare void @goo() declare void @patatino() define void @test1(i32 %t) { ; CHECK-LABEL: @test1( ; CHECK-NEXT: [[CHOICE:%.*]] = icmp eq i32 undef, -1 ; CHECK-NEXT: switch i1 [[CHOICE]], label [[FIRST:%.*]] [ ; CHECK-NEXT: i1 false, label [[SECOND:%.*]] ; CHECK-NEXT: i1 true, label [[THIRD:%.*]] ; CHECK-NEXT: ] ; CHECK: first: ; CHECK-NEXT: call void @foo() ; CHECK-NEXT: ret void ; CHECK: second: ; CHECK-NEXT: call void @goo() ; CHECK-NEXT: ret void ; CHECK: third: ; CHECK-NEXT: call void @patatino() ; CHECK-NEXT: ret void ; %choice = icmp eq i32 undef, -1 switch i1 %choice, label %first [i1 0, label %second i1 1, label %third] first: call void @foo() ret void second: call void @goo() ret void third: call void @patatino() ret void }