1; RUN: opt -S -passes=hotcoldsplit -hotcoldsplit-threshold=0 < %s | FileCheck %s 2 3target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" 4target triple = "x86_64-apple-macosx10.14.0" 5 6; CHECK-LABEL: define {{.*}}@foo( 7; CHECK: phi i32 [ 0, %entry ], [ %p.ce.reload, %codeRepl ] 8 9; CHECK-LABEL: define {{.*}}@foo.cold.1( 10; CHECK: call {{.*}}@sink 11; CHECK: %p.ce = phi i32 [ 1, %coldbb ], [ 3, %coldbb2 ] 12; CHECK-NEXT: store i32 %p.ce, ptr %p.ce.out 13 14define void @foo(i32 %cond, i1 %arg) { 15entry: 16 %tobool = icmp eq i32 %cond, 0 17 br i1 %tobool, label %if.end, label %coldbb 18 19coldbb: 20 call void @sink() 21 call void @sideeffect() 22 br i1 %arg, label %if.end, label %coldbb2 23 24coldbb2: 25 br label %if.end 26 27if.end: 28 %p = phi i32 [0, %entry], [1, %coldbb], [3, %coldbb2] 29 ret void 30} 31 32declare void @sink() cold 33 34declare void @sideeffect() 35