diff --git a/bolt/src/DynoStats.cpp b/bolt/src/DynoStats.cpp index df7519c49dbf..51e49fa05103 100644 --- a/bolt/src/DynoStats.cpp +++ b/bolt/src/DynoStats.cpp @@ -222,8 +222,9 @@ DynoStats getDynoStats(const BinaryFunction &BF) { continue; } - // CTCs - if (BC.MIB->getConditionalTailCall(*CondBranch)) { + // CTCs: instruction annotations could be stripped, hence check the number + // of successors to identify conditional tail calls. + if (BB->succ_size() == 1) { if (BB->branch_info_begin() != BB->branch_info_end()) Stats[DynoStats::UNCOND_BRANCHES] += BB->branch_info_begin()->Count; continue;