1; RUN: opt -S -passes=hotcoldsplit -hotcoldsplit-threshold=-1 < %s 2>&1 | FileCheck %s 2 3; CHECK-LABEL: define {{.*}} @foo( 4; CHECK-NOT: llvm.assume 5; CHECK: call void @foo.cold.1() 6; CHECK: llvm.assume 7; CHECK-NEXT: ret void 8 9; CHECK-LABEL: define {{.*}} @foo.cold.1( 10; CHECK-NOT: llvm.assume 11; CHECK: call void @cold() 12; CHECK-NOT: llvm.assume 13; CHECK: } 14 15define void @foo(i1 %cond) { 16entry: 17 br i1 %cond, label %cold, label %cont 18 19cold: 20 call void @llvm.assume(i1 %cond) 21 call void @cold() 22 br label %cont 23 24cont: 25 %cmp = icmp eq i1 %cond, true 26 br i1 %cmp, label %exit1, label %exit2 27 28exit1: 29 call void @llvm.assume(i1 %cond) 30 ret void 31 32exit2: 33 ret void 34} 35 36declare void @llvm.assume(i1) 37 38declare void @cold() cold 39