; RUN: opt -hotcoldsplit -S < %s | FileCheck %s | |
; Do not outline calls to @llvm.eh.typeid.for. See llvm.org/PR39545. | |
@_ZTIi = external constant i8* | |
; CHECK-LABEL: @fun | |
; CHECK-NOT: call {{.*}}@fun.cold.1 | |
define void @fun() { | |
entry: | |
br i1 undef, label %if.then, label %if.else | |
if.then: | |
ret void | |
if.else: | |
%t = call i32 @llvm.eh.typeid.for(i8* bitcast (i8** @_ZTIi to i8*)) | |
call void @sink() | |
call void @sink() | |
call void @sink() | |
ret void | |
} | |
declare void @sink() cold | |
declare i32 @llvm.eh.typeid.for(i8*) |