https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85627
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed| |2018-05-03 Version|unknown |8.1.1 Target Milestone|--- |6.5 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- So one issue is the complex libcalls are ECF_NOTHROW. That's not really expected with -fnon-call-exceptions. Fix required to build_common_builtin_nodes, but it would really need to be done per function given -fnon-call-exceptions is per function. I guess just removing ECF_NOTHROW is good enough. Then the issue is of course the loop over BBs in tree_lower_complex () does not expect any CFG changes (like purging dead EH edges). We could delay this and/or deal with BASIC_BLOCK_FOR_FN returning NULL for removed BBs. Another issue is - after your patch - that we possibly miss some stmts if you start to split blocks. That's already done by expand_complex_div_wide as well so there's a pre-existing issue here.