13a5f8a3eSHongtao Yu; REQUIRES: x86_64-linux 21cb47a06SHongtao Yu; RUN: llc -mtriple=x86_64-- -stop-after=peephole-opt -o - %s | FileCheck %s 31cb47a06SHongtao Yu 425450788SNikita Popovdefine internal i32 @arc_compare(i1 %c) { 51cb47a06SHongtao Yuentry: 60271ae65SFangrui Song %0 = load i64, ptr undef, align 8 725450788SNikita Popov br i1 %c, label %return, label %if.end 81cb47a06SHongtao Yu 91cb47a06SHongtao Yuif.end: ; preds = %entry 101cb47a06SHongtao Yu; Chek a register copy has been sinked into the compare instruction. 111cb47a06SHongtao Yu; CHECK: %[[#REG:]]:gr64 = IMPLICIT_DEF 121cb47a06SHongtao Yu; CHECK-NOT: %[[#]]:gr64 = MOV64rm %[[#REG]] 131cb47a06SHongtao Yu; CHECK: PSEUDO_PROBE 5116412291814990879, 3, 0, 0 14*e6b85c30SSimon Pilgrim; CHECK: CMP64mi32 %[[#REG]], 1 151cb47a06SHongtao Yu call void @llvm.pseudoprobe(i64 5116412291814990879, i64 3, i32 0, i64 -1) 16*e6b85c30SSimon Pilgrim %cmp4 = icmp slt i64 %0, 0 171cb47a06SHongtao Yu br i1 %cmp4, label %return, label %if.end6 181cb47a06SHongtao Yu 191cb47a06SHongtao Yuif.end6: ; preds = %if.end 201cb47a06SHongtao Yu call void @llvm.pseudoprobe(i64 5116412291814990879, i64 5, i32 0, i64 -1) 211cb47a06SHongtao Yu br label %return 221cb47a06SHongtao Yu 231cb47a06SHongtao Yureturn: ; preds = %if.end6, %if.end, %entry 241cb47a06SHongtao Yu ret i32 undef 251cb47a06SHongtao Yu} 261cb47a06SHongtao Yu 271cb47a06SHongtao Yu; Function Attrs: inaccessiblememonly nounwind willreturn 281cb47a06SHongtao Yudeclare void @llvm.pseudoprobe(i64, i64, i32, i64) #0 291cb47a06SHongtao Yu 301cb47a06SHongtao Yuattributes #0 = { inaccessiblememonly nounwind willreturn } 31