On Aug 22, 2021, Jan Hubicka <hubi...@ucw.cz> wrote: > OK, thanks for looking into this issue!
Thanks, I've finally installed it in the trunk. > It seems that analye_stmt indeed does not skip debug stmts. It is very > odd we got so far without hitting build difference. Indeed. That got me thinking... The comments state: If the statement cannot be analyzed (for any reason), the entire function cannot be analyzed by modref. but the implementation also tests, for every statement: || ((!summary || !summary->useful_p (ecf_flags, false)) && (!summary_lto || !summary_lto->useful_p (ecf_flags, false)))) which means that, if the first stmt of a block doesn't add useful information to the summary, we give up. Was this really the intent? -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>