https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89664
Bug ID: 89664 Summary: [8/9 Regression] ICE in free_bb, at tree-ssa-math-opts.c:522 Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Started with gcc-8 in combination with option -Ofast : $ cat z1.f90 subroutine s (x) real :: x call sub (x) end subroutine sub (x) real :: x, y logical :: a, b integer :: f1, f2, f3, f4 y = f1() a = .false. if ( f2() > f3() ) a = .true. b = .false. if ( f2() > f4() ) b = .true. if ( a ) then x = 1.0 else if ( b ) then x = 1.0/y**2 else x = 1.0/y - y**2 end if end $ gcc-7 -c z1.f90 -Ofast $ gcc-9-20190310 -c z1.f90 -O3 $ $ gcc-9-20190310 -c z1.f90 -Ofast during GIMPLE pass: recip z1.f90:1:0: 1 | subroutine s (x) | internal compiler error: Segmentation fault 0xb369df crash_signal ../../gcc/toplev.c:326 0xc638b9 free_bb ../../gcc/tree-ssa-math-opts.c:522 0xc66597 execute_cse_reciprocals_1 ../../gcc/tree-ssa-math-opts.c:846 0xc69e99 execute ../../gcc/tree-ssa-math-opts.c:956