https://github.com/nikic commented: Reasoning about uses of F is only going to work if the function has local linkage. hasAddressTaken() does not take into account potential uses in other modules. https://github.com/llvm/llvm-project/pull/139943