58 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -passes=hotcoldsplit -hotcoldsplit-threshold=0 -S < %s | FileCheck %s3target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-apple-macosx10.14.0"5 6@G = external dso_local global i32, align 47 8define void @foo(i32) {9; CHECK-LABEL: @foo(10; CHECK-NEXT: [[TMP2:%.*]] = icmp eq i32 [[TMP0:%.*]], 011; CHECK-NEXT: tail call void @_Z10sideeffectv()12; CHECK-NEXT: br i1 [[TMP2]], label [[CODEREPL:%.*]], label [[EXIT:%.*]]13; CHECK: codeRepl:14; CHECK-NEXT: call void @foo.cold.1() #[[ATTR2:[0-9]+]]15; CHECK-NEXT: unreachable16; CHECK: exit:17; CHECK-NEXT: ret void18;19 %2 = icmp eq i32 %0, 020 tail call void @_Z10sideeffectv()21 br i1 %2, label %sink, label %exit22 23sink:24 tail call void @_Z10sideeffectv()25 call void @llvm.trap()26 unreachable27 28exit:29 ret void30}31 32define void @bar(i32) {33; CHECK-LABEL: @bar(34; CHECK-NEXT: [[TMP2:%.*]] = icmp eq i32 [[TMP0:%.*]], 035; CHECK-NEXT: tail call void @_Z10sideeffectv()36; CHECK-NEXT: br i1 [[TMP2]], label [[CODEREPL:%.*]], label [[EXIT:%.*]]37; CHECK: codeRepl:38; CHECK-NEXT: call void @bar.cold.1() #[[ATTR2]]39; CHECK-NEXT: unreachable40; CHECK: exit:41; CHECK-NEXT: ret void42;43 %2 = icmp eq i32 %0, 044 tail call void @_Z10sideeffectv()45 br i1 %2, label %sink, label %exit46 47sink:48 tail call void @_Z10sideeffectv()49 call void @llvm.trap()50 unreachable51 52exit:53 ret void54}55 56declare void @llvm.trap() noreturn cold memory(inaccessiblemem: write)57declare void @_Z10sideeffectv()58