https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69656
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- More or less the same, there can be differences though. Anyway, sanopt pass indeed will add huge amount of basic blocks (for every thing that needs to be sanitized some condition check, and conditional call); before sanopt we intentionally keep it many of the most common checks in the form of internal calls without the need for extra basic blocks.