1; Check that the call doesn't get removed even if 2; it has no uses. It could have side-effects. 3; RUN: opt -loop-unswitch -enable-new-pm=0 -S %s | FileCheck %s 4; RUN: opt -loop-unswitch -enable-new-pm=0 -enable-mssa-loop-dependency=true -verify-memoryssa -S %s | FileCheck %s 5 6; CHECK-LABEL: @tinky 7define i32 @tinkywinky(i8 %patatino) { 8 %cmp1 = icmp slt i8 %patatino, 5 9 br label %body 10body: 11 %i = select i1 %cmp1, i8 6, i8 undef 12 br i1 true, label %body, label %end 13end: 14 %split = phi i8 [ %i, %body ] 15 %conv4 = sext i8 %split to i32 16; CHECK: tail call fastcc i32 @fn5( 17 %call = tail call fastcc i32 @fn5(i32 %conv4) 18 ret i32 0 19} 20declare fastcc i32 @fn5(i32 returned) unnamed_addr 21