atrosinenko wrote: @jacobbramley As far as I can see, one possible reason for some control flow not to be detected is that BOLT does not detect jump tables correctly on AArch64. When I tried to debug this some time ago, it looked to me like branch instructions related to jump tables are analyzed in [`AArch64MCPlusBuilder::analyzeIndirectBranchFragment`](https://github.com/llvm/llvm-project/blob/c42c91cde41bc403aaf733ebe3ef849861e08dde/bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp#L1237), but then some/all detected instructions are ignored. Furthermore, it looks like there are recent attempts to improve this, such as #132114.
That is, incomplete CFG information not necessarily indicates a bug in the binary, but it definitely indicates the *analysis* is less reliable for the entire function, thus reporting a warning. https://github.com/llvm/llvm-project/pull/136183 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits