1*c384b20bSArthur Eubanks; RUN: opt < %s -S -passes='early-cse<memssa>' | FileCheck %s 2098a0d8fSHongtao Yu 3098a0d8fSHongtao Yudefine i16 @f1() readonly { 4098a0d8fSHongtao Yu ret i16 0 5098a0d8fSHongtao Yu} 6098a0d8fSHongtao Yu 7098a0d8fSHongtao Yudeclare void @f2() 8098a0d8fSHongtao Yu 9098a0d8fSHongtao Yu; Check that EarlyCSE correctly handles pseudo probes that don't have 10098a0d8fSHongtao Yu; a MemoryAccess. 11098a0d8fSHongtao Yu 12098a0d8fSHongtao Yudefine void @f3() { 13098a0d8fSHongtao Yu; CHECK-LABEL: @f3( 14098a0d8fSHongtao Yu; CHECK-NEXT: [[CALL1:%.*]] = call i16 @f1() 15098a0d8fSHongtao Yu; CHECK-NEXT: call void @llvm.pseudoprobe 16098a0d8fSHongtao Yu; CHECK-NEXT: ret void 17098a0d8fSHongtao Yu; 18098a0d8fSHongtao Yu %call1 = call i16 @f1() 19098a0d8fSHongtao Yu call void @llvm.pseudoprobe(i64 6878943695821059507, i64 9, i32 0, i64 -1) 20098a0d8fSHongtao Yu %call2 = call i16 @f1() 21098a0d8fSHongtao Yu ret void 22098a0d8fSHongtao Yu} 23098a0d8fSHongtao Yu 24098a0d8fSHongtao Yu 25098a0d8fSHongtao Yu; Function Attrs: inaccessiblememonly nounwind willreturn 26098a0d8fSHongtao Yudeclare void @llvm.pseudoprobe(i64, i64, i32, i64) #0 27098a0d8fSHongtao Yu 28098a0d8fSHongtao Yuattributes #0 = { inaccessiblememonly nounwind willreturn }